# File lib/apipie_bindings/action.rb, line 17 def apidoc methods = @api.apidoc[:docs][:resources][@resource][:methods].select do |action| action[:name].to_sym == @name end methods.first end
# File lib/apipie_bindings/action.rb, line 13 def call(params={}, headers={}, options={}) @api.call(@resource, @name, params, headers, options) end
# File lib/apipie_bindings/action.rb, line 41 def examples apidoc[:examples].map do |example| ApipieBindings::Example.parse(example) end end
# File lib/apipie_bindings/action.rb, line 47 def find_route(params={}) sorted_routes = routes.sort_by { |r| [-1 * r.params_in_path.count, r.path] } suitable_route = sorted_routes.find do |route| route.params_in_path.all? { |path_param| params.keys.map(&:to_s).include?(path_param) } end suitable_route ||= sorted_routes.last return suitable_route end
# File lib/apipie_bindings/action.rb, line 31 def params if apidoc apidoc[:params].map do |param| ApipieBindings::Param.new(param) end else [] end end
# File lib/apipie_bindings/action.rb, line 24 def routes apidoc[:apis].map do |api| ApipieBindings::Route.new( api[:api_url], api[:http_method], api[:short_description]) end end
# File lib/apipie_bindings/action.rb, line 71 def to_s "<Action :#{@name}>" end
# File lib/apipie_bindings/action.rb, line 58 def validate!(params) # return unless params.is_a?(Hash) # invalid_keys = params.keys.map(&:to_s) - (rules.is_a?(Hash) ? rules.keys : rules) # raise ArgumentError, "Invalid keys: #{invalid_keys.join(", ")}" unless invalid_keys.empty? # if rules.is_a? Hash # rules.each do |key, sub_keys| # validate_params!(params[key], sub_keys) if params[key] # end # end end
Generated with the Darkfish Rdoc Generator 2.