class Chewy::Index::Import::JournalBuilder
Public Class Methods
new(index, to_index: [], delete: [])
click to toggle source
# File lib/chewy/index/import/journal_builder.rb, line 5 def initialize(index, to_index: [], delete: []) @index = index @to_index = to_index @delete = delete end
Public Instance Methods
bulk_body()
click to toggle source
# File lib/chewy/index/import/journal_builder.rb, line 11 def bulk_body Chewy::Index::Import::BulkBuilder.new( Chewy::Stash::Journal, to_index: [ entries(:index, @to_index), entries(:delete, @delete) ].compact ).bulk_body.each do |item| item.values.first.merge!( _index: Chewy::Stash::Journal.index_name ) end end
Private Instance Methods
entries(action, objects)
click to toggle source
# File lib/chewy/index/import/journal_builder.rb, line 27 def entries(action, objects) return unless objects.present? { index_name: @index.derivable_name, action: action, references: identify(objects).map { |item| Base64.encode64(::Elasticsearch::API.serializer.dump(item)) }, created_at: Time.now.utc } end
identify(objects)
click to toggle source
# File lib/chewy/index/import/journal_builder.rb, line 38 def identify(objects) @index.adapter.identify(objects) end