any_sms 0.3.0 → 0.4.0

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: 4ea6a7e81eb0c54c44900ee3389fc9db1e150b54
4
- data.tar.gz: 250a5d9943723104eb332ec503fb5a38a313a623
3
+ metadata.gz: dd201b20e9e6f5f8c4cbd818a78cf76cb2e375d7
4
+ data.tar.gz: e3cb1236b0ef59051cd464795ff8686c68a41cd0
5
5
  SHA512:
6
- metadata.gz: 3ff7f28fb99ff628fe20bcfe44c59d6fe0e2cda9ec6c876af2d23d84694febc9a9b58e388404c5612a955758a31011637e78e58331bfe437361a4b3cf84bb92f
7
- data.tar.gz: b51a1f1302d4eaf978fe5485924b145665ec9fb1597693098f35aaf25252107f504bd15efe630d5bbbeb64d27c396074fcfac80b28b80b887e3d977cf7a8a9fe
6
+ metadata.gz: 6218c8ad05efaccbe8243a4892e03e696ca4aa0bb239a3415f6c1997fcd306a30c02980a2f1641cb5e9cfccbce4e481ca9e554b1faec75debe1d2a7a26a91c66
7
+ data.tar.gz: bcc041dc093a9a18983c6314f92e1a756f5d2897c72884b8351e5b6f2cbb6bac633f6463a9ef394b3b598fdd2920d328345421721eb31ec9cda6e0e3dea6c1c3
@@ -8,6 +8,10 @@ Style/StringLiterals:
8
8
  Metrics/LineLength:
9
9
  Max: 90
10
10
 
11
+ Metrics/BlockLength:
12
+ Exclude:
13
+ - "**/*_spec.rb"
14
+
11
15
  Style/ClassAndModuleChildren:
12
16
  Enabled: false
13
17
 
@@ -6,4 +6,5 @@ install:
6
6
  - bundle install --retry=3
7
7
  script:
8
8
  - bundle exec rake
