class DynApiGen::Request
Public Class Methods
new(**kwargs)
click to toggle source
# File lib/dyn_api_gen/request.rb, line 5 def initialize(**kwargs) @name, @verb, @path, @parameters = kwargs.fetch_values(:name, :verb, :path, :parameters) @with_params = {} @with_headers = {} create_with_methods! fill_default_headers fill_default_params end
Public Instance Methods
with_headers(new_headers)
click to toggle source
Setthe headers to be used. It merges whatever is defined
# File lib/dyn_api_gen/request.rb, line 18 def with_headers(new_headers) @with_headers.merge!(new_headers) self end
Private Instance Methods
create_with_methods!()
click to toggle source
This method will generate the `with_*` instance methods dynamically, to set the params needed by this request.
# File lib/dyn_api_gen/request.rb, line 27 def create_with_methods! @parameters.reject(&:header?).each do |parameter| self.class.define_method(:"with_#{parameter.to_method_name}") do |value| @with_params[parameter.name] = value self end end end
fill_default_headers()
click to toggle source
# File lib/dyn_api_gen/request.rb, line 36 def fill_default_headers @parameters.select { |p| p.header? && p.default }.each do |parameter| @with_headers[parameter.name] = parameter.default end end
fill_default_params()
click to toggle source
# File lib/dyn_api_gen/request.rb, line 42 def fill_default_params @parameters.select { |p| !p.header? && p.default }.each do |parameter| @with_params[parameter.name] = parameter.default end end