import Axios from 'axios'

class RailsRanger {
  constructor() {
    // Add config for hostname
    // Add config for headers
    // Add config for timeout
    // Add config for namespaces
    this.client = Axios.create({})
  }

  post(path, params) {
    return this.client.post(path, params)
  }

  get(path, pathParams, queryParams) {
    let processedPath = path

    pathParams.forEachWithIndex((paramName, paramValue) => {
      processedPath = path.gsub(':' + paramName, paramValue)
    })

    return this.client.get(processedPath, queryParams)
  }
}

@@ -58,134 +58,64 @@
 tor(
-) %7B%0A    // Add config for hostname%0A    // Add config for headers%0A    // Add config for timeout%0A    // Add config for namespace
+configs = %7B%7D) %7B%0A    // Falls back to Axios configuration
 s%0A  
@@ -143,18 +143,23 @@
 .create(
-%7B%7D
+configs
 )%0A  %7D%0A%0A 
@@ -233,36 +233,157 @@
 %0A%0A  
-get(path, pathParams, queryP
+//%0A  // Usage example:%0A  // %3E api.get('/blog_posts/:id', %7B id: 1, flag: true %7D)%0A  // Will generate:%0A  // %3E /blog_posts/1?flag=true%0A  //%0A  get(path, p
 aram
@@ -413,144 +413,366 @@
 ath 
+  
 = path%0A
-%0A
     
-pathParams.forEachWithIndex((paramName, paramValue) =%3E %7B%0A      processedPath = path.gsub(':' + paramName, paramValue)
+let processedParams = params%0A%0A    for (let key in params) %7B%0A      // Skipping inherited proprieties%0A      if (!params.hasOwnProperty(key)) %7B continue %7D%0A%0A      processedPath = path.replace(':' + key, params%5Bkey%5D)%0A%0A      // If the key was used in the path, it shouldn't be sent as%0A      // a query parameter%0A      delete processedParams%5Bkey%5D
 %0A    %7D
-)
 %0A%0A  
@@ -811,21 +811,25 @@
 edPath, 
-query
+processed
 Params)%0A
@@ -834,8 +834,37 @@
 )%0A  %7D%0A%7D%0A
+%0Aexport default RailsRanger%0A%0A

Implement the get method