Method: CorpusMethods#process_text

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

#process_text(body, *args) ⇒ Object

Processes text input. Returns tagged and processed text based on the input string.



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/wordnik/resource_modules/corpus.rb', line 141

def process_text(body, *args)
  http_method = :post
  path = '/corpus/processText'

  # 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