direct_sms 0.0.3 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/direct_sms +3 -3
- data/lib/direct_sms.rb +8 -35
- data/lib/direct_sms/configuration.rb +5 -0
- data/lib/direct_sms/message.rb +43 -0
- data/lib/direct_sms/version.rb +1 -1
- data/spec/lib/direct_sms_spec.rb +11 -7
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0ea31d2818eaeb0b5e8952f94bb8033652efedd
|
4
|
+
data.tar.gz: 0cef2c4ab40c89b95a3c05601b7efc88de120ea2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3344e3970028d28fbf1abc6bc2fbcb47eadcc0a41ceb064f462f9e2c809b5e236f4d26615235946945dafbec1029e7add9e1ed4f1d20739fe6ba876d88d0fbd
|
7
|
+
data.tar.gz: 50c69ab7b7d3bf8fcef175cd2b016be783b3eda8d9844ba3b74f2c48ac614b58785d5b6eb42b1f2ed29dd8dbf12f8566e68d02247186536e4bece50c8769d0f6
|
data/bin/direct_sms
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'direct_sms'
|
3
3
|
|
4
|
-
sms = DirectSms::Message.new(
|
5
|
-
sms.to = "+639178574111
|
4
|
+
sms = DirectSms::Message.new(max_segments: 10, type: "2-way")
|
5
|
+
sms.to = "+639178574111"
|
6
6
|
|
7
|
-
puts sms.
|
7
|
+
puts sms.credit_balance
|
data/lib/direct_sms.rb
CHANGED
@@ -1,42 +1,15 @@
|
|
1
1
|
require "direct_sms/version"
|
2
|
-
require "
|
2
|
+
require "direct_sms/configuration"
|
3
|
+
require "direct_sms/message"
|
3
4
|
|
4
5
|
module DirectSms
|
5
|
-
class Message
|
6
|
-
include HTTParty
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(attrs = {})
|
13
|
-
attrs.each { |k, v| self.send("#{k}=", v) }
|
14
|
-
end
|
15
|
-
|
16
|
-
def credit_balance
|
17
|
-
options = { query: fetch_credentials }
|
18
|
-
response = self.class.get("/s3/http/get_balance", options) # returns credit: 50.0
|
19
|
-
response = response.split(" ").last
|
20
|
-
|
21
|
-
response
|
22
|
-
end
|
23
|
-
|
24
|
-
def send_message
|
25
|
-
options = {
|
26
|
-
query: fetch_credentials.merge(message: message,
|
27
|
-
to: to,
|
28
|
-
max_segments: max_segments,
|
29
|
-
type: type,
|
30
|
-
messageid: message_id)
|
31
|
-
}
|
32
|
-
|
33
|
-
self.class.get("/s3/http/send_message", options)
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
7
|
+
def self.configuration
|
8
|
+
@configuration ||= Configuration.new
|
9
|
+
end
|
37
10
|
|
38
|
-
|
39
|
-
|
40
|
-
end
|
11
|
+
def self.configure
|
12
|
+
yield configuration
|
41
13
|
end
|
14
|
+
|
42
15
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "httparty"
|
2
|
+
|
3
|
+
module DirectSms
|
4
|
+
|
5
|
+
class Message
|
6
|
+
include HTTParty
|
7
|
+
|
8
|
+
base_uri "api.directsms.com.au"
|
9
|
+
|
10
|
+
attr_accessor :message, :to, :max_segments, :type, :message_id
|
11
|
+
|
12
|
+
def initialize(attrs = {})
|
13
|
+
attrs.each { |k, v| self.send("#{k}=", v) }
|
14
|
+
end
|
15
|
+
|
16
|
+
def credit_balance
|
17
|
+
options = { query: fetch_credentials }
|
18
|
+
response = self.class.get("/s3/http/get_balance", options) # returns credit: 50.0
|
19
|
+
response = response.split(" ").last
|
20
|
+
|
21
|
+
response
|
22
|
+
end
|
23
|
+
|
24
|
+
def send_message
|
25
|
+
options = {
|
26
|
+
query: fetch_credentials.merge(message: message,
|
27
|
+
to: to,
|
28
|
+
max_segments: max_segments,
|
29
|
+
type: type,
|
30
|
+
messageid: message_id)
|
31
|
+
}
|
32
|
+
|
33
|
+
self.class.get("/s3/http/send_message", options)
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def fetch_credentials
|
39
|
+
{ username: DirectSms.configuration.username, password: DirectSms.configuration.password }
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
data/lib/direct_sms/version.rb
CHANGED
data/spec/lib/direct_sms_spec.rb
CHANGED
@@ -2,22 +2,26 @@ require 'spec_helper'
|
|
2
2
|
require 'net/http'
|
3
3
|
|
4
4
|
describe DirectSms do
|
5
|
-
|
6
|
-
|
5
|
+
before(:each) do
|
6
|
+
DirectSms.configure do |config|
|
7
|
+
config.username = "username"
|
8
|
+
config.password = "password"
|
9
|
+
end
|
10
|
+
end
|
7
11
|
|
8
12
|
describe "balance" do
|
9
13
|
it 'returns the remaining balance' do
|
10
|
-
stub_request(:get, "http://api.directsms.com.au/s3/http/get_balance?password
|
14
|
+
stub_request(:get, "http://api.directsms.com.au/s3/http/get_balance?password=password&username=username").
|
11
15
|
to_return(:status => 200, :body => "credit: 300.00", :headers => {})
|
12
16
|
|
13
|
-
sms = DirectSms::Message.new
|
14
|
-
expect(sms.credit_balance
|
17
|
+
sms = DirectSms::Message.new
|
18
|
+
expect(sms.credit_balance).to eq "300.00"
|
15
19
|
end
|
16
20
|
end
|
17
21
|
|
18
22
|
describe "sending sms" do
|
19
23
|
it 'attributes can be set on new' do
|
20
|
-
sms = DirectSms::Message.new(
|
24
|
+
sms = DirectSms::Message.new(:type => "2-way", :max_segments => 20)
|
21
25
|
|
22
26
|
expect(sms.max_segments).to eq 20
|
23
27
|
expect(sms.type).to eq "2-way"
|
@@ -27,7 +31,7 @@ describe DirectSms do
|
|
27
31
|
stub_request(:get, "http://api.directsms.com.au/s3/http/send_message?max_segments=10&message=This%20is%20a%20test&password=password&to=%2B639178574111&messageid=&type=2-way&username=username").
|
28
32
|
to_return(:status => 200, :body => "id: 1234567890", :headers => {})
|
29
33
|
|
30
|
-
sms = DirectSms::Message.new(
|
34
|
+
sms = DirectSms::Message.new(:type => "2-way", :max_segments => 10)
|
31
35
|
sms.message = "This is a test"
|
32
36
|
sms.to = "+639178574111"
|
33
37
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: direct_sms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Chavez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -98,6 +98,8 @@ files:
|
|
98
98
|
- bin/direct_sms
|
99
99
|
- direct_sms.gemspec
|
100
100
|
- lib/direct_sms.rb
|
101
|
+
- lib/direct_sms/configuration.rb
|
102
|
+
- lib/direct_sms/message.rb
|
101
103
|
- lib/direct_sms/version.rb
|
102
104
|
- spec/lib/direct_sms_spec.rb
|
103
105
|
- spec/spec_helper.rb
|