txtweb-ruby 0.1.0 → 0.2.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/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  gem "httpclient", ">= 2.1.5.2"
5
+ gem "xml-simple"
5
6
 
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -10,6 +10,7 @@ GEM
10
10
  rake (0.9.2)
11
11
  rcov (0.9.9)
12
12
  shoulda (2.11.3)
13
+ xml-simple (1.0.16)
13
14
 
14
15
  PLATFORMS
15
16
  ruby
@@ -20,3 +21,4 @@ DEPENDENCIES
20
21
  jeweler (~> 1.6.2)
21
22
  rcov
22
23
  shoulda
24
+ xml-simple
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/txtweb-ruby.rb CHANGED
@@ -0,0 +1,59 @@
1
+ #Version 0.1.0
2
+
3
+ class NilClass
4
+ def blank?
5
+ true
6
+ end unless nil.respond_to? :blank?
7
+ end
8
+
9
+ class String
10
+ def blank?
11
+ self !~ /\S/
12
+ end unless "".respond_to? :blank?
13
+ end
14
+
15
+
16
+ module TxtWeb
17
+ VERSION = '0.1.0'
18
+ class TxtWebRuby
19
+ def initialize(opts)
20
+ @api_url = opts[:api_url] || 'http://api.txtweb.com/v1/push'
21
+ @api_params = {}
22
+ @api_params[:txtweb_pubkey] = opts[:txtweb_pubkey]
23
+
24
+ raise "Invalid credentials" if opts[:txtweb_pubkey].blank?
25
+ end
26
+
27
+ def call_api(opts = {})
28
+ res = Net::HTTP.post_form(
29
+ URI.parse(@api_url),
30
+ @api_params.merge(opts)
31
+ )
32
+
33
+ resp = XmlSimple.xml_in(res.body)
34
+ status = resp['status'][0]
35
+
36
+ puts "TxtWeb Response: #{resp}"
37
+
38
+ case res
39
+ when Net::HTTPSuccess
40
+ if status['code'] == 0
41
+ return true, nil
42
+ puts "API Call Failed : #{status['code']}"
43
+ return false,nil
44
+ else
45
+ return false, "HTTP Error : #{res}"
46
+ end
47
+
48
+ end
49
+
50
+ def send_message(opts)
51
+ msg = opts[:msg]
52
+ number = opts[:txtweb_mobile]
53
+
54
+ return false, 'Message should be less than 725 characters long' if msg.to_s.length > 724
55
+ call_api(opts)
56
+ end
57
+
58
+ end
59
+ end
data/txtweb-ruby.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{txtweb-ruby}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Karthik Kastury}]
@@ -40,12 +40,14 @@ Gem::Specification.new do |s|
40
40
 
41
41
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
42
  s.add_runtime_dependency(%q<httpclient>, [">= 2.1.5.2"])
43
+ s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
43
44
  s.add_development_dependency(%q<shoulda>, [">= 0"])
44
45
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
46
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
46
47
  s.add_development_dependency(%q<rcov>, [">= 0"])
47
48
  else
48
49
  s.add_dependency(%q<httpclient>, [">= 2.1.5.2"])
50
+ s.add_dependency(%q<xml-simple>, [">= 0"])
49
51
  s.add_dependency(%q<shoulda>, [">= 0"])
50
52
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
51
53
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
@@ -53,6 +55,7 @@ Gem::Specification.new do |s|
53
55
  end
54
56
  else
55
57
  s.add_dependency(%q<httpclient>, [">= 2.1.5.2"])
58
+ s.add_dependency(%q<xml-simple>, [">= 0"])
56
59
  s.add_dependency(%q<shoulda>, [">= 0"])
57
60
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
61
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: txtweb-ruby
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Karthik Kastury
@@ -24,19 +24,30 @@ dependencies:
24
24
  prerelease: false
25
25
  version_requirements: *id001
26
26
  - !ruby/object:Gem::Dependency
27
- name: shoulda
27
+ name: xml-simple
28
28
  requirement: &id002 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: "0"
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: *id002
37
37
  - !ruby/object:Gem::Dependency
38
- name: bundler
38
+ name: shoulda
39
39
  requirement: &id003 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: &id004 !ruby/object:Gem::Requirement
40
51
  none: false
41
52
  requirements:
42
53
  - - ~>
@@ -44,10 +55,10 @@ dependencies:
44
55
  version: 1.0.0
45
56
  type: :development
46
57
  prerelease: false
47
- version_requirements: *id003
58
+ version_requirements: *id004
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: jeweler
50
- requirement: &id004 !ruby/object:Gem::Requirement
61
+ requirement: &id005 !ruby/object:Gem::Requirement
51
62
  none: false
52
63
  requirements:
53
64
  - - ~>
@@ -55,10 +66,10 @@ dependencies:
55
66
  version: 1.6.2
56
67
  type: :development
57
68
  prerelease: false
58
- version_requirements: *id004
69
+ version_requirements: *id005
59
70
  - !ruby/object:Gem::Dependency
60
71
  name: rcov
61
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &id006 !ruby/object:Gem::Requirement
62
73
  none: false
63
74
  requirements:
64
75
  - - ">="
@@ -66,7 +77,7 @@ dependencies:
66
77
  version: "0"
67
78
  type: :development
68
79
  prerelease: false
69
- version_requirements: *id005
80
+ version_requirements: *id006
70
81
  description: Ruby Gem that allows you to easily interact with the TxtWeb SMS API.
71
82
  email: hello@karthik.kastury.in
72
83
  executables: []
@@ -101,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
112
  requirements:
102
113
  - - ">="
103
114
  - !ruby/object:Gem::Version
104
- hash: -4119661784222334685
115
+ hash: -4079185654412712839
105
116
  segments:
106
117
  - 0
107
118
  version: "0"