Module: Lambdable

Extended by:
ActiveSupport::Concern
Defined in:
lib/lambdable.rb

Instance Method Summary collapse

Instance Method Details

#eventObject



28
29
30
# File 'lib/lambdable.rb', line 28

def event
  "#{model.class.name.underscore.upcase}_PROCESSED"
end

#messageObject



32
33
34
# File 'lib/lambdable.rb', line 32

def message
  ActiveModelSerializers::SerializableResource.new(model).to_json
end

#routing_keyObject



24
25
26
# File 'lib/lambdable.rb', line 24

def routing_key
  "apps.#{model.app_id}.media.#{model.class.name.underscore}.#{model.id}.processed"
end

#sqsObject



16
17
18
19
20
21
22
# File 'lib/lambdable.rb', line 16

def sqs
  if model.app_id
    tags.merge! 'x-amz-meta-process-sqs' => "events|#{routing_key}|#{message}|#{event}"
  else
    tags
  end
end

#tagsObject



4
5
6
# File 'lib/lambdable.rb', line 4

def tags
  @tags ||= { }
end

#type(*attrs) ⇒ Object



12
13
14
# File 'lib/lambdable.rb', line 12

def type(*attrs)
  tags.merge! 'x-amz-meta-process-image-type' => attrs.join(';')
end

#version(*attrs) ⇒ Object



8
9
10
# File 'lib/lambdable.rb', line 8

def version(*attrs)
  tags.merge! 'x-amz-meta-process-size-versions' => attrs.join(';')
end