txtweb-ruby 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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"