Class: PlanetExpress::Delivery
- Inherits:
-
Object
- Object
- PlanetExpress::Delivery
- Includes:
- Log4r
- Defined in:
- lib/planet_express/delivery.rb
Instance Attribute Summary collapse
-
#configuration ⇒ Object
Returns the value of attribute configuration.
-
#logger ⇒ Object
Returns the value of attribute logger.
Instance Method Summary collapse
- #configure {|configuration| ... } ⇒ Object
- #deliver! ⇒ Object
-
#initialize(*args) ⇒ Delivery
constructor
A new instance of Delivery.
- #prepare(campaign_id, recipient, personalizations = {}) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Delivery
8 9 10 11 12 13 |
# File 'lib/planet_express/delivery.rb', line 8 def initialize *args # Settings self.configuration ||= PlanetExpress::Configuration.new self.logger = Rails.logger logger.debug "gateway_url => #{configuration.gateway_url}" end |
Instance Attribute Details
#configuration ⇒ Object
Returns the value of attribute configuration.
5 6 7 |
# File 'lib/planet_express/delivery.rb', line 5 def configuration @configuration end |
#logger ⇒ Object
Returns the value of attribute logger.
6 7 8 |
# File 'lib/planet_express/delivery.rb', line 6 def logger @logger end |
Instance Method Details
#configure {|configuration| ... } ⇒ Object
15 16 17 18 |
# File 'lib/planet_express/delivery.rb', line 15 def configure # Override Settings yield(configuration) end |
#deliver! ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/planet_express/delivery.rb', line 28 def deliver! url = URI.parse configuration.gateway_url http, resp = Net::HTTP.new(url.host, url.port), '' http.use_ssl = url.scheme == 'https' logger.debug "SSL version: #{http.ssl_version.inspect}" if http.use_ssl? http.start do |h| path = url.path resp = h.post path, @request.to_s, { 'Content-type' => 'text/xml' } end build_response(resp.body) end |
#prepare(campaign_id, recipient, personalizations = {}) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/planet_express/delivery.rb', line 20 def prepare campaign_id, recipient, personalizations={} @campaign_id, @recipient, @personalizations = campaign_id, recipient, personalizations @personalizations.merge!({ :timestamp => Time.now, :email_template => @campaign_id }) raise PlanetExpress::ArgumentError if campaign_id.nil? or recipient.nil? build_request end |