coolsms 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f8fa65cf2eba3157cb591e1c6c1ac3173e2fdff8
4
+ data.tar.gz: 33dec89fc519348832d2c7b9d70e91e2a84ecea5
5
+ SHA512:
6
+ metadata.gz: 05fb6c201a5efbadf9d8d3135fd884cc823fd5bb946c829ca2b6259c3416f637529b0f14d492610a43762d22bd7139ccba3fdf41c1f935770d20a941de2e7820
7
+ data.tar.gz: a1b72deb4be7d8509bc300d57d34f269404fac102ca2da56ee25ec89ea7f928333ca7a21a860ba38f59e632716efa1f9333700d635f2b267eb5c5eac7339b261
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in coolsms.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 JunSangPil
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Coolsms
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'coolsms'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install coolsms
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/coolsms/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
data/coolsms.gemspec ADDED
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'coolsms/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "coolsms"
8
+ spec.version = Coolsms::VERSION
9
+ spec.authors = ["JunSangPil"]
10
+ spec.email = ["jun85664396@gmail.com"]
11
+ spec.summary = %q{coolsms Rest API helper}
12
+ spec.description = %q{The coolsms ruby module not supporting. so I have made ruby module.}
13
+ spec.homepage = "http://github.com/jun85664396"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ end
@@ -0,0 +1,3 @@
1
+ module Coolsms
2
+ VERSION = "0.0.1"
3
+ end
data/lib/coolsms.rb ADDED
@@ -0,0 +1,72 @@
1
+ require "coolsms/version"
2
+ require 'securerandom'
3
+ require 'net/http'
4
+ require 'json'
5
+
6
+ module Coolsms
7
+ class SMS
8
+
9
+ protected
10
+ #URI
11
+ attr_accessor :uri
12
+
13
+ #API KEY
14
+ attr_accessor :api_key
15
+
16
+ #API SECRET KEY
17
+ attr_accessor :api_secret
18
+
19
+ #SMS Type default : SMS
20
+ attr_accessor :type
21
+
22
+ #Salt
23
+ attr_accessor :salt
24
+
25
+ #Time Default : now
26
+ attr_accessor :timestamp
27
+
28
+ #Salt
29
+ attr_accessor :salt
30
+
31
+ #Charset
32
+ attr_accessor :charset
33
+
34
+ #Datetime Format YYYYMMDDHHMISS
35
+ attr_accessor :datetime
36
+
37
+ #Delay
38
+ attr_accessor :delay
39
+
40
+ def initialize(api_key, api_secret, option = {})
41
+ self.uri = URI("https://api.coolsms.co.kr/")
42
+ self.api_key ||= api_key
43
+ self.api_secret ||= api_secret
44
+ self.type ||= option[:type]
45
+ self.charset ||= option[:charset]
46
+ self.datetime ||= option[:datetime]
47
+ self.delay ||= option[:delay]
48
+ end
49
+
50
+ def signature
51
+ self.timestamp = Time.now.to_i
52
+ self.salt = SecureRandom.hex
53
+ hmac_data = self.timestamp.to_s + self.salt.to_s
54
+ OpenSSL::HMAC.hexdigest("md5", self.api_secret, hmac_data)
55
+ end
56
+
57
+ public
58
+ def send(from, to, text)
59
+ signature = self.signature
60
+ fields = {api_key: self.api_key, timestamp: self.timestamp, salt: self.salt, signature: signature, from: from, to: to, text: text, type: self.type, charset: self.charset, datetime: self.datetime, delay: self.delay}
61
+ res = Net::HTTP.post_form(self.uri+"/1/send", fields)
62
+ if res.code == "200"
63
+ body = JSON.parse(res.body)
64
+ return {ret: true, message: body['result_message'], code: res.code} if body['result_code'] == "00"
65
+ return {ret: false, message: body['result_message'], code: res.code}
66
+ else
67
+ return {ret: false, code: res.code}
68
+ end
69
+ end
70
+
71
+ end
72
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: coolsms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - JunSangPil
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-04-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: The coolsms ruby module not supporting. so I have made ruby module.
42
+ email:
43
+ - jun85664396@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".gitignore"
49
+ - Gemfile
50
+ - LICENSE.txt
51
+ - README.md
52
+ - Rakefile
53
+ - coolsms.gemspec
54
+ - lib/coolsms.rb
55
+ - lib/coolsms/version.rb
56
+ homepage: http://github.com/jun85664396
57
+ licenses:
58
+ - MIT
59
+ metadata: {}
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ requirements: []
75
+ rubyforge_project:
76
+ rubygems_version: 2.4.5
77
+ signing_key:
78
+ specification_version: 4
79
+ summary: coolsms Rest API helper
80
+ test_files: []