moonshado-sms 0.5.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -17,4 +17,4 @@ Production environment config:
17
17
 
18
18
  == Copyright
19
19
 
20
- Copyright (c) 2010 Kevin Patel. See LICENSE for details.
20
+ Copyright (c) 2010 Moonshado, Inc. See LICENSE for details.
data/Rakefile CHANGED
@@ -11,8 +11,8 @@ begin
11
11
  gem.authors = ["Kevin Patel"]
12
12
  gem.add_development_dependency "shoulda", ">= 0"
13
13
  gem.add_development_dependency "webmock", ">= 0"
14
- gem.add_runtime_dependency "rest-client", '1.5.1'
15
- gem.add_runtime_dependency "yajl-ruby", '0.7.6'
14
+ gem.add_runtime_dependency "rest-client", '1.6.0'
15
+ gem.add_runtime_dependency "yajl-ruby", '0.7.7'
16
16
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
17
  end
18
18
  Jeweler::GemcutterTasks.new
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :patch: 0
3
3
  :build:
4
- :major: 0
5
- :minor: 5
4
+ :major: 1
5
+ :minor: 0
@@ -23,8 +23,8 @@ module Moonshado
23
23
  def initialize
24
24
  @secure = false
25
25
  @host = 'heroku.moonshado.com'
26
- @http_open_timeout = 2
27
- @http_read_timeout = 5
26
+ @http_open_timeout = 10
27
+ @http_read_timeout = 10
28
28
  @production_environment = true
29
29
  @sms_uri = '/sms'
30
30
  @keywords_uri = '/keywords'
data/lib/moonshado/sms.rb CHANGED
@@ -22,7 +22,7 @@ module Moonshado
22
22
  def find(id)
23
23
  response = sender.get(configuration.sms_uri + "/#{id}")
24
24
 
25
- Yajl::Parser.new.parse(response.body)
25
+ parse(response.to_s)
26
26
  end
27
27
  end
28
28
 
@@ -46,7 +46,11 @@ module Moonshado
46
46
  data = {:sms => {:device_address => format_number(@number), :message => @message}}
47
47
 
48
48
  if production_environment?
49
- response = sender.send_to_moonshado(data, configuration.sms_uri)
49
+ begin
50
+ response = sender.send_to_moonshado(data, configuration.sms_uri)
51
+ rescue Exception => e
52
+ response = RestClient::Response.create("{\"stat\":\"fail\",\"error\":\"#{e.message}\"}", "", {})
53
+ end
50
54
  else
51
55
  response = RestClient::Response.create('{"stat":"ok","id":"sms_id_mock"}', "", {})
52
56
  end
@@ -85,7 +89,11 @@ module Moonshado
85
89
  end
86
90
 
87
91
  def parse(json)
88
- parser = Yajl::Parser.new.parse(json)
92
+ begin
93
+ parser = Yajl::Parser.new.parse(json)
94
+ rescue Exception => e
95
+ {"stat"=>"fail", "error"=>"json parser error", "response"=>json.to_s}
96
+ end
89
97
  end
90
98
  end
91
- end
99
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{moonshado-sms}
8
- s.version = "0.5.0"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kevin Patel"]
12
- s.date = %q{2010-08-06}
12
+ s.date = %q{2010-08-26}
13
13
  s.email = %q{tech@moonshado.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -53,19 +53,19 @@ Gem::Specification.new do |s|
53
53
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
54
  s.add_development_dependency(%q<shoulda>, [">= 0"])
55
55
  s.add_development_dependency(%q<webmock>, [">= 0"])
56
- s.add_runtime_dependency(%q<rest-client>, ["= 1.5.1"])
57
- s.add_runtime_dependency(%q<yajl-ruby>, ["= 0.7.6"])
56
+ s.add_runtime_dependency(%q<rest-client>, ["= 1.6.0"])
57
+ s.add_runtime_dependency(%q<yajl-ruby>, ["= 0.7.7"])
58
58
  else
59
59
  s.add_dependency(%q<shoulda>, [">= 0"])
60
60
  s.add_dependency(%q<webmock>, [">= 0"])
61
- s.add_dependency(%q<rest-client>, ["= 1.5.1"])
62
- s.add_dependency(%q<yajl-ruby>, ["= 0.7.6"])
61
+ s.add_dependency(%q<rest-client>, ["= 1.6.0"])
62
+ s.add_dependency(%q<yajl-ruby>, ["= 0.7.7"])
63
63
  end
64
64
  else
65
65
  s.add_dependency(%q<shoulda>, [">= 0"])
66
66
  s.add_dependency(%q<webmock>, [">= 0"])
67
- s.add_dependency(%q<rest-client>, ["= 1.5.1"])
68
- s.add_dependency(%q<yajl-ruby>, ["= 0.7.6"])
67
+ s.add_dependency(%q<rest-client>, ["= 1.6.0"])
68
+ s.add_dependency(%q<yajl-ruby>, ["= 0.7.7"])
69
69
  end
70
70
  end
71
71
 
data/test/sms_test.rb CHANGED
@@ -44,5 +44,25 @@ class Moonshado::SmsTest < Test::Unit::TestCase
44
44
 
45
45
  assert_equal(sms.deliver_sms, {"id"=>"sms_id_mock", "stat"=>"ok"})
46
46
  end
47
+
48
+ should "handle bad response" do
49
+ sms = Moonshado::Sms.new
50
+ assert_equal(sms.send(:parse, "test")["stat"], 'fail')
51
+ assert_equal(sms.send(:parse, "test")["error"], 'json parser error')
52
+ end
53
+ end
54
+
55
+ context Moonshado::Sms do
56
+ setup do
57
+ Moonshado::Sms.configure do |config|
58
+ config.api_key = '20lsdjf2'
59
+ config.host = 'notreal.moonshado.com'
60
+ config.production_environment = true
61
+ end
62
+ end
63
+
64
+ should "return DNS error" do
65
+ assert_equal(Moonshado::Sms.new("1(555)555-6471", "test").deliver_sms["stat"], "fail")
66
+ end
47
67
  end
48
- end
68
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moonshado-sms
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
+ - 1
7
8
  - 0
8
- - 5
9
9
  - 0
10
- version: 0.5.0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kevin Patel
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-06 00:00:00 -04:00
18
+ date: 2010-08-26 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -54,12 +54,12 @@ dependencies:
54
54
  requirements:
55
55
  - - "="
56
56
  - !ruby/object:Gem::Version
57
- hash: 1
57
+ hash: 15
58
58
  segments:
59
59
  - 1
60
- - 5
61
- - 1
62
- version: 1.5.1
60
+ - 6
61
+ - 0
62
+ version: 1.6.0
63
63
  type: :runtime
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
@@ -70,12 +70,12 @@ dependencies:
70
70
  requirements:
71
71
  - - "="
72
72
  - !ruby/object:Gem::Version
73
- hash: 15
73
+ hash: 13
74
74
  segments:
75
75
  - 0
76
76
  - 7
77
- - 6
78
- version: 0.7.6
77
+ - 7
78
+ version: 0.7.7
79
79
  type: :runtime
80
80
  version_requirements: *id004
81
81
  description: