coolsms 0.1.1 → 0.1.2

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: f52a524a302cc3d6653fdde9fb70e1e8d2efbe89
4
- data.tar.gz: 6765fb553000d881ecdec70043c56df876d9fc70
3
+ metadata.gz: 4cab4ba648eedb4fe24d415f8c57af8ab6e934a8
4
+ data.tar.gz: 2bb0e491b9d014f713e005ba0e2f21178782a30e
5
5
  SHA512:
6
- metadata.gz: d2d6e965c70181d437488a8aa44218a9f4cd23f85d0b4128a8d096cc0ab05baaaa2689d5279b88e353405c30d175be39a376fd97cd13dc221b5944b0d7a3b3c8
7
- data.tar.gz: a99d662f40ead49670d3ad35b6ac310151d4275701fb2bba42b564ea8dd9b5e01faecae54e7eba1fd8a167a79180c38d685cb71806f6c0aa04db81bbd1df5f57
6
+ metadata.gz: 160fd4c42243b57250e047d62c91b23918ed8344104e30a8b5a3ea91f10f47020d44f9d1d1536165050aaa8ea3323526ab8da00690a94567ffd1b213a2932131
7
+ data.tar.gz: 355d180a5701ab164066fe67bccb609c11b61dc2c3e12bda401f60a6a8db376fa51030415a5d5fdad1532b9cc3fa6910e7691745bd0a16490e5d0cceee27c8b6
data/README.md CHANGED
@@ -12,11 +12,21 @@ gem 'coolsms'
12
12
 
13
13
  And then execute:
14
14
 
15
- $ bundle
15
+ ```
16
+ $ bundle
17
+ ```
16
18
 
17
19
  Or install it yourself as:
18
20
 
19
- $ gem install coolsms
21
+ ```
22
+ $ gem install coolsms
23
+ ```
24
+
25
+ Test
26
+
27
+ ```
28
+ $ ruby test/coolsms_test.rb -v
29
+ ```
20
30
 
21
31
  ## Configuration
22
32
 
@@ -24,97 +34,119 @@ Or install it yourself as:
24
34
 
25
35
  ## Usage
26
36
 
27
- - ####Send < Applications
28
-
29
- COOLSMS_SEND = Coolsms::SMS::Send.new( { options } )
30
- COOLSMS_SEND.send( from, to, text)
31
- COOLSMS_SEND.set_field( { options} )
32
- Options
33
- - type
34
- - charset
35
- - datetime
36
- - delay
37
- - refname
38
- - country
39
- - subject
40
- - srk
41
- - mode
42
- - extension
43
- - force_sms
44
-
45
- Methods
46
- - send
47
- - set_field
48
-
49
- - ####Balance
37
+ ####Send < Applications
38
+
39
+ ```ruby
40
+ COOLSMS_SEND = Coolsms::SMS::Send.new( { options } )
41
+ COOLSMS_SEND.send( from, to, text)
42
+ COOLSMS_SEND.set_field( { options} )
43
+ ```
50
44
 
51
- COOLSMS_BALANCE = Coolsms::SMS::Balance.new
52
- COOLSMS_BALANCE.balance
45
+ * Options
46
+ - type
47
+ - image
48
+ - image_encoding
49
+ - refname
50
+ - country
51
+ - datetime
52
+ - subject
53
+ - charset
54
+ - srk
55
+ - mode
56
+ - extension
57
+ - delay
58
+ - force_sms
59
+ - os_platform
60
+ - dev_lang
61
+ - sdk_version
62
+ - app_version
63
+ - sender_key
64
+ - template_code
65
+
66
+ * Methods
67
+ - send
68
+ - set_field
53
69
 
54
- Methods
55
- - balance
56
-
57
- - ####Status < Applications
58
-
59
- COOLSMS_STATUS = Coolsms::SMS::Status.new( options )
60
- COOLSMS_STATUS.status
61
- Options
62
- - count
63
- - unit
64
- - date
65
- - channel
70
+ ####Balance
71
+
72
+ ```ruby
73
+ COOLSMS_BALANCE = Coolsms::SMS::Balance.new
74
+ COOLSMS_BALANCE.balance
75
+ ```
76
+
77
+ * Methods
78
+ - balance
79
+
80
+ ####Status < Applications
81
+
82
+ ```ruby
83
+ COOLSMS_STATUS = Coolsms::SMS::Status.new( options )
84
+ COOLSMS_STATUS.status
85
+ ```
86
+
87
+ * Options
88
+ - count
89
+ - unit
90
+ - date
91
+ - channel
66
92
 
