Class: ShadoPuppet::Message

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/shado_puppet/message.rb

Constant Summary collapse

MAXIMUM_CONTENT_LENGTH =
160

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.column(name, type, options = {}) ⇒ Object



11
12
13
14
# File 'lib/shado_puppet/message.rb', line 11

def self.column(name, type, options = {})
  options.reverse_merge(:null => true, :default => nil)
  columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, options[:default], type.to_s, options[:null])
end

.columnsObject



7
8
9
# File 'lib/shado_puppet/message.rb', line 7

def self.columns
  @columns ||= []
end

.uriObject



30
31
32
# File 'lib/shado_puppet/message.rb', line 30

def self.uri
  @uri ||= URI.parse(Configuration.site + "gateway/sms")
end

Instance Method Details

#device_address=(value) ⇒ Object



49
50
51
52
# File 'lib/shado_puppet/message.rb', line 49

def device_address=(value)
  number = value.gsub(/\D/, "").sub(/^([^1])/, '1\1')
  write_attribute(:device_address, number.blank? ? nil : number)
end

#initialize_with_configuration(attrs = nil) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/shado_puppet/message.rb', line 34

def initialize_with_configuration(attrs = nil)
  initialize_without_configuration(attrs) do
    attribute_names = attrs ? attrs.keys.map(&:to_sym) : []
    default_attribute_values = Configuration.message.except(*attribute_names)

    default_attribute_values.each do |attribute, value|
      __send__("#{attribute}=", value)
    end

    yield self if block_given?
  end
end