cpsms 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +5 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +22 -17
- data/Guardfile +3 -3
- data/README.md +3 -2
- data/Rakefile +1 -1
- data/circle.yml +11 -0
- data/cpsms.gemspec +20 -18
- data/lib/cpsms.rb +1 -1
- data/lib/cpsms/sms.rb +10 -11
- data/lib/cpsms/version.rb +1 -1
- data/spec/lib/cpsms/sms_spec.rb +27 -29
- data/spec/spec_helper.rb +17 -11
- metadata +34 -53
- data/.travis.yml +0 -8
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f80984c8b224ff0997097e44ea7aa61963e82283
|
4
|
+
data.tar.gz: 4b2a51bf2357919c144918fb035e010f62e6e88c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 011e544811883eaab3022e3a074bc1f2298e5f186124aa24383da71ea188467901d161c863a0bd563fee18727ad01eb8c82b07af8e73e62bfc1de11d4d74ecb2
|
7
|
+
data.tar.gz: a5006d9315a6414692d4723b6816c57f8e60fde0905ba486f18b3d2b6dc1e2edd5250bbb720a584036f64bb60aba33d1e776a1c4fffab15b0e93a859efe05818
|
data/.rubocop.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cpsms (0.
|
5
|
-
httparty (
|
6
|
-
libxml-ruby (
|
4
|
+
cpsms (0.2.0)
|
5
|
+
httparty (>= 0.10.2)
|
6
|
+
libxml-ruby (>= 2.6.0)
|
7
7
|
|
8
8
|
GEM
|
9
|
-
remote:
|
9
|
+
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
11
|
+
addressable (2.3.6)
|
12
12
|
ansi (1.4.2)
|
13
|
-
crack (0.
|
13
|
+
crack (0.4.2)
|
14
|
+
safe_yaml (~> 1.0.0)
|
14
15
|
ffi (1.0.11)
|
15
16
|
ffi (1.0.11-java)
|
16
17
|
guard (0.10.0)
|
@@ -18,24 +19,25 @@ GEM
|
|
18
19
|
thor (~> 0.14.6)
|
19
20
|
guard-minitest (0.4.0)
|
20
21
|
guard (~> 0.4)
|
21
|
-
httparty (0.
|
22
|
-
|
22
|
+
httparty (0.13.3)
|
23
|
+
json (~> 1.8)
|
23
24
|
multi_xml (>= 0.5.2)
|
24
|
-
|
25
|
+
json (1.8.2)
|
26
|
+
libxml-ruby (2.8.0)
|
25
27
|
metaclass (0.0.1)
|
26
28
|
minitest (2.11.2)
|
27
29
|
mocha (0.10.5)
|
28
30
|
metaclass (~> 0.0.1)
|
29
|
-
|
30
|
-
multi_xml (0.5.3)
|
31
|
+
multi_xml (0.5.5)
|
31
32
|
rake (0.9.2.2)
|
33
|
+
safe_yaml (1.0.4)
|
32
34
|
thor (0.14.6)
|
33
35
|
turn (0.9.3)
|
34
36
|
ansi
|
35
|
-
vcr (2.
|
36
|
-
webmock (1.
|
37
|
-
addressable (
|
38
|
-
crack (>= 0.
|
37
|
+
vcr (2.9.3)
|
38
|
+
webmock (1.20.4)
|
39
|
+
addressable (>= 2.3.6)
|
40
|
+
crack (>= 0.3.2)
|
39
41
|
|
40
42
|
PLATFORMS
|
41
43
|
java
|
@@ -48,5 +50,8 @@ DEPENDENCIES
|
|
48
50
|
mocha (~> 0.10.5)
|
49
51
|
rake (~> 0.9.2)
|
50
52
|
turn (~> 0.9.3)
|
51
|
-
vcr (~> 2.
|
52
|
-
webmock (~> 1.
|
53
|
+
vcr (~> 2.9.3)
|
54
|
+
webmock (~> 1.20.4)
|
55
|
+
|
56
|
+
BUNDLED WITH
|
57
|
+
1.11.2
|
data/Guardfile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
guard 'minitest' do
|
2
|
-
watch(%r
|
3
|
-
watch(%r
|
4
|
-
watch(%r
|
2
|
+
watch(%r{^spec/(.*)_spec\.rb})
|
3
|
+
watch(%r{^lib/(.*)\.rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
4
|
+
watch(%r{^spec/spec_helper\.rb}) { 'spec' }
|
5
5
|
end
|
data/README.md
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
+
[](http://badge.fury.io/rb/cpsms)
|
2
|
+
[](https://circleci.com/gh/dipth/cpsms/tree/master)
|
3
|
+
|
1
4
|
# CPSMS
|
2
5
|
|
3
6
|
A wrapper for the cpsms.dk API.
|
4
7
|
|
5
8
|
It will allow you to easily send SMS messages through the API from your Ruby applications.
|
6
9
|
|
7
|
-
[](http://travis-ci.org/dipth/cpsms)
|
8
|
-
|
9
10
|
# Prerequisites
|
10
11
|
|
11
12
|
To use the API you need to have an account on cpsms.dk
|
data/Rakefile
CHANGED
data/circle.yml
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
dependencies:
|
2
|
+
override:
|
3
|
+
- rvm-exec 1.9.3 bundle install
|
4
|
+
- rvm-exec 2.1.2 bundle install
|
5
|
+
- rvm-exec 2.2.0 bundle install
|
6
|
+
|
7
|
+
test:
|
8
|
+
override:
|
9
|
+
- rvm-exec 1.9.3 bundle exec rake
|
10
|
+
- rvm-exec 2.1.2 bundle exec rake
|
11
|
+
- rvm-exec 2.2.0 bundle exec rake
|
data/cpsms.gemspec
CHANGED
@@ -1,36 +1,38 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
require
|
1
|
+
# encoding: utf-8
|
2
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
3
|
+
require 'cpsms/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'cpsms'
|
7
7
|
s.version = CPSMS::VERSION
|
8
|
-
s.authors = [
|
9
|
-
s.email = [
|
10
|
-
s.homepage =
|
11
|
-
s.summary =
|
12
|
-
s.description =
|
8
|
+
s.authors = ['dipth']
|
9
|
+
s.email = ['thomas@dippel.dk']
|
10
|
+
s.homepage = 'https://github.com/dipth/cpsms'
|
11
|
+
s.summary = 'Wrapper for the cpsms.dk API'
|
12
|
+
s.description = 'Wrapper for the cpsms.dk API'
|
13
13
|
|
14
|
-
s.rubyforge_project =
|
14
|
+
s.rubyforge_project = 'cpsms'
|
15
15
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
-
s.require_paths = [
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
19
|
+
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.
|
21
|
+
s.required_ruby_version = '>= 1.9.3'
|
22
|
+
|
23
|
+
s.add_dependency('httparty', '>= 0.10.2')
|
22
24
|
|
23
25
|
case RUBY_PLATFORM
|
24
26
|
when 'java'
|
25
|
-
s.add_dependency('libxml-jruby', '
|
26
|
-
s.add_dependency('jruby-openssl', '
|
27
|
+
s.add_dependency('libxml-jruby', '>= 1.0.0')
|
28
|
+
s.add_dependency('jruby-openssl', '>= 0.7.6')
|
27
29
|
else
|
28
|
-
s.add_dependency('libxml-ruby', '
|
30
|
+
s.add_dependency('libxml-ruby', '>= 2.6.0')
|
29
31
|
end
|
30
32
|
|
31
33
|
s.add_development_dependency('minitest', '~> 2.11.2')
|
32
|
-
s.add_development_dependency('webmock', '~> 1.
|
33
|
-
s.add_development_dependency('vcr', '~> 2.
|
34
|
+
s.add_development_dependency('webmock', '~> 1.20.4')
|
35
|
+
s.add_development_dependency('vcr', '~> 2.9.3')
|
34
36
|
s.add_development_dependency('turn', '~> 0.9.3')
|
35
37
|
s.add_development_dependency('rake', '~> 0.9.2')
|
36
38
|
s.add_development_dependency('guard-minitest', '~> 0.4.0')
|
data/lib/cpsms.rb
CHANGED
data/lib/cpsms/sms.rb
CHANGED
@@ -2,34 +2,32 @@ module CPSMS
|
|
2
2
|
require 'xml'
|
3
3
|
|
4
4
|
class SMS
|
5
|
-
|
6
5
|
include HTTParty
|
7
6
|
|
8
7
|
base_uri 'https://www.cpsms.dk'
|
9
8
|
|
10
9
|
def self.send!(username, password, recipient, message, options = {})
|
11
|
-
body = { :
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
10
|
+
body = { username: username,
|
11
|
+
password: password,
|
12
|
+
recipient: recipient,
|
13
|
+
message: message }
|
15
14
|
|
16
15
|
body[:from] = options[:from] if options[:from]
|
17
16
|
body[:utf8] = 1 if options[:utf8] == true
|
18
17
|
|
19
|
-
parse_response
|
18
|
+
parse_response post('/sms/', body: body).body
|
20
19
|
end
|
21
20
|
|
22
|
-
private
|
23
|
-
|
24
21
|
def self.parse_response(response)
|
25
22
|
xml = XML::Parser.string(response).parse
|
26
23
|
|
27
24
|
error = xml.find_first('//error')
|
28
|
-
|
25
|
+
handle_errors(error.content) if error
|
29
26
|
|
30
27
|
success = xml.find_first('//succes') # cpsms.dk don't know how to spell
|
31
|
-
|
28
|
+
handle_success(success.content) if success
|
32
29
|
end
|
30
|
+
private_class_method :parse_response
|
33
31
|
|
34
32
|
def self.handle_errors(error)
|
35
33
|
case error
|
@@ -37,6 +35,7 @@ module CPSMS
|
|
37
35
|
raise InvalidCredentialsError
|
38
36
|
end
|
39
37
|
end
|
38
|
+
private_class_method :handle_errors
|
40
39
|
|
41
40
|
def self.handle_success(success)
|
42
41
|
case success
|
@@ -46,7 +45,7 @@ module CPSMS
|
|
46
45
|
true
|
47
46
|
end
|
48
47
|
end
|
49
|
-
|
48
|
+
private_class_method :handle_success
|
50
49
|
end
|
51
50
|
|
52
51
|
class InvalidCredentialsError < StandardError; end
|
data/lib/cpsms/version.rb
CHANGED
data/spec/lib/cpsms/sms_spec.rb
CHANGED
@@ -2,72 +2,70 @@ require(File.expand_path('./../../../spec_helper', __FILE__))
|
|
2
2
|
require 'mocha'
|
3
3
|
|
4
4
|
describe CPSMS::SMS do
|
5
|
-
|
6
5
|
let(:username) { ENV.fetch('CPSMS_USERNAME', 'fake-cpsms-username') }
|
7
6
|
let(:password) { ENV.fetch('CPSMS_PASSWORD', 'fake-cpsms-password') }
|
8
7
|
let(:recipient) { ENV.fetch('CPSMS_MOBILE_NUMBER', 'fake-cpsms-mobile-number') }
|
9
8
|
|
10
|
-
describe
|
11
|
-
it
|
9
|
+
describe 'default attributes' do
|
10
|
+
it 'must include httparty methods' do
|
12
11
|
CPSMS::SMS.must_include HTTParty
|
13
12
|
end
|
14
13
|
|
15
|
-
it
|
14
|
+
it 'must have the base url set to the CPSMS API endpoint' do
|
16
15
|
CPSMS::SMS.base_uri.must_equal 'https://www.cpsms.dk'
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
|
-
describe
|
19
|
+
describe '.send!' do
|
21
20
|
before do
|
22
21
|
VCR.insert_cassette 'sms',
|
23
|
-
:
|
24
|
-
:
|
22
|
+
record: :new_episodes,
|
23
|
+
match_requests_on: [:method, :body]
|
25
24
|
end
|
26
|
-
after
|
25
|
+
after { VCR.eject_cassette }
|
27
26
|
|
28
|
-
it
|
27
|
+
it 'must have a send! method' do
|
29
28
|
CPSMS::SMS.must_respond_to :send!
|
30
29
|
end
|
31
30
|
|
32
|
-
it
|
31
|
+
it 'passes on the from option to the API' do
|
33
32
|
CPSMS::SMS.expects(:parse_response) { nil }
|
34
|
-
CPSMS::SMS.expects(:post).with
|
35
|
-
options[:body][:from] ==
|
36
|
-
end.returns(
|
37
|
-
CPSMS::SMS.send!(username, password, recipient,
|
33
|
+
CPSMS::SMS.expects(:post).with do |_path, options|
|
34
|
+
options[:body][:from] == 'foobar'
|
35
|
+
end.returns(stub(:body))
|
36
|
+
CPSMS::SMS.send!(username, password, recipient, 'test', from: 'foobar')
|
38
37
|
end
|
39
38
|
|
40
|
-
it
|
39
|
+
it 'passes on the utf8 option to the API' do
|
41
40
|
CPSMS::SMS.expects(:parse_response) { nil }
|
42
|
-
CPSMS::SMS.expects(:post).with
|
41
|
+
CPSMS::SMS.expects(:post).with do |_path, options|
|
43
42
|
options[:body][:utf8] == 1
|
44
|
-
end.returns(
|
45
|
-
CPSMS::SMS.send!(username, password, recipient,
|
43
|
+
end.returns(stub(:body))
|
44
|
+
CPSMS::SMS.send!(username, password, recipient, 'test', utf8: true)
|
46
45
|
end
|
47
46
|
|
48
|
-
describe
|
49
|
-
it
|
47
|
+
describe 'with invalid credentials' do
|
48
|
+
it 'raises a CPSMS::InvalidCredentialsError' do
|
50
49
|
proc do
|
51
|
-
CPSMS::SMS.send!(
|
50
|
+
CPSMS::SMS.send!('wrong', 'wrong', recipient, 'test')
|
52
51
|
end.must_raise CPSMS::InvalidCredentialsError
|
53
52
|
end
|
54
53
|
end
|
55
54
|
|
56
|
-
describe
|
57
|
-
describe
|
58
|
-
it
|
55
|
+
describe 'with valid credentials' do
|
56
|
+
describe 'and invalid recipient' do
|
57
|
+
it 'raises a CPSMS::InvalidRecipientError' do
|
59
58
|
proc do
|
60
|
-
CPSMS::SMS.send!(username, password,
|
59
|
+
CPSMS::SMS.send!(username, password, 12_345_678, 'test')
|
61
60
|
end.must_raise CPSMS::InvalidRecipientError
|
62
61
|
end
|
63
62
|
end
|
64
63
|
|
65
|
-
describe
|
66
|
-
it
|
67
|
-
CPSMS::SMS.send!(username, password, recipient,
|
64
|
+
describe 'and a valid recipient' do
|
65
|
+
it 'returns true' do
|
66
|
+
CPSMS::SMS.send!(username, password, recipient, 'test').must_equal true
|
68
67
|
end
|
69
68
|
end
|
70
69
|
end
|
71
70
|
end
|
72
|
-
|
73
71
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,26 +1,32 @@
|
|
1
|
-
#we need the actual library file
|
1
|
+
# we need the actual library file
|
2
2
|
require(File.expand_path('../../lib/cpsms', __FILE__))
|
3
3
|
|
4
|
-
#dependencies
|
4
|
+
# dependencies
|
5
5
|
require 'minitest/autorun'
|
6
6
|
require 'webmock/minitest'
|
7
7
|
require 'vcr'
|
8
8
|
require 'turn'
|
9
9
|
|
10
10
|
Turn.config do |c|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
# :outline - turn's original case/test outline mode [default]
|
12
|
+
c.format = :outline
|
13
|
+
# use humanized test names (works only with :outline format)
|
14
|
+
c.natural = true
|
15
15
|
end
|
16
16
|
|
17
|
-
#VCR config
|
17
|
+
# VCR config
|
18
18
|
VCR.configure do |c|
|
19
19
|
c.cassette_library_dir = 'spec/fixtures/cpsms_cassettes'
|
20
|
-
c.
|
21
|
-
c.filter_sensitive_data('username=<USERNAME>')
|
22
|
-
|
23
|
-
|
20
|
+
c.hook_into :webmock
|
21
|
+
c.filter_sensitive_data('username=<USERNAME>') do
|
22
|
+
"username=#{ENV.fetch('CPSMS_USERNAME', 'fake-cpsms-username')}"
|
23
|
+
end
|
24
|
+
c.filter_sensitive_data('password=<PASSWORD>') do
|
25
|
+
"password=#{ENV.fetch('CPSMS_PASSWORD', 'fake-cpsms-password')}"
|
26
|
+
end
|
27
|
+
c.filter_sensitive_data('recipient=<MOBILE_NUMBER>') do
|
28
|
+
"recipient=#{ENV.fetch('CPSMS_MOBILE_NUMBER', 'fake-cpsms-mobile-number')}"
|
29
|
+
end
|
24
30
|
|
25
31
|
# Since HTTParty takes a Hash of body data, we can never be sure that it is
|
26
32
|
# sent in the same order. This can cause VCR to not recognise the request and
|
metadata
CHANGED
@@ -1,158 +1,139 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpsms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- dipth
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-09-21 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.10.2
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 0.10.2
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: libxml-ruby
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 2.6.0
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 2.6.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: minitest
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 2.11.2
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 2.11.2
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: webmock
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
61
|
+
version: 1.20.4
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
68
|
+
version: 1.20.4
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: vcr
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version: 2.
|
75
|
+
version: 2.9.3
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version: 2.
|
82
|
+
version: 2.9.3
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: turn
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- - ~>
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: 0.9.3
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- - ~>
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: 0.9.3
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rake
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- - ~>
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: 0.9.2
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- - ~>
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: 0.9.2
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: guard-minitest
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- - ~>
|
115
|
+
- - "~>"
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: 0.4.0
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- - ~>
|
122
|
+
- - "~>"
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: 0.4.0
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: mocha
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- - ~>
|
129
|
+
- - "~>"
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: 0.10.5
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- - ~>
|
136
|
+
- - "~>"
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: 0.10.5
|
158
139
|
description: Wrapper for the cpsms.dk API
|
@@ -162,14 +143,15 @@ executables: []
|
|
162
143
|
extensions: []
|
163
144
|
extra_rdoc_files: []
|
164
145
|
files:
|
165
|
-
- .gitignore
|
166
|
-
- .
|
167
|
-
- .
|
146
|
+
- ".gitignore"
|
147
|
+
- ".rubocop.yml"
|
148
|
+
- ".rvmrc_example"
|
168
149
|
- Gemfile
|
169
150
|
- Gemfile.lock
|
170
151
|
- Guardfile
|
171
152
|
- README.md
|
172
153
|
- Rakefile
|
154
|
+
- circle.yml
|
173
155
|
- cpsms.gemspec
|
174
156
|
- lib/cpsms.rb
|
175
157
|
- lib/cpsms/sms.rb
|
@@ -179,27 +161,26 @@ files:
|
|
179
161
|
- spec/spec_helper.rb
|
180
162
|
homepage: https://github.com/dipth/cpsms
|
181
163
|
licenses: []
|
164
|
+
metadata: {}
|
182
165
|
post_install_message:
|
183
166
|
rdoc_options: []
|
184
167
|
require_paths:
|
185
168
|
- lib
|
186
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
-
none: false
|
188
170
|
requirements:
|
189
|
-
- -
|
171
|
+
- - ">="
|
190
172
|
- !ruby/object:Gem::Version
|
191
|
-
version:
|
173
|
+
version: 1.9.3
|
192
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
175
|
requirements:
|
195
|
-
- -
|
176
|
+
- - ">="
|
196
177
|
- !ruby/object:Gem::Version
|
197
178
|
version: '0'
|
198
179
|
requirements: []
|
199
180
|
rubyforge_project: cpsms
|
200
|
-
rubygems_version:
|
181
|
+
rubygems_version: 2.2.3
|
201
182
|
signing_key:
|
202
|
-
specification_version:
|
183
|
+
specification_version: 4
|
203
184
|
summary: Wrapper for the cpsms.dk API
|
204
185
|
test_files:
|
205
186
|
- spec/fixtures/cpsms_cassettes/sms.yml
|