class ApipieBindings::Resource
Attributes
name[R]
Public Class Methods
new(name, api)
click to toggle source
# File lib/apipie_bindings/resource.rb, line 7 def initialize(name, api) raise NameError.new("Resource '#{name}' does not exist in the API") unless api.apidoc[:docs][:resources].key?(name) @name = name @api = api end
Public Instance Methods
action(name)
click to toggle source
@param name [Symbol] action name @return [ApipieBindings::Action]
# File lib/apipie_bindings/resource.rb, line 50 def action(name) ApipieBindings::Action.new(@name, name, @api) end
actions()
click to toggle source
Get list of all actions for a resource
@return [Array<ApipieBindings::Action>]
# File lib/apipie_bindings/resource.rb, line 34 def actions apidoc[:methods].map { |a| action(a[:name].to_sym) } end
apidoc()
click to toggle source
Get API
documentation for a resource
@return [Hash]
# File lib/apipie_bindings/resource.rb, line 27 def apidoc @api.apidoc[:docs][:resources][@name] end
call(action, params={}, headers={}, options={})
click to toggle source
Execute an action on a resource
@param action [Symbol] @param params [Hash] @param headers [Hash] @param options [Hash] @return [Hash]
# File lib/apipie_bindings/resource.rb, line 20 def call(action, params={}, headers={}, options={}) @api.call(@name, action, params, headers, options) end
has_action?(name)
click to toggle source
Determine if resource has a particular action
@param name [Symbol] name of action to check @return [Bool]
# File lib/apipie_bindings/resource.rb, line 42 def has_action?(name) apidoc[:methods].any? { |action| action[:name].to_sym == name } end
inspect()
click to toggle source
Get string representation
@return [String] ApipieBindings::Resource
as a string @note same as to_s
method
# File lib/apipie_bindings/resource.rb, line 72 def inspect to_s end
singular_name()
click to toggle source
Get simiple string representation
@return [String] ApipieBindings::Resource
as a string
# File lib/apipie_bindings/resource.rb, line 57 def singular_name ApipieBindings::Inflector.singularize(@name.to_s) end
to_s()
click to toggle source
Get string representation
@return [String] ApipieBindings::Resource
as a string
# File lib/apipie_bindings/resource.rb, line 64 def to_s "<Resource :#{@name}>" end