class MultipleMan::PayloadGenerator

Attributes

operation[RW]
options[RW]
record[RW]

Public Class Methods

new(record, operation = :create, options = {}) click to toggle source
# File lib/multiple_man/payload_generator.rb, line 3
def initialize(record, operation = :create, options = {})
  self.record = record
  self.operation = operation.to_s
  self.options = options
end

Public Instance Methods

data() click to toggle source
# File lib/multiple_man/payload_generator.rb, line 26
def data
  if options[:with]
    options[:with].new(record).as_json
  else
    AttributeExtractor.new(record, options[:fields]).as_json
  end
end
id() click to toggle source
# File lib/multiple_man/payload_generator.rb, line 22
def id
  Identity.build(record, options).value
end
payload() click to toggle source
# File lib/multiple_man/payload_generator.rb, line 9
def payload
  {
    type: type,
    operation: operation,
    id: id,
    data: data
  }.to_json
end
type() click to toggle source
# File lib/multiple_man/payload_generator.rb, line 18
def type
  options[:as] || record.class.name
end