class Nazrin::DocumentClient
Attributes
client[R]
Public Class Methods
new(config=Nazrin.config)
click to toggle source
# File lib/nazrin/document_client.rb, line 7 def initialize(config=Nazrin.config) @client = Aws::CloudSearchDomain::Client.new( endpoint: config.document_endpoint, region: config.region, access_key_id: config.access_key_id, secret_access_key: config.secret_access_key, logger: config.logger) end
Public Instance Methods
add_document(id, field_data)
click to toggle source
# File lib/nazrin/document_client.rb, line 16 def add_document(id, field_data) ActiveSupport::Deprecation.warn 'config.debug_mode is deprecated. Use config.mode = \'sandbox\' instead.' and return nil if Nazrin.config.debug_mode return nil if Nazrin.config.mode == 'sandbox' client.upload_documents( documents: [ { type: 'add', id: id, fields: field_data } ].to_json, content_type: 'application/json') end
batch(operations)
click to toggle source
# File lib/nazrin/document_client.rb, line 43 def batch(operations) ActiveSupport::Deprecation.warn 'config.debug_mode is deprecated. Use config.mode = \'sandbox\' instead.' and return nil if Nazrin.config.debug_mode return nil if Nazrin.config.mode == 'sandbox' documents = operations.each_with_object([]) do |(type, tuple), arr| case type.to_sym when :add tuple.each do |id, field_data| arr.push( type: 'add', id: id, fields: field_data ) end when :delete tuple.each do |id| arr.push( type: 'delete', id: id ) end else raise( InvalidBatchOperationError, "`#{type}` is not a valid batch operation" ) end end client.upload_documents( documents: documents.to_json, content_type: 'application/json' ) end
delete_document(id)
click to toggle source
# File lib/nazrin/document_client.rb, line 30 def delete_document(id) ActiveSupport::Deprecation.warn 'config.debug_mode is deprecated. Use config.mode = \'sandbox\' instead.' and return nil if Nazrin.config.debug_mode return nil if Nazrin.config.mode == 'sandbox' client.upload_documents( documents: [ { type: 'delete', id: id } ].to_json, content_type: 'application/json') end