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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48444dde721065342314bd1c75df0e7fa9c05be3
4
- data.tar.gz: e3e216b10101be0217e6243a2c751e0a3ded3bec
3
+ metadata.gz: b0ea31d2818eaeb0b5e8952f94bb8033652efedd
4
+ data.tar.gz: 0cef2c4ab40c89b95a3c05601b7efc88de120ea2
5
5
  SHA512:
6
- metadata.gz: 0d797e9a70867444ba43e4b48380450eb33913c906b48935ce1ae871a57945c313479d33df78c4fcaf495f7468f7702befbb426db22e891f2ab24b99f8a1b245
7
- data.tar.gz: 066ddda4b80b359cd01eaf76cf8bf4f16769924741a828ef368ecae3c8a72b9c619aad01dd373c5b833e30021d840d94282c962bf4f65c97072516b3091231eb
6
+ metadata.gz: a3344e3970028d28fbf1abc6bc2fbcb47eadcc0a41ceb064f462f9e2c809b5e236f4d26615235946945dafbec1029e7add9e1ed4f1d20739fe6ba876d88d0fbd
7
+ data.tar.gz: 50c69ab7b7d3bf8fcef175cd2b016be783b3eda8d9844ba3b74f2c48ac614b58785d5b6eb42b1f2ed29dd8dbf12f8566e68d02247186536e4bece50c8769d0f6
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'direct_sms'
3
3
 
4
- sms = DirectSms::Message.new("username", "password", max_segments: 10, type: "2-way")
5
- sms.to = "+639178574111, +639193963389"
4
+ sms = DirectSms::Message.new(max_segments: 10, type: "2-way")
5
+ sms.to = "+639178574111"
6
6
 
7
- puts sms.balance
7
+ puts sms.credit_balance
@@ -1,42 +1,15 @@
1
1
  require "direct_sms/version"
2
- require "httparty"
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
- base_uri "api.directsms.com.au"
9
- attr_accessor :message, :to, :max_segments, :type, :message_id
10
- attr_accessor :username, :password
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
- def fetch_credentials
39
- { username: username, password: password }
40
- end
11
+ def self.configure
12
+ yield configuration
41
13
  end
14
+
42
15
  end
@@ -0,0 +1,5 @@
1
+ module DirectSms
2
+ class Configuration
3
+ attr_accessor :username, :password
4
+ end
5
+ 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
@@ -1,3 +1,3 @@
1
1
  module DirectSms
2
- VERSION = "0.0.3"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -2,22 +2,26 @@ require 'spec_helper'
2
2
  require 'net/http'
3
3
 
4
4
  describe DirectSms do
5
- let!(:username) { "username" }
6
- let!(:password) { "password" }
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=#{password}&username=#{username}").
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(username: username, password: password)
14
- expect(sms.credit_balance.body).to eq "credit: 300.00"
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(username: username, password: password, :type => "2-way", :max_segments => 20)
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(username: username, password: password, :type => "2-way", :max_segments => 10)
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: 0.0.3
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-09-30 00:00:00.000000000 Z
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