mblox 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/mblox.rb +0 -1
- data/lib/mblox/from_xml.rb +16 -0
- data/lib/mblox/sms_receipt.rb +3 -3
- data/lib/mblox/sms_response.rb +4 -5
- data/lib/mblox/version.rb +1 -1
- data/spec/sms_receipt_spec.rb +4 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTUwMDM4OWViYzk1MGU1MDA2ZmVmNDA0Y2Y5YzZlYjg3MzdkYmI3Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWFlMjI4MzBlNGQ2NGU5Y2U0NjM0NTkwZDkyZTg1M2ViMTFiYmZkNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzUxYTJhZGFiZmI0OGY2OTM3YTU0YjlhOWY3NmQzOTBkMzM5NWNjMWFmOWVi
|
10
|
+
YmQ1ZjU0ZmRmZjM0MTJiZmUyNjVjYTA5Y2MwMjA0YjFhYzA2NmVjNDFjN2Rl
|
11
|
+
ZTM5YzZmYWI5YzQ5NDQwZjkxYTA2NzA5N2RmMTYxMTM0OThmYWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2U2ZWU5YzI2N2U4Njc1ZTJkYWU1M2VjMTkxODdiM2I0YWI3MjBmZDAwZjJj
|
14
|
+
NzE5YjQ1NjEzYWRlNGVlZmU0Zjg1NzcxZWVjYTAzN2U4NWMzZjhiOWEzOTQz
|
15
|
+
ZGRkMzUxYjYxNmI5NjU5NjY3ODIzMjUxMWQ1NjhjNzZhMWU5ZDM=
|
data/lib/mblox.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'active_model/serialization'
|
2
|
+
require 'active_model/serializers/xml.rb'
|
3
|
+
|
4
|
+
module Mblox
|
5
|
+
class MissingExpectedXmlContentError < StandardError; end
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def from_xml(xml)
|
9
|
+
begin
|
10
|
+
Hash.from_xml(xml)
|
11
|
+
rescue REXML::ParseException
|
12
|
+
raise MissingExpectedXmlContentError, "'#{xml}' is not parseable as XML"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/mblox/sms_receipt.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
require '
|
2
|
-
|
1
|
+
require 'mblox/from_xml'
|
2
|
+
|
3
3
|
module Mblox
|
4
4
|
class SmsReceipt
|
5
5
|
attr_reader :batch_id, :subscriber_number, :timestamp, :msg_reference, :status, :reason
|
6
6
|
def initialize(xml)
|
7
|
-
data =
|
7
|
+
data = Mblox.from_xml(xml)['NotificationService']
|
8
8
|
raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationService' node, but was #{xml}" if data.blank?
|
9
9
|
|
10
10
|
data = data['NotificationList']
|
data/lib/mblox/sms_response.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
require 'active_model/serialization'
|
2
|
-
require 'active_model/serializers/xml.rb'
|
3
|
-
|
4
1
|
require 'active_model/callbacks'
|
5
2
|
require 'active_model/validator'
|
6
3
|
require 'active_model/naming'
|
@@ -8,6 +5,8 @@ require 'active_model/translation'
|
|
8
5
|
require 'active_model/validations'
|
9
6
|
require 'active_model/errors'
|
10
7
|
|
8
|
+
require 'mblox/from_xml'
|
9
|
+
|
11
10
|
module Mblox
|
12
11
|
class SmsResponse
|
13
12
|
class Result
|
@@ -34,8 +33,8 @@ module Mblox
|
|
34
33
|
|
35
34
|
attr_reader :request, :result, :subscriber_result
|
36
35
|
def initialize(xml)
|
37
|
-
data =
|
38
|
-
|
36
|
+
data = Mblox.from_xml(xml)['NotificationRequestResult']
|
37
|
+
|
39
38
|
raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' node, but was #{xml}" if data.blank?
|
40
39
|
header = data['NotificationResultHeader']
|
41
40
|
raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' -> 'NotificationResultHeader' node, but was #{xml}" if header.blank?
|
data/lib/mblox/version.rb
CHANGED
data/spec/sms_receipt_spec.rb
CHANGED
@@ -107,6 +107,10 @@ describe Mblox::SmsReceipt do
|
|
107
107
|
target.reason.should == reason
|
108
108
|
end
|
109
109
|
|
110
|
+
it "should raise error when missing root node" do
|
111
|
+
expect{described_class.new('Abcdefg')}.to raise_error(Mblox::MissingExpectedXmlContentError, "'Abcdefg' is not parseable as XML")
|
112
|
+
end
|
113
|
+
|
110
114
|
it "should raise error when missing notification service node" do
|
111
115
|
expect{described_class.new(missing_notification_service)}.to raise_error(Mblox::MissingExpectedXmlContentError, "Xml should have contained a 'NotificationService' node, but was #{missing_notification_service}")
|
112
116
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mblox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isaac Betesh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- config.yml.example
|
125
125
|
- lib/mblox.rb
|
126
126
|
- lib/mblox/configuration.rb
|
127
|
+
- lib/mblox/from_xml.rb
|
127
128
|
- lib/mblox/sms.rb
|
128
129
|
- lib/mblox/sms_receipt.rb
|
129
130
|
- lib/mblox/sms_response.rb
|