class NexosisApi::Client
Primary entry point to working with Nexosis API
class to operate on views endpoint in Nexosis API
class to operate on vocabulary endpoint in Nexosis API
Public Class Methods
new(options = {})
click to toggle source
# File lib/nexosis_api/client.rb, line 63 def initialize(options = {}) raise ArgumentError, 'api_key was not defined' unless options[:api_key].nil? == false @api_key = options[:api_key] self.class.base_uri options[:base_uri] unless options[:base_uri].nil? @headers = { 'api-key' => @api_key, 'Content-Type' => 'application/json', 'User-Agent' => 'Nexosis-Ruby-API-Client/2.1' } @options = { headers: @headers, format: :json } end
Public Instance Methods
api_key(value)
click to toggle source
Provide access to read or modify the api key @return [String] @since 2.0.0
# File lib/nexosis_api/client.rb, line 84 def api_key(value) @api_key = value unless value.nil? @headers['api-key'] = @api_key @api_key end
get_account_quotas()
click to toggle source
Gets the quota stats for the account
@return [Hash] a hash of quota values and current values
# File lib/nexosis_api/client.rb, line 75 def get_account_quotas() session_url = '/sessions?page=0&pageSize=1' response = self.class.get(session_url, @options) response.headers.select { |k, _v| k.to_s.start_with? 'nexosis-account' } end
Private Instance Methods
array_query_normalizer(query_set)
click to toggle source
# File lib/nexosis_api/client.rb, line 127 def array_query_normalizer(query_set) query_set.map { |key, value| value.map { |v| "#{key}=#{v}" } }.join('&') end
create_query(page_number, page_size, options = {})
click to toggle source
@private
# File lib/nexosis_api/client.rb, line 114 def create_query(page_number, page_size, options = {}) options.store(:page_number, page_number) options.store(:page_size, page_size) query = { 'page' => [page_number], 'pageSize' => [page_size] } query['startDate'] = [options[:start_date].iso8601.gsub(/\+/,'%2B')] unless options[:start_date].nil? query['endDate'] = [options[:end_date].iso8601.gsub(/\+/,'%2B')] unless options[:end_date].nil? query['include'] = options[:include] unless options[:include].nil? query end
process_csv_to_s(csv)
click to toggle source
@private
# File lib/nexosis_api/client.rb, line 93 def process_csv_to_s csv content = '' if(csv.is_a?(CSV)) csv.each do |row| if(csv.headers.nil?) # not using row.to_csv because it uses non-compliant '\n' newline content.concat(row.join(',')).concat("\r\n") else content.concat(row.fields.join(',')).concat("\r\n") end end if(csv.headers.nil? == false) content.prepend(csv.headers.join(',').concat("\r\n")) unless csv.headers.nil? end else content = csv end content end