class DisqusApi::Namespace
Attributes
api[R]
name[R]
specification[R]
Public Class Methods
new(api, name)
click to toggle source
@param [Api] api @param [String, Symbol] name
# File lib/disqus_api/namespace.rb, line 7 def initialize(api, name) @api = api @name = name @specification = @api.specifications[@name] @specification or raise(ArgumentError, "No such namespace <#@name>") end
Public Instance Methods
build_action_request(action, arguments = {})
click to toggle source
@param [String, Symbol] action @param [Hash] arguments Action params @return [Request]
# File lib/disqus_api/namespace.rb, line 17 def build_action_request(action, arguments = {}) Request.new(api, name, action, arguments) end
method_missing(method_name, *args)
click to toggle source
DisqusApi.v3.users.---->>[details]
<<—–
Forwards all API calls under a specific namespace
# File lib/disqus_api/namespace.rb, line 32 def method_missing(method_name, *args) if specification.has_key?(method_name.to_s) request_action(method_name, *args) else raise NoMethodError, "No action #{method_name} registered for #@name namespace" end end
request_action(action, arguments = {})
click to toggle source
@param [String, Symbol, Hash] action @param [Hash] arguments @return [Hash] response
# File lib/disqus_api/namespace.rb, line 24 def request_action(action, arguments = {}) build_action_request(action, arguments).response end
Also aliased as: perform_action
respond_to?(method_name, include_private = false)
click to toggle source
Calls superclass method
# File lib/disqus_api/namespace.rb, line 40 def respond_to?(method_name, include_private = false) specification[method_name.to_s] || super end