67
- Methods
68
- - status
69
-
70
- - ####Sent < Applications
71
-
72
- COOLSMS_SENT = Coolsms::SMS::Sent.new( options )
73
- COOLSMS_SENT.sent
74
- Options
75
- - count
76
- - page
77
- - rcpt
78
- - start
79
- - end
80
- - status
81
- - resultcode
82
- - notin_resultcode
83
- - mid
84
- - gid
93
+ * Methods
94
+ - status
95
+
96
+ ####Sent < Applications
97
+
98
+ ```ruby
99
+ COOLSMS_SENT = Coolsms::SMS::Sent.new( options )
100
+ COOLSMS_SENT.sent
101
+ ```
102
+
103
+ * Options
104
+ - count
105
+ - page
106
+ - rcpt
107
+ - start
108
+ - end
109
+ - status
110
+ - resultcode
111
+ - notin_resultcode
112
+ - mid
113
+ - gid
85
114
 
86
- Methods
87
- - sent
115
+ * Methods
116
+ - sent
88
117
 
89
- - ####Cancel < Applications
90
-
91
- COOLSMS_CANCEL = Coolsms::SMS::Cancel.new( options )
92
- COOLSMS_CANCEL.cancel
118
+ ####Cancel < Applications
119
+
120
+ ```ruby
121
+ COOLSMS_CANCEL = Coolsms::SMS::Cancel.new( options )
122
+ COOLSMS_CANCEL.cancel
123
+ ```
93
124
 
94
- Options
95
- - mid
96
- - gid
125
+ * Options
126
+ - mid
127
+ - gid
97
128
 
98
- Methods
99
- - cancel
129
+ * Methods
130
+ - cancel
100
131
 
101
- - ####Applications
132
+ #### Applications
102
133
 
103
- Methods
104
- - set_fields
105
- - fields
134
+ * Methods
135
+ - set_fields
136
+ - fields
106
137
 
107
- - ####TODO
138
+ #### TODO
108
139
 
109
- - [O] Send
110
- - [O] Sent
111
- - [O] Cancel
112
- - [O] Balance
113
- - [O] Status
140
+ - [x] Send
141
+ - [x] Sent
142
+ - [x] Cancel
143
+ - [x] Balance
144
+ - [x] Status
114
145
 
115
146
  ## Coolsms Rest API Document
116
147
 
