diff --git a/modules/swagger-codegen/src/main/resources/ruby/api.mustache b/modules/swagger-codegen/src/main/resources/ruby/api.mustache index ef6aee911e2..a45c3455859 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/api.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/api.mustache @@ -5,10 +5,6 @@ class {{classname}} basePath = "{{basePath}}" # apiInvoker = APIInvoker - def self.escapeString(string) - URI.encode(string.to_s) - end - {{#operation}} {{newline}} # {{summary}} @@ -34,7 +30,7 @@ class {{classname}} }.merge(opts) #resource path - path = "{{path}}".sub('{format}','json'){{#pathParams}}.sub('{' + '{{baseName}}' + '}', escapeString({{paramName}})) + path = "{{path}}".sub('{format}','json'){{#pathParams}}.sub('{' + '{{baseName}}' + '}', {{paramName}}.to_s) {{/pathParams}}{{newline}} # pull querystring keys from options diff --git a/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache b/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache index fb1c57298bb..fbd70eeb9f5 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache @@ -74,11 +74,6 @@ module Swagger def interpreted_path p = self.path.dup - # Fill in the path params - self.params.each_pair do |key, value| - p = p.gsub("{#{key}}", value.to_s) - end - # Stick a .{format} placeholder into the path if there isn't # one already or an actual format like json or xml # e.g. /words/blah => /words.{format}/blah diff --git a/samples/client/petstore/ruby/lib/pet_api.rb b/samples/client/petstore/ruby/lib/pet_api.rb index 3adc80d9a31..8bb98d4efb1 100644 --- a/samples/client/petstore/ruby/lib/pet_api.rb +++ b/samples/client/petstore/ruby/lib/pet_api.rb @@ -4,10 +4,6 @@ class PetApi basePath = "http://petstore.swagger.io/v2" # apiInvoker = APIInvoker - def self.escapeString(string) - URI.encode(string.to_s) - end - # Update an existing pet # @@ -266,7 +262,7 @@ class PetApi }.merge(opts) #resource path - path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', escapeString(pet_id)) + path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s) # pull querystring keys from options @@ -321,7 +317,7 @@ class PetApi }.merge(opts) #resource path - path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', escapeString(pet_id)) + path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s) # pull querystring keys from options @@ -375,7 +371,7 @@ class PetApi }.merge(opts) #resource path - path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', escapeString(pet_id)) + path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s) # pull querystring keys from options @@ -429,7 +425,7 @@ class PetApi }.merge(opts) #resource path - path = "/pet/{petId}/uploadImage".sub('{format}','json').sub('{' + 'petId' + '}', escapeString(pet_id)) + path = "/pet/{petId}/uploadImage".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s) # pull querystring keys from options diff --git a/samples/client/petstore/ruby/lib/store_api.rb b/samples/client/petstore/ruby/lib/store_api.rb index bbf48db1edf..bb1ece99f3c 100644 --- a/samples/client/petstore/ruby/lib/store_api.rb +++ b/samples/client/petstore/ruby/lib/store_api.rb @@ -4,10 +4,6 @@ class StoreApi basePath = "http://petstore.swagger.io/v2" # apiInvoker = APIInvoker - def self.escapeString(string) - URI.encode(string.to_s) - end - # Returns pet inventories by status # Returns a map of status codes to quantities @@ -145,7 +141,7 @@ class StoreApi }.merge(opts) #resource path - path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', escapeString(order_id)) + path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', order_id.to_s) # pull querystring keys from options @@ -196,7 +192,7 @@ class StoreApi }.merge(opts) #resource path - path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', escapeString(order_id)) + path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', order_id.to_s) # pull querystring keys from options diff --git a/samples/client/petstore/ruby/lib/swagger/request.rb b/samples/client/petstore/ruby/lib/swagger/request.rb index fb1c57298bb..fbd70eeb9f5 100644 --- a/samples/client/petstore/ruby/lib/swagger/request.rb +++ b/samples/client/petstore/ruby/lib/swagger/request.rb @@ -74,11 +74,6 @@ module Swagger def interpreted_path p = self.path.dup - # Fill in the path params - self.params.each_pair do |key, value| - p = p.gsub("{#{key}}", value.to_s) - end - # Stick a .{format} placeholder into the path if there isn't # one already or an actual format like json or xml # e.g. /words/blah => /words.{format}/blah diff --git a/samples/client/petstore/ruby/lib/user_api.rb b/samples/client/petstore/ruby/lib/user_api.rb index 6de9535f1af..90b12ef1308 100644 --- a/samples/client/petstore/ruby/lib/user_api.rb +++ b/samples/client/petstore/ruby/lib/user_api.rb @@ -4,10 +4,6 @@ class UserApi basePath = "http://petstore.swagger.io/v2" # apiInvoker = APIInvoker - def self.escapeString(string) - URI.encode(string.to_s) - end - # Create user # This can only be done by the logged in user. @@ -332,7 +328,7 @@ class UserApi }.merge(opts) #resource path - path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', escapeString(username)) + path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s) # pull querystring keys from options @@ -385,7 +381,7 @@ class UserApi }.merge(opts) #resource path - path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', escapeString(username)) + path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s) # pull querystring keys from options @@ -455,7 +451,7 @@ class UserApi }.merge(opts) #resource path - path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', escapeString(username)) + path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s) # pull querystring keys from options diff --git a/samples/client/petstore/ruby/spec/pet_spec.rb b/samples/client/petstore/ruby/spec/pet_spec.rb index 175cb01681e..2a715f8b8eb 100644 --- a/samples/client/petstore/ruby/spec/pet_spec.rb +++ b/samples/client/petstore/ruby/spec/pet_spec.rb @@ -65,7 +65,7 @@ describe "Store" do end it "should fetch an order" do - item = StoreApi.getOrderById(2) - item.id.should == 2 + item = StoreApi.getOrderById(5) + item.id.should == 5 end -end \ No newline at end of file +end diff --git a/samples/client/petstore/ruby/spec/request_spec.rb b/samples/client/petstore/ruby/spec/request_spec.rb index 015f04c7db4..61389eddc9c 100644 --- a/samples/client/petstore/ruby/spec/request_spec.rb +++ b/samples/client/petstore/ruby/spec/request_spec.rb @@ -73,20 +73,18 @@ describe Swagger::Request do describe "path" do it "accounts for a total absence of format in the path string" do - @request = Swagger::Request.new(:get, "/word.{format}/{word}/entries", @default_params.merge({ + @request = Swagger::Request.new(:get, "/word.{format}/cat/entries", @default_params.merge({ :format => "xml", :params => { - :word => "cat" } })) @request.url.should == "http://petstore.swagger.io/v2/word.xml/cat/entries" end - it "does string substitution on path params" do - @request = Swagger::Request.new(:get, "/word.{format}/{word}/entries", @default_params.merge({ + it "does string substitution (format) on path params" do + @request = Swagger::Request.new(:get, "/word.{format}/cat/entries", @default_params.merge({ :format => "xml", :params => { - :word => "cat" } })) @request.url.should == "http://petstore.swagger.io/v2/word.xml/cat/entries" @@ -123,7 +121,7 @@ describe Swagger::Request do end it "URI encodes the path" do - @request = Swagger::Request.new(:get, "word.{format}/{word}/definitions", @default_params.merge({ + @request = Swagger::Request.new(:get, "word.{format}/bill gates/definitions", @default_params.merge({ :params => { :word => "bill gates" } @@ -200,4 +198,4 @@ describe Swagger::Request do end -end \ No newline at end of file +end diff --git a/samples/client/petstore/ruby/spec/store_spec.rb b/samples/client/petstore/ruby/spec/store_spec.rb new file mode 100644 index 00000000000..0d3233ee558 --- /dev/null +++ b/samples/client/petstore/ruby/spec/store_spec.rb @@ -0,0 +1,16 @@ +require 'spec_helper' + +describe "Store" do + before do + Swagger.configure do |config| + config.api_key = 'special-key' + config.host = 'petstore.swagger.io' + config.base_path = '/v2' + end + end + + it "should fetch an order" do + item = StoreApi.getOrderById(5) + item.id.should == 5 + end +end