9
+ - bundle exec rubocop --version
9
10
  - bundle exec rubocop
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Fedcomp
3
+ Copyright (c) 2016-2017 Fedcomp
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -3,18 +3,15 @@
3
3
  [![Build Status](https://travis-ci.org/Fedcomp/any_sms.svg?branch=master)](https://travis-ci.org/Fedcomp/any_sms)
4
4
  [![Gem Version](https://badge.fury.io/rb/any_sms.svg)](https://badge.fury.io/rb/any_sms)
5
5
 
6
- Unified way to send SMS in ruby!
7
- Allows you to switch SMS services
8
- without having to rewrite any code that actually sends SMS.
9
- Supports multiple backends.
10
- Sending SMS is not pain anymore!
6
+ Simple and flexible solution to send sms in ruby,
7
+ supporting variety of sms services.
11
8
 
12
9
  ## Installation and usage
13
10
 
14
11
  Add this line to your application's Gemfile:
15
12
 
16
13
  ```ruby
17
- gem "any_sms"
14
+ gem "any_sms", "~> 0.4.0"
18
15
  ```
19
16
 
20
17
  Then somewhere in your initialization code:
@@ -258,8 +255,8 @@ For now you may just mock `AnySMS.send_sms` and check it was executed.
258
255
  Bug reports and pull requests are welcome on GitHub at https://github.com/Fedcomp/any_sms
259
256
 
260
257
  ## Submitting a Pull Request
261
- 1. Fork the [official repository](https://github.com/Fedcomp/any_sms).
262
- 2. Create a topic branch.
258
+ 1. Fork the [official repository](https://github.com/Fedcomp/any_sms/fork).
259
+ 2. Create a feature/bugfix branch.
263
260
  3. Implement your feature or bug fix.
264
261
  4. Add, commit, and push your changes.
265
262
  5. Submit a pull request.
@@ -8,7 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["Fedcomp"]
9
9
  spec.email = ["aglergen@gmail.com"]
10
10
 
11
- spec.summary = "Easily send sms using various sms backends!"
11
+ spec.summary = "Simple and flexible solution to send sms in ruby, " \
12
+ "supporting variety of sms services."
12
13
 
13
14
  spec.homepage = "https://github.com/Fedcomp/any_sms"
14
15
  spec.license = "MIT"
@@ -26,13 +27,12 @@ Gem::Specification.new do |spec|
26
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
28
  spec.require_paths = ["lib"]
28
29
 
29
- spec.add_development_dependency "bundler", "~> 1.12"
30
30
  spec.add_development_dependency "rake", "~> 10.0"
31
31
  spec.add_development_dependency "rspec", "~> 3.0"
32
32
 
33
33
  spec.add_development_dependency "guard", "~> 2.14"
34
34
  spec.add_development_dependency "guard-rspec", "~> 4.7"
35
+ spec.add_development_dependency "guard-yard"
35
36
  spec.add_development_dependency "pry-byebug", "~> 3.4"
36
37
  spec.add_development_dependency "rubocop"
37
- spec.add_development_dependency "guard-yard"
38
38
  end
@@ -16,7 +16,7 @@ module AnySMS::Backend
16
16
  #
17
17
  # @param _phone [String] Phone number to send sms (not used in this implementation)
18
18
  # @param _text [String] Sms text (not used in this implementation)
19
- def send_sms(_phone, _text)
19
+ def send_sms(_phone, _text, _args = {})
20
20
  raise NotImplementedError,
21
21
  "You should create your own class for every sms service you use"
22
22
  end
@@ -2,7 +2,7 @@
2
2
  class AnySMS::Backend::Logger < AnySMS::Backend::Base
3
3
  # Log level validation, all invalid values lead to ArgumentError.
4
4
  # Has anyone heard how to receive log levels from ruby logger itself?
5
- LOG_SEVERITY = [:debug, :info, :warn, :error, :fatal, :unknown].freeze
5
+ LOG_SEVERITY = %i[debug info warn error fatal unknown].freeze
6
6
 
7
7
  # @param logger [::Logger] Class implementing logger interface
8
8
  # @param severity [Symbol] Severity to log with
@@ -20,7 +20,7 @@ class AnySMS::Backend::Logger < AnySMS::Backend::Base
20
20
  #
21
21
  # @param phone [String] Phone number to send sms
22
22
  # @param text [String] Sms text
23
- def send_sms(phone, text)
23
+ def send_sms(phone, text, _args = {})
24
24
  @logger.send(@severity, "[SMS] #{phone}: #{text}")
25
25
  respond_with_status :success
26
26
  end
@@ -5,7 +5,7 @@ class AnySMS::Backend::NullSender < AnySMS::Backend::Base
5
5
  #
6
6
  # @param _phone [String] Phone number to send sms (not used in this implementation)
7
7
  # @param _text [String] Sms text (not used in this implementation)
8
- def send_sms(_phone, _text)
8
+ def send_sms(_phone, _text, _args = {})
9
9
  respond_with_status :success
10
10
  end
11
11
  end
@@ -38,13 +38,13 @@ RSpec::Matchers.define :send_sms do |options|
38
38
  failure_message do
39
39
  message = "expected block to send "
40
40
 
41
- if @phone && @text
42
- message += "sms message" \
43
- " to phone number \"#{@phone}\"" \
44
- " with text \"#{@text}\""
45
- else
46
- message += "any sms message"
47
- end
41
+ message += if @phone && @text
42
+ "sms message" \
43
+ " to phone number \"#{@phone}\"" \
44
+ " with text \"#{@text}\""
45
+ else
46
+ "any sms message"
47
+ end
48
48
 
49
49
  "#{message}, nothing was sent"
50
50
  end
@@ -66,3 +66,4 @@ RSpec::Matchers.define :send_sms do |options|
66
66
  @result ||= AnySMS::Response.new(status: :success)
67
67
  end
68
68
  end
69
+ # rubocop:enable Metrics/BlockLength
@@ -5,11 +5,12 @@ module AnySMS
5
5
  #
6
6
  # @param phone [String] Phone number for sms
7
7
  # @param text [String] Text for sms
8
- # @param args [Hash] Additional options for delivery. Currently only :backend
8
+ # @param backend [Symbol] Keyword argument to specify non-default backend
9
+ # @param args [Hash] Additional options for delivery bypassed to final backend
9
10
  def send_sms(phone, text, args = {})
10
11
  backend_name = args.delete(:backend)
11
12
  backend_class(backend_name).new(backend_params(backend_name))
12
- .send_sms(phone, text)
13
+ .send_sms(phone, text, args)
13
14
  end
14
15
 
15
16
  private
@@ -1,3 +1,3 @@
1
1
  module AnySMS
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.4.0".freeze
3
3
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: any_sms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fedcomp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-24 00:00:00.000000000 Z
11
+ date: 2018-01-19 00:00:00.000000000 Z
12
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.12'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.12'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -81,35 +67,35 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '4.7'
83
69
  - !ruby/object:Gem::Dependency
84
- name: pry-byebug
70
+ name: guard-yard
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - "~>"
73
+ - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '3.4'
75
+ version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '3.4'
82
+ version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: rubocop
84
+ name: pry-byebug
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: '3.4'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: '3.4'
111
97
  - !ruby/object:Gem::Dependency
112
- name: guard-yard
98
+ name: rubocop
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -169,8 +155,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
155
  version: '0'
170
156
  requirements: []
171
157
  rubyforge_project:
172
- rubygems_version: 2.5.1
158
+ rubygems_version: 2.6.8
173
159
  signing_key:
174
160
  specification_version: 4
175
- summary: Easily send sms using various sms backends!
161
+ summary: Simple and flexible solution to send sms in ruby, supporting variety of sms
162
+ services.
176
163
  test_files: []