class Storage::Algolia::Actions::Create
Attributes
model_name[R]
params[R]
Public Class Methods
new(model_name:, params:)
click to toggle source
# File lib/storage/algolia/actions/create.rb, line 11 def initialize(model_name:, params:) @model_name = model_name @params = params end
Public Instance Methods
process()
click to toggle source
# File lib/storage/algolia/actions/create.rb, line 16 def process raise Exception unless task.dig('objectID') normalize params.to_hash.merge( objectID: task.dig('objectID'), updatedAt: task.dig('updatedAt') ) end
Private Instance Methods
payload()
click to toggle source
# File lib/storage/algolia/actions/create.rb, line 31 def payload { objectID: SecureRandom.uuid }.merge(params) end
task()
click to toggle source
# File lib/storage/algolia/actions/create.rb, line 27 def task @task ||= index.save_object(payload) end
uuid()
click to toggle source
# File lib/storage/algolia/actions/create.rb, line 35 def uuid @uuid ||= ::SecureRandom.uuid end