Method: DocumentMethods#get_documents_by_content_provider

Defined in:
lib/wordnik/resource_modules/document.rb

#get_documents_by_content_provider(provider, *args) ⇒ Object

Fetches Document objects by Content Provider code.



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/wordnik/resource_modules/document.rb', line 62

def get_documents_by_content_provider(provider, *args)
  http_method = :get
  path = '/document/provider/{provider}'
  path.sub!('{provider}', provider.to_s)

  # Ruby turns all key-value arguments at the end into a single hash
  # e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
  # becomes {:limit => 10, :part_of_speech => 'verb'}
  last_arg = args.pop if args.last.is_a?(Hash)
  last_arg = args.pop if args.last.is_a?(Array)
  last_arg ||= {}

  # Look for a kwarg called :request_only, whose presence indicates
  # that we want the request itself back, not the response body
  if last_arg.is_a?(Hash) && last_arg[:request_only].present?
    request_only = true
    last_arg.delete(:request_only)
  end

  params = last_arg
  body ||= {}
  request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
  request_only ? request : request.response.body
end