Class: Smsinabox::DeliveryReport
- Inherits:
-
Object
- Object
- Smsinabox::DeliveryReport
- Defined in:
- lib/smsinabox/delivery_report.rb
Instance Attribute Summary collapse
-
#credits ⇒ Object
Returns the value of attribute credits.
-
#event_id ⇒ Object
Returns the value of attribute event_id.
-
#fail_count ⇒ Object
Returns the value of attribute fail_count.
-
#failures ⇒ Object
Returns the value of attribute failures.
-
#success_count ⇒ Object
Returns the value of attribute success_count.
-
#successes ⇒ Object
Returns the value of attribute successes.
Class Method Summary collapse
-
.from_response(nokogiri_xml) ⇒ Object
Generate a delivery report from a nokogiri response.
Instance Method Summary collapse
-
#initialize ⇒ DeliveryReport
constructor
A new instance of DeliveryReport.
- #inspect ⇒ Object
Constructor Details
#initialize ⇒ DeliveryReport
Returns a new instance of DeliveryReport.
40 41 42 43 44 45 46 |
# File 'lib/smsinabox/delivery_report.rb', line 40 def initialize @fail_count = 0 @success_count = 0 @failures = [] @successes = [] end |
Instance Attribute Details
#credits ⇒ Object
Returns the value of attribute credits.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def credits @credits end |
#event_id ⇒ Object
Returns the value of attribute event_id.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def event_id @event_id end |
#fail_count ⇒ Object
Returns the value of attribute fail_count.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def fail_count @fail_count end |
#failures ⇒ Object
Returns the value of attribute failures.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def failures @failures end |
#success_count ⇒ Object
Returns the value of attribute success_count.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def success_count @success_count end |
#successes ⇒ Object
Returns the value of attribute successes.
38 39 40 |
# File 'lib/smsinabox/delivery_report.rb', line 38 def successes @successes end |
Class Method Details
.from_response(nokogiri_xml) ⇒ Object
Generate a delivery report from a nokogiri response
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/smsinabox/delivery_report.rb', line 7 def from_response( nokogiri_xml ) response = new # basic send_info stuff response.event_id = nokogiri_xml.xpath('/api_result/send_info/eventid/text()').to_s.to_i response.credits = nokogiri_xml.xpath('/api_result/send_info/credits/text()').to_s.to_i response.fail_count = nokogiri_xml.xpath('/api_result/send_info/msgs_failed/text()').to_s.to_i response.success_count = nokogiri_xml.xpath('/api_result/send_info/msgs_success/text()').to_s.to_i # failures nokogiri_xml.xpath('/api_result/entries_failed').each do |node| response.failures << { :numto => node.xpath('./numto/text()').to_s, :customerid => node.xpath('./customerid/text()').to_s, :reason => node.xpath('./reason/text()').to_s } end # successes nokogiri_xml.xpath('/api_result/entries_success').each do |node| response.successes << { :numto => node.xpath('./numto/text()').to_s, :customerid => node.xpath('./customerid/text()').to_s } end response end |
Instance Method Details
#inspect ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/smsinabox/delivery_report.rb', line 48 def inspect { :event_id => @event_id, :credits => @credits, :fail_count => @fail_count, :success_count => @success_count, :failues => @failures.inspect, :successes => @successes.inspect } end |