class Tripletexer::Endpoints::AbstractEndpoint

Attributes

api_client[R]

Public Class Methods

new(api_client) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 6
def initialize(api_client)
  @api_client = api_client
end

Private Instance Methods

create_entities(path, body, params = {}) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 42
def create_entities(path, body, params = {})
  send_data(:post, path, body, params)['values']
end
create_entity(path, body, params = {}) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 34
def create_entity(path, body, params = {})
  send_data(:post, path, body, params)['value']
end
find_entities(path, params, &block) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 14
def find_entities(path, params, &block)
  Enumerator.new do |enum_yielder|
    request_params = params.dup
    loop do
      result = api_client.get(path, request_params, &block)

      result['values'].each do |value|
        enum_yielder.yield(value)
      end

      request_params['from'] = result['from'] + result['count']
      break if result['fullResultSize'] <= request_params['from']
    end
  end
end
find_entity(path, params = {}) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 30
def find_entity(path, params = {})
  api_client.get(path, params)['value']
end
send_data(method, path, body, params) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 50
def send_data(method, path, body, params)
  api_client.public_send(method, path, params) do |req|
    req.body = ::Tripletexer::FormatHelpers.normalize_body(body)
  end
end
update_entities(path, body, params = {}) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 46
def update_entities(path, body, params = {})
  send_data(:put, path, body, params)['values']
end
update_entity(path, body, params = {}) click to toggle source
# File lib/tripletexer/endpoints/abstract_endpoint.rb, line 38
def update_entity(path, body, params = {})
  send_data(:put, path, body, params)['value']
end