Method: Mobitex::Message#initialize

Defined in:
lib/mobitex/message.rb

#initialize(*args, &block) ⇒ Message

Public: Initialize a new Message.

args - Hash of attributes of the message. block - An optional block that can be used to build a new message using DSL-like syntax.

Examples

message = Mobitex::Message.new(:to => '48123456789', :body => 'Hello!')

message = Mobitex::Message.new do
  to   '48123456789'
  body 'Hello!'
end

message = Mobitex::Message.new do |m|
  m.to   = '48123456789'
  m.body = 'Hello!'
end


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/mobitex/message.rb', line 53

def initialize(*args, &block)
  @delivery_handler = nil
  @delivery_method  = Mobitex.delivery_method.dup

  options = args.first.respond_to?(:each_pair) ? args.first : {}
  Configuration::VALID_OPTIONS.each do |key|
    send("#{key}=", options[key] || options[key.to_sym] || Configuration.instance.send("#{key}"))
  end

  if block_given?
    if block.arity == 1
      yield self
    else
      instance_eval &block
    end
  end

  self
end