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
perform_action(action, arguments = {})
Alias for: request_action
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