class NationBuilder::Method
Attributes
description[R]
http_method[R]
uri[R]
Public Class Methods
new(name, http_method, uri, description)
click to toggle source
# File lib/nationbuilder/method.rb, line 5 def initialize(name, http_method, uri, description) @name = name @http_method = http_method.downcase.to_sym @uri = uri @description = description @name_to_parameter = {} end
Public Instance Methods
method_args(args)
click to toggle source
# File lib/nationbuilder/method.rb, line 32 def method_args(args) args.each_with_object({}) do |(k, v), a| a[k] = v if parameters.include?(k) end end
name()
click to toggle source
# File lib/nationbuilder/method.rb, line 21 def name @name.downcase.gsub(' ', '_').to_sym end
nonmethod_args(args)
click to toggle source
# File lib/nationbuilder/method.rb, line 38 def nonmethod_args(args) args.each_with_object({}) do |(k, v), a| a[k] = v unless parameters.include?(k) end end
parameters()
click to toggle source
# File lib/nationbuilder/method.rb, line 17 def parameters @name_to_parameter.keys end
register_parameter(parameter)
click to toggle source
# File lib/nationbuilder/method.rb, line 13 def register_parameter(parameter) @name_to_parameter[parameter.name] = parameter end
validate_args(args)
click to toggle source
# File lib/nationbuilder/method.rb, line 25 def validate_args(args) if Set.new(args.keys) != Set.new(parameters) raise ArgumentError .new("Required args: #{parameters.join(', ')}. Provided args: #{args.keys.join(', ')}") end end