module Aerosol::AWSModel

Public Class Methods

included(base) click to toggle source
# File lib/aerosol/aws_model.rb, line 2
def self.included(base)
  base.instance_eval do
    include Dockly::Util::DSL
    extend ClassMethods

    attr_accessor :from_aws
  end
end
new(hash={}, &block) click to toggle source
Calls superclass method
# File lib/aerosol/aws_model.rb, line 11
def initialize(hash={}, &block)
  self.from_aws = false
  super
end

Public Instance Methods

create() click to toggle source
# File lib/aerosol/aws_model.rb, line 24
def create
  raise '#create! must be defined to use #create' unless respond_to?(:create!)
  create! unless exists?
end
default_identifier() click to toggle source
# File lib/aerosol/aws_model.rb, line 20
def default_identifier
  "#{namespaced_name}-#{Aerosol::Util.git_sha}"
end
destroy() click to toggle source
# File lib/aerosol/aws_model.rb, line 29
def destroy
  raise '#destroy! must be defined to use #destroy' unless respond_to?(:destroy!)
  destroy! if exists?
end
exists?() click to toggle source
# File lib/aerosol/aws_model.rb, line 34
def exists?
  primary_value = send(self.class.primary_key)
  self.class.exists?(primary_value)
end
namespaced_name() click to toggle source
# File lib/aerosol/aws_model.rb, line 16
def namespaced_name
  Aerosol.namespace ? "#{Aerosol.namespace}-#{name}" : name.to_s
end