Class: PennySMSMuncher::PennySMS::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/penny_sms.rb

Direct Known Subclasses

JSONRequest, XMLRequest

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key, from_email, phone_number, text, api_url = nil) ⇒ Request

Returns a new instance of Request.



12
13
14
15
16
17
18
19
# File 'lib/penny_sms.rb', line 12

def initialize(api_key, from_email, phone_number, text, api_url=nil)
  self.url = Addressable::URI.parse(api_url || @api_url)
  self.phone_number = phone_number
  self.from_email = from_email
  self.text = text
  self.api_key = api_key
  self.from_email = from_email
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



10
11
12
# File 'lib/penny_sms.rb', line 10

def api_key
  @api_key
end

#from_emailObject

Returns the value of attribute from_email.



10
11
12
# File 'lib/penny_sms.rb', line 10

def from_email
  @from_email
end

#phone_numberObject

Returns the value of attribute phone_number.



10
11
12
# File 'lib/penny_sms.rb', line 10

def phone_number
  @phone_number
end

#responseObject

Returns the value of attribute response.



10
11
12
# File 'lib/penny_sms.rb', line 10

def response
  @response
end

#textObject

Returns the value of attribute text.



10
11
12
# File 'lib/penny_sms.rb', line 10

def text
  @text
end

#urlObject

Returns the value of attribute url.



10
11
12
# File 'lib/penny_sms.rb', line 10

def url
  @url
end

Instance Method Details

#requestObject



21
22
23
24
25
26
# File 'lib/penny_sms.rb', line 21

def request
  req = Net::HTTP::Post.new url.path,
    initheader = {'Content-Type' => @content_type}
  req.body = template
  req
end

#send_smsObject



28
29
30
31
32
33
34
35
36
# File 'lib/penny_sms.rb', line 28

def send_sms
  resp = Net::HTTP.new(url.host).start {|http| http.request(request) }

  if resp.is_a? Net::HTTPSuccess
    self.response = Response.new(resp)
  else
    raise APIError, "PennySMS API changed or busted. Or gem obsolete."
  end
end