locasms 0.1.7 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +7 -2
- data/lib/locasms/client.rb +11 -13
- data/lib/locasms/version.rb +1 -1
- data/locasms.gemspec +3 -2
- data/spec/lib/locasms/client_spec.rb +11 -41
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60e250741b0ad19b1575ac0df29f653a873ed06c
|
4
|
+
data.tar.gz: 64c7461b17fc5d20fcf1289348928a4b7b6b1417
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fe09dc0cf3bd959a5cfac85b21d3eacec7d4b173aefaa7b9ab7de4c1ce37035e17a3fb6ba28b7b3c7a66c516e86ae2f5230d21eb736e9f0a70e004a60ebdda3
|
7
|
+
data.tar.gz: a454160d6e5557b120f497aee2dd6915a42bfe833bb1d12c1db4513812b39082fd2dec434913310d218dc685fe30cbfc1333c2319a81ffdfe08426f3b02b1cd7
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
> :warning: After `March 29, 2016` the base IP of the service will change as noticed on this [issue](https://github.com/mcorp/locasms/issues/6). If you don't upgrade to version `0.1.7` your app will stop delivering SMS
|
5
5
|
|
6
|
-
Client to consume [LocaSMS
|
6
|
+
Client to consume API's from [LocaSMS][0] and its Short Code SMS version [SMS Plataforma][1].
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
@@ -26,8 +26,12 @@ Simple example:
|
|
26
26
|
```ruby
|
27
27
|
require 'locasms'
|
28
28
|
|
29
|
+
# Default:
|
29
30
|
cli = LocaSMS::Client.new 'LOGIN', 'PASSWORD'
|
30
31
|
|
32
|
+
# Short Code:
|
33
|
+
cli = LocaSMS::Client.new 'LOGIN', 'PASSWORD', type: :shortcode
|
34
|
+
|
31
35
|
# delivering message to one mobile
|
32
36
|
cli.deliver 'my message', '1155559999'
|
33
37
|
|
@@ -67,4 +71,5 @@ cli.campaign_release '0000'
|
|
67
71
|
4. Push to the branch (`git push origin my-new-feature`)
|
68
72
|
5. Create new Pull Request
|
69
73
|
|
70
|
-
[0]: http://locasms.com.br
|
74
|
+
[0]: http://locasms.com.br
|
75
|
+
[1]: http://smsplataforma.com.br
|
data/lib/locasms/client.rb
CHANGED
@@ -2,16 +2,16 @@ module LocaSMS
|
|
2
2
|
|
3
3
|
# Client to interact with LocaSMS API
|
4
4
|
class Client
|
5
|
+
# Default API "domain"
|
6
|
+
DOMAIN = '54.173.24.177'.freeze
|
7
|
+
|
5
8
|
# Default API address
|
6
|
-
ENDPOINT =
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
else
|
11
|
-
'http://173.44.33.18/painel/api.ashx'
|
12
|
-
end
|
9
|
+
ENDPOINT = {
|
10
|
+
default: "http://#{DOMAIN}/painel/api.ashx",
|
11
|
+
shortcode: "http://#{DOMAIN}/shortcode/api.ashx"
|
12
|
+
}.freeze
|
13
13
|
|
14
|
-
attr_reader :login, :password
|
14
|
+
attr_reader :login, :password, :type
|
15
15
|
|
16
16
|
# @param [String] login authorized user
|
17
17
|
# @param [String] password access password
|
@@ -20,7 +20,7 @@ module LocaSMS
|
|
20
20
|
def initialize(login, password, opts={})
|
21
21
|
@login = login
|
22
22
|
@password = password
|
23
|
-
|
23
|
+
@type = opts[:type] || :default
|
24
24
|
@rest = opts[:rest_client]
|
25
25
|
end
|
26
26
|
|
@@ -97,13 +97,13 @@ module LocaSMS
|
|
97
97
|
rest.get(:releasesms, id: id)['data']
|
98
98
|
end
|
99
99
|
|
100
|
-
|
100
|
+
private
|
101
101
|
|
102
102
|
# Gets the current RestClient to handle http requests
|
103
103
|
# @return [RestClient] you can set on class creation passing it on the options
|
104
104
|
# @private
|
105
105
|
def rest
|
106
|
-
@rest ||= RestClient.new ENDPOINT, lgn: login, pwd: password
|
106
|
+
@rest ||= RestClient.new ENDPOINT[type], lgn: login, pwd: password
|
107
107
|
end
|
108
108
|
|
109
109
|
# Processes and returns all good numbers in a string
|
@@ -117,7 +117,5 @@ module LocaSMS
|
|
117
117
|
|
118
118
|
raise Exception("Bad numbers were given: #{numbers.bad.join(',')}")
|
119
119
|
end
|
120
|
-
|
121
120
|
end
|
122
|
-
|
123
121
|
end
|
data/lib/locasms/version.rb
CHANGED
data/locasms.gemspec
CHANGED
@@ -8,8 +8,9 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = LocaSMS::VERSION
|
9
9
|
spec.authors = ["Adilson Carvalho", "Leonardo Saraiva", "Marco Carvalho"]
|
10
10
|
spec.email = ["lc.adilson@gmail.com", "vyper@maneh.org", "marco.carvalho.swasthya@gmail.com"]
|
11
|
-
spec.description = %q{Cliente para o serviço de disparo de SMS da LocaSMS
|
12
|
-
|
11
|
+
spec.description = %q{Cliente para o serviço de disparo de SMS da LocaSMS e de sua
|
12
|
+
versão para Short Code SMS (SMS Plataforma)}
|
13
|
+
spec.summary = %q{Cliente para disparo de SMS, regular e Short Code, através da LocaSMS/SMS Plataforma}
|
13
14
|
spec.homepage = "https://github.com/mcorp/locasms"
|
14
15
|
spec.license = "MIT"
|
15
16
|
|
@@ -4,52 +4,22 @@ describe LocaSMS::Client do
|
|
4
4
|
let(:rest_client) { 'rest_client mock' }
|
5
5
|
subject { LocaSMS::Client.new :login, :password, rest_client: rest_client }
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
Timecop.freeze(Time.parse(moment_in_time)) do
|
10
|
-
LocaSMS.send :remove_const, :Client
|
11
|
-
load 'lib/locasms/client.rb'
|
12
|
-
yield
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'prior to Jun 1st, 2015' do
|
17
|
-
test_when('2015-05-31T23:59:59-0300') do
|
18
|
-
expect(LocaSMS::Client::ENDPOINT).to(
|
19
|
-
eq('http://173.44.33.18/painel/api.ashx')
|
20
|
-
)
|
21
|
-
end
|
22
|
-
end
|
7
|
+
describe '::ENDPOINT' do
|
8
|
+
let(:domain) { LocaSMS::Client::DOMAIN }
|
23
9
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
)
|
10
|
+
context 'When default' do
|
11
|
+
it 'Should return the default URL' do
|
12
|
+
endpoint = LocaSMS::Client::ENDPOINT[subject.type]
|
13
|
+
expect(endpoint).to eq("http://#{domain}/painel/api.ashx")
|
29
14
|
end
|
30
15
|
end
|
31
16
|
|
32
|
-
|
33
|
-
|
34
|
-
expect(LocaSMS::Client::ENDPOINT).to(
|
35
|
-
eq('http://209.133.196.250/painel/api.ashx')
|
36
|
-
)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'is March 29, 2016' do
|
41
|
-
test_when('2016-03-29T00:00:00-0300') do
|
42
|
-
expect(LocaSMS::Client::ENDPOINT).to(
|
43
|
-
eq('http://54.173.24.177/painel/api.ashx')
|
44
|
-
)
|
45
|
-
end
|
46
|
-
end
|
17
|
+
context 'When default' do
|
18
|
+
subject { LocaSMS::Client.new :login, :password, type: :shortcode }
|
47
19
|
|
48
|
-
|
49
|
-
|
50
|
-
expect(
|
51
|
-
eq('http://54.173.24.177/painel/api.ashx')
|
52
|
-
)
|
20
|
+
it 'Should return the short code URL' do
|
21
|
+
endpoint = LocaSMS::Client::ENDPOINT[subject.type]
|
22
|
+
expect(endpoint).to eq("http://#{domain}/shortcode/api.ashx")
|
53
23
|
end
|
54
24
|
end
|
55
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: locasms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adilson Carvalho
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-04-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -180,7 +180,8 @@ dependencies:
|
|
180
180
|
- - "~>"
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '1.6'
|
183
|
-
description: Cliente para o serviço de disparo de SMS da LocaSMS
|
183
|
+
description: "Cliente para o serviço de disparo de SMS da LocaSMS e de sua \n versão
|
184
|
+
para Short Code SMS (SMS Plataforma)"
|
184
185
|
email:
|
185
186
|
- lc.adilson@gmail.com
|
186
187
|
- vyper@maneh.org
|
@@ -236,7 +237,8 @@ rubyforge_project:
|
|
236
237
|
rubygems_version: 2.5.2
|
237
238
|
signing_key:
|
238
239
|
specification_version: 4
|
239
|
-
summary: Cliente para
|
240
|
+
summary: Cliente para disparo de SMS, regular e Short Code, através da LocaSMS/SMS
|
241
|
+
Plataforma
|
240
242
|
test_files:
|
241
243
|
- spec/lib/locasms/client_spec.rb
|
242
244
|
- spec/lib/locasms/helpers/date_time_helper_spec.rb
|