117
- http://www.coolsms.co.kr/REST_API_Global
148
+ * [Coolsms REST API](http://www.coolsms.co.kr/REST_API)
149
+ * Support API version : 1.5
118
150
 
119
151
  ## Contributing
120
152
 
data/lib/coolsms.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  # @name Coolsms Rest API Helper
2
2
  # @author JunSangPil
3
- # @version 0.1.1
3
+ # @version 0.1.2
4
4
  # @url http://github.com/jun85664396/coolsms
5
5
  # @license MIT License
6
6
 
7
- require "coolsms/version"
8
7
  require 'securerandom'
9
8
  require 'net/http'
10
9
  require 'json'
10
+ require_relative 'coolsms/version'
11
11
  require_relative 'coolsms/applications'
12
- require_relative "coolsms/auth"
13
- require_relative "coolsms/request"
12
+ require_relative 'coolsms/auth'
13
+ require_relative 'coolsms/request'
14
14
  require_relative 'coolsms/send'
15
15
  require_relative 'coolsms/balance'
16
16
  require_relative 'coolsms/status'
@@ -19,12 +19,10 @@ require_relative 'coolsms/cancel'
19
19
 
20
20
  module Coolsms
21
21
  class SMS
22
-
23
22
  Send = Class.new(Send)
24
23
  Balance = Class.new(Balance)
25
24
  Status = Class.new(Status)
26
25
  Sent = Class.new(Sent)
27
26
  Cancel = Class.new(Cancel)
28
-
29
27
  end
30
28
  end
@@ -15,5 +15,4 @@ class Applications
15
15
  end
16
16
  return field
17
17
  end
18
-
19
18
  end
data/lib/coolsms/auth.rb CHANGED
@@ -1,15 +1,15 @@
1
1
  class Auth
2
2
 
3
- #Time Default : now
3
+ # Time Default : now
4
4
  attr_accessor :timestamp
5
5
 
6
- #Salt
6
+ # Salt
7
7
  attr_accessor :salt
8
8
 
9
- #API KEY
9
+ # API KEY
10
10
  attr_accessor :api_key
11
11
 
12
- #API SECRET KEY
12
+ # API SECRET KEY
13
13
  attr_accessor :api_secret
14
14
 
15
15
  def initialize
@@ -27,5 +27,4 @@ class Auth
27
27
  def auth
28
28
  { api_key: self.api_key, signature: self.signature, timestamp: self.timestamp, salt: self.salt }
29
29
  end
30
-
31
30
  end
@@ -11,5 +11,4 @@ class Balance
11
11
  { ret: false, code: res.code }
12
12
  end
13
13
  end
14
-
15
14
  end
@@ -20,5 +20,4 @@ class Cancel < Applications
20
20
  { ret: res.code == "200", message: JSON.parse(res.body) }
21
21
  end
22
22
  end
23
-
24
23
  end
@@ -1,6 +1,6 @@
1
1
  class Request
2
2
 
3
- #URI
3
+ # URI
4
4
  attr_accessor :uri
5
5
 
6
6
  def initialize
@@ -8,13 +8,12 @@ class Request
8
8
  end
9
9
 
10
10
  def post(key, fields = {})
11
- res = Net::HTTP.post_form( self.uri+"/1/#{key}", fields )
11
+ res = Net::HTTP.post_form(self.uri+"/sms/1.5/#{key}", fields)
12
12
  end
13
13
 
14
14
  def get(key, fields = {})
15
- uri = URI( self.uri+"/1/#{key}")
16
- uri.query = URI.encode_www_form( fields )
17
- res = Net::HTTP.get_response( uri )
15
+ uri = URI(self.uri+"/sms/1.5/#{key}")
16
+ uri.query = URI.encode_www_form(fields)
17
+ res = Net::HTTP.get_response(uri)
18
18
  end
19
-
20
19
  end
data/lib/coolsms/send.rb CHANGED
@@ -1,53 +1,105 @@
1
1
  class Send < Applications
2
2
 
3
- #SMS Type default : SMS
3
+ # Message Type : SMS(default), LMS, MMS, ATA
4
+ # If not +82, force SMS
4
5
  attr_accessor :type
5
6
 
6
- #Charset
7
- attr_accessor :charset
7
+ # Image
8
+ # JPEG, PNG, GIF < 300KB, 2048x2048 px
9
+ attr_accessor :image
8
10
 
9
- #Datetime Format YYYYMMDDHHMISS
10
- attr_accessor :datetime
11
+ # Image encoding
12
+ # binary(default), base64
13
+ attr_accessor :image_encoding
11
14
 
12
- #Delay
13
- attr_accessor :delay
14
-
15
- #Refname
15
+ # Reference name
16
16
  attr_accessor :refname
17
17
 
18
- #Country Korea => 82, Japan => 81, China => 86, USA => 1
18
+ # Country
19
+ # Korea : +82 (default)
19
20
  attr_accessor :country
20
21
 
21
- #Subject
22
+ # Schedule datetime.
23
+ # Format: YYYYMMDDHHMISS
24
+ attr_accessor :datetime
25
+
26
+ # MMS, LMS subject
22
27
  attr_accessor :subject
23
28
 
24
- #Srk
29
+ # Charset encoding
30
+ # default: utf8
31
+ attr_accessor :charset
32
+
33
+ # Srk
25
34
  attr_accessor :srk
26
35
 
27
- #Mode
36
+ # Mode
37
+ # if 'test'
38
+ # from_num : '010000000'
39
+ # datetime is ignore
40
+ # return_value : 60
41
+ # recharge
28
42
  attr_accessor :mode
29
43
 
30
- #Extension
44
+ # Extension
45
+ # JSON data
31
46
  attr_accessor :extension
32
47
 
33
- #Force_sms
48
+ # Delay
49
+ # value : 0 ~ 20
50
+ attr_accessor :delay
51
+
52
+ # Force SMS
53
+ # true or false
34
54
  attr_accessor :force_sms
35
55
 
56
+ # Client OS and platform
57
+ attr_accessor :os_platform
58
+
59
+ # Development language
60
+ attr_accessor :dev_lang
61
+
62
+ # SDK version
63
+ attr_accessor :sdk_version
64
+
65
+ # Application version
66
+ attr_accessor :app_version
67
+
68
+ # AlarmTalk sender Key
69
+ attr_accessor :sender_key
70
+
71
+ # AlarmTalk template code
72
+ attr_accessor :template_code
73
+
36
74
  def initialize(options = {})
37
75
  self.set_fields(options)
38
76
  end
39
77
 
40
78
  def send(from, to, text)
41
- fields = self.fields( :type, :charset, :datetime, :delay, :refname, :country, :subject, :srk, :mode, :extension, :force_sms )
42
- fields = fields.merge(from: from, to: to, text: text, type: self.type )
79
+ fields = self.fields(
80
+ :type, :image, :image_encoding, :refname, :country,
81
+ :datetime, :subject, :charset, :srk, :mode,
82
+ :extension, :delay, :force_sms, :os_platform, :dev_lang,
83
+ :sdk_version, :app_version, :sender_key, :template_code
84
+ )
85
+
86
+ fields = fields.merge( from: from, to: to, text: text, type: self.type )
87
+
43
88
  res = Request.new.post( "send", fields )
44
89
 
45
90
  if res.code == "200"
46
91
  body = JSON.parse(res.body)
47
- { ret: body['result_code'] == "00", message: body['result_message'], code: res.code }
92
+ {
93
+ ret: body['result_code'] == "00",
94
+ message: body['result_message'],
95
+ code: res.code,
96
+ gid: body['group_id']
97
+ }
48
98
  else
49
- { ret: false, code: res.code }
99
+ {
100
+ ret: false,
101
+ code: res.code
102
+ }
50
103
  end
51
- end
52
-
104
+ end
53
105
  end
data/lib/coolsms/sent.rb CHANGED
@@ -1,9 +1,12 @@
1
1
  class Sent < Applications
2
2
 
3
+ # Message count
4
+ # defualt: 20
3
5
  attr_accessor :count
4
6
 
5
7
  attr_accessor :page
6
8
 
9
+ # Search for to number
7
10
  attr_accessor :rcpt
8
11
 
9
12
  # Date Format YYYY-MM-DD HH:MI:SS
@@ -12,14 +15,18 @@ class Sent < Applications
12
15
  # DateFormat YYYY-MM-DD HH:MI:SS
13
16
  attr_accessor :end
14
17
 
18
+ # Message status
15
19
  attr_accessor :status
16
20
 
21
+ # Sending result code
17
22
  attr_accessor :resultcode
18
23
 
19
24
  attr_accessor :notin_resultcode
20
25
 
26
+ # Message ID
21
27
  attr_accessor :mid
22
28
 
29
+ # Group ID
23
30
  attr_accessor :gid
24
31
 
25
32
  def initialize(options={})
@@ -27,7 +34,10 @@ class Sent < Applications
27
34
  end
28
35
 
29
36
  def sent
30
- fields = self.fields( :count, :page, :rcpt, :start, :end, :status, :resultcode, :notin_resultcode, :mid, :gid )
37
+ fields = self.fields(
38
+ :count, :page, :rcpt, :start, :end,
39
+ :status, :resultcode, :notin_resultcode, :mid, :gid
40
+ )
31
41
  res = Request.new.get( "sent", fields )
32
42
 
33
43
  if res.code == "200"
@@ -37,5 +47,4 @@ class Sent < Applications
37
47
  { ret: false, code: res.code }
38
48
  end
39
49
  end
40
-
41
50
  end
@@ -25,5 +25,4 @@ class Status < Applications
25
25
  { ret: false, code: res.code }
26
26
  end
27
27
  end
28
-
29
28
  end
@@ -1,3 +1,3 @@
1
1
  module Coolsms
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/test/coolsms_test.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require_relative 'test_helper'
2
- require 'coolsms'
3
2
 
4
3
  describe "Coolsms" do
5
4
  before do
@@ -9,25 +8,33 @@ describe "Coolsms" do
9
8
 
10
9
  it "Send" do
11
10
  send = Coolsms::SMS::Send.new(mode: "test")
12
- res = send.send("010-8566-4396", "010-8566-4396", "Test Message")
11
+ res = send.send("01012345678", "01000000000", "Test Message")
12
+ p res
13
+
13
14
  assert_equal res[:code], "200"
14
15
  end
15
16
 
16
17
  it "Balance" do
17
18
  balance = Coolsms::SMS::Balance.new
18
19
  res = balance.balance
20
+ p res
21
+
19
22
  assert_equal res[:code], "200"
20
23
  end
21
24
 
22
25
  it "Status" do
23
26
  status = Coolsms::SMS::Status.new
24
27
  res = status.status
28
+ p res
29
+
25
30
  assert_equal res[:code], "200"
26
31
  end
27
32
 
28
33
  it "Sent" do
29
34
  sent = Coolsms::SMS::Sent.new
30
35
  res = sent.sent
36
+ p res
37
+
31
38
  assert_equal res[:code], "200"
32
39
  end
33
40
 
data/test/test_helper.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  # encoding: utf-8
2
2
  require 'minitest/autorun'
3
+ require_relative '../lib/coolsms'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coolsms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - JunSangPil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-29 00:00:00.000000000 Z
11
+ date: 2016-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler