module Monkeylearn::Extractors

Public Class Methods

build_endpoint(*args) click to toggle source
# File lib/monkeylearn/extractors.rb, line 15
def build_endpoint(*args)
  File.join('extractors', *args) + '/'
end
detail(module_id) click to toggle source
# File lib/monkeylearn/extractors.rb, line 65
def detail(module_id)
  request(:get, build_endpoint(module_id))
end
extract(module_id, data, options = {}) click to toggle source
# File lib/monkeylearn/extractors.rb, line 27
def extract(module_id, data, options = {})
  options[:batch_size] ||= Monkeylearn::Defaults.default_batch_size
  batch_size = options[:batch_size]
  validate_batch_size batch_size

  endpoint = build_endpoint(module_id, 'extract')

  if Monkeylearn.auto_batch
    responses = (0...data.length).step(batch_size).collect do |start_idx|
      sliced_data = {data: data.slice(start_idx, batch_size)}
      if options.key? :production_model
        sliced_data[:production_model] = options[:production_model]
      end
      request(:post, endpoint, sliced_data)
    end
    return Monkeylearn::MultiResponse.new(responses)
  else
    body = {data: data}
    if options.key? :production_model
        body[:production_model] = options[:production_model]
    end
    return request(:post, endpoint, body)
  end

end
list(options = {}) click to toggle source
# File lib/monkeylearn/extractors.rb, line 53
def list(options = {})
  if options.key?(:order_by)
    options[:order_by] = validate_order_by_param(options[:order_by])
  end
  query_params = {
    page: options[:page],
    per_page: options[:per_page],
    order_by: options[:order_by]
  }.delete_if { |k,v| v.nil? }
  request(:get, build_endpoint, nil, query_params)
end
validate_batch_size(batch_size) click to toggle source
# File lib/monkeylearn/extractors.rb, line 19
def validate_batch_size(batch_size)
  max_size = Monkeylearn::Defaults.max_batch_size
  if batch_size >  max_size
    raise MonkeylearnError, "The param batch_size is too big, max value is #{max_size}."
  end
  true
end