rumble 0.3.7 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8444dbb9ae57fe4dfab417bf1c7da4a84277bfe9
4
- data.tar.gz: 8168715865ba5aace082354653b35775bb900c95
2
+ SHA256:
3
+ metadata.gz: dbc3a2227c56684cd5a14e567fc5b009f9f2761445c8eb876a535b2aa3d7fe74
4
+ data.tar.gz: 4e2e702038a8156dc1b7a9533abe04c5a56328c3c434d978f0df21507d46a955
5
5
  SHA512:
6
- metadata.gz: f9b0ca6cce0f5795e05b938d79b70d41e826cd39c526678835c3ea5462e91aaeec84fab5e521ea875ed297959e9cacb102d968fc9552281fe8b8ea9e5730a5d1
7
- data.tar.gz: 8a597a9124e33c1866751d39635c545f83b584d8dde02a46b65142f762c7d222612f96d5f86fe0b51c96fa74ffc939a8787b8f5dcb031354bffb6aec393bf30c
6
+ metadata.gz: 3cbfc146a239981c65dd00cafcbfecb807450c75768c0821c5367ab6f911e352f5284e35cf29ce5de816ddef0895da9fcb93f7aad4d6465bba36acb94aeb3ea7
7
+ data.tar.gz: e7a6b4e1ee242e575b3002116dfd5b09547b4a749103036e5b390658136a9b8cb462995a855ecd943eb7703ee1dfa11510783d50e032ecc8a1abf7fd6870520a
data/.rubocop.yml CHANGED
@@ -3,13 +3,13 @@ AllCops:
3
3
  - 'bin/**/*'
4
4
  - 'assets/**/*'
5
5
  DisplayCopNames: true
6
- TargetRubyVersion: 2.2
6
+ TargetRubyVersion: 2.3
7
7
 
8
8
  Metrics/CyclomaticComplexity:
9
9
  Max: 20
10
10
  Metrics/MethodLength:
11
11
  Enabled: false
12
- Style/MultilineMethodCallIndentation:
12
+ Layout/MultilineMethodCallIndentation:
13
13
  Enabled: false
14
14
  Metrics/AbcSize:
15
15
  Enabled: false
@@ -19,3 +19,5 @@ Metrics/PerceivedComplexity:
19
19
  Max: 20
20
20
  Style/MultilineTernaryOperator:
21
21
  Enabled: false
22
+ Layout/EmptyLineAfterGuardClause:
23
+ Enabled: false
data/.rultor.yml CHANGED
@@ -2,6 +2,8 @@ assets:
2
2
  rubygems.yml: zerocracy/home#assets/rubygems.yml
3
3
  s3cfg: zerocracy/home#assets/s3cfg
4
4
  install: |
5
+ export GEM_HOME=~/.ruby
6
+ export GEM_PATH=$GEM_HOME:$GEM_PATH
5
7
  sudo apt-get -y update
6
8
  sudo gem install pdd
7
9
  release:
data/.simplecov CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the 'Software'), to deal
data/.travis.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
3
+ - 2.6.0
4
4
  cache: bundler
5
5
  branches:
6
6
  only:
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -19,4 +21,5 @@
19
21
  # SOFTWARE.
20
22
 
21
23
  source 'https://rubygems.org'
24
+ ruby '~>2.3'
22
25
  gemspec
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2018 Yegor Bugayenko
3
+ Copyright (c) 2018-2019 Yegor Bugayenko
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
@@ -45,15 +45,25 @@ Yegor
45
45
  The list of emails must contain three columns separated by a comma: first
46
46
  name, last name, and email.
47
47
 
48
- ## How to contribute?
48
+ # How to contribute
49
49
 
50
- Just submit a pull request. Make sure `rake` passes.
50
+ Read [these guidelines](https://www.yegor256.com/2014/04/15/github-guidelines.html).
51
+ Make sure you build is green before you contribute
52
+ your pull request. You will need to have [Ruby](https://www.ruby-lang.org/en/) 2.3+ and
53
+ [Bundler](https://bundler.io/) installed. Then:
54
+
55
+ ```
56
+ $ bundle update
57
+ $ rake
58
+ ```
59
+
60
+ If it's clean and you don't see any error messages, submit your pull request.
51
61
 
52
62
  ## License
53
63
 
54
64
  (The MIT License)
55
65
 
56
- Copyright (c) 2018 Yegor Bugayenko
66
+ Copyright (c) 2018-2019 Yegor Bugayenko
57
67
 
58
68
  Permission is hereby granted, free of charge, to any person obtaining a copy
59
69
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
data/bin/rumble CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright (c) 2018 Yegor Bugayenko
2
+ # Copyright (c) 2018-2019 Yegor Bugayenko
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  # of this software and associated documentation files (the 'Software'), to deal
@@ -54,6 +54,9 @@ begin
54
54
  o.string '--from',
55
55
  'Full SMTP From field, e.g. "John Doe <jd@example.com>"',
56
56
  required: true
57
+ o.string '--method',
58
+ 'How to deliver them: "smtp" or "sendmail" (default: sendmail)',
59
+ default: 'sendmail'
57
60
  o.string '--host', 'SMTP host name', required: true
58
61
  o.string '--port', 'SMTP port number (25 by default)', default: 25
59
62
  o.string '--user', 'SMTP user name', required: true
@@ -69,20 +72,27 @@ begin
69
72
  o.string '--col-email', 'Email columm (2 by default)', default: 2
70
73
  end
71
74
  rescue Slop::Error => ex
72
- raise StandardError, "#{ex.message}, try --help"
75
+ raise "#{ex.message}, try --help"
73
76
  end
74
77
 
75
78
  Encoding.default_external = Encoding::UTF_8
76
79
  Encoding.default_internal = Encoding::UTF_8
77
80
 
78
81
  Mail.defaults do
79
- delivery_method :smtp, {
80
- :address => opts[:host],
81
- :port => opts[:port],
82
- :user_name => opts[:user],
83
- :password => opts[:password],
84
- :enable_starttls_auto => true
85
- }
82
+ case opts[:method].downcase.strip
83
+ when 'sendmail'
84
+ delivery_method :sendmail
85
+ when 'smtp'
86
+ delivery_method :smtp, {
87
+ :address => opts[:host],
88
+ :port => opts[:port],
89
+ :user_name => opts[:user],
90
+ :password => opts[:password],
91
+ :enable_starttls_auto => true
92
+ }
93
+ else
94
+ raise "Delivery method #{opts[:method]} is not supported"
95
+ end
86
96
  end
87
97
 
88
98
  Rumble::CLI.new(opts).send
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -20,8 +22,8 @@
20
22
 
21
23
  # Rumble main module.
22
24
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
23
- # Copyright:: Copyright (c) 2018 Yegor Bugayenko
25
+ # Copyright:: Copyright (c) 2018-2019 Yegor Bugayenko
24
26
  # License:: MIT
25
27
  module Rumble
26
- VERSION = '0.3.7'.freeze
28
+ VERSION = '0.4.0'
27
29
  end
data/lib/rumble.rb CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +31,7 @@ require_relative 'rumble/version'
29
31
 
30
32
  # Rumble main script.
31
33
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2018 Yegor Bugayenko
34
+ # Copyright:: Copyright (c) 2018-2019 Yegor Bugayenko
33
35
  # License:: MIT
34
36
  module Rumble
35
37
  # Command line interface.
data/rumble.gemspec CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -20,7 +22,7 @@
20
22
 
21
23
  require 'English'
22
24
 
23
- lib = File.expand_path('../lib', __FILE__)
25
+ lib = File.expand_path('lib', __dir__)
24
26
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
25
27
  require_relative 'lib/rumble/version'
26
28
 
@@ -30,7 +32,7 @@ Gem::Specification.new do |s|
30
32
  s.required_rubygems_version = Gem::Requirement.new('>= 0')
31
33
  end
32
34
  s.rubygems_version = '2.2'
33
- s.required_ruby_version = '>= 2.2'
35
+ s.required_ruby_version = '>= 2.3'
34
36
  s.name = 'rumble'
35
37
  s.version = Rumble::VERSION
36
38
  s.license = 'MIT'
@@ -44,18 +46,18 @@ Gem::Specification.new do |s|
44
46
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
45
47
  s.rdoc_options = ['--charset=UTF-8']
46
48
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
47
- s.add_runtime_dependency 'liquid', '~>4.0.0'
48
- s.add_runtime_dependency 'mail', '~>2.7.0'
49
- s.add_runtime_dependency 'rainbow', '~>3.0'
50
- s.add_runtime_dependency 'redcarpet', '~>3.4.0'
51
- s.add_runtime_dependency 'slop', '~>4.4'
52
- s.add_runtime_dependency 'uuidtools', '~>2.1.5'
49
+ s.add_runtime_dependency 'liquid', '4.0.1'
50
+ s.add_runtime_dependency 'mail', '2.7.1'
51
+ s.add_runtime_dependency 'rainbow', '3.0.0'
52
+ s.add_runtime_dependency 'redcarpet', '3.4.0'
53
+ s.add_runtime_dependency 'slop', '4.6.2'
54
+ s.add_runtime_dependency 'uuidtools', '2.1.5'
53
55
  s.add_development_dependency 'codecov', '0.1.10'
54
56
  s.add_development_dependency 'cucumber', '1.3.17'
55
57
  s.add_development_dependency 'minitest', '5.5.0'
56
58
  s.add_development_dependency 'rake', '12.0.0'
57
59
  s.add_development_dependency 'rdoc', '4.2.0'
58
60
  s.add_development_dependency 'rspec-rails', '3.1.0'
59
- s.add_development_dependency 'rubocop', '0.52.0'
60
- s.add_development_dependency 'rubocop-rspec', '1.5.1'
61
+ s.add_development_dependency 'rubocop', '0.61.0'
62
+ s.add_development_dependency 'rubocop-rspec', '1.31.0'
61
63
  end
data/test/test__helper.rb CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test_rumble.rb CHANGED
@@ -1,4 +1,6 @@
1
- # Copyright (c) 2018 Yegor Bugayenko
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2018-2019 Yegor Bugayenko
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -25,7 +27,7 @@ require_relative '../lib/rumble'
25
27
 
26
28
  # Rumble main module test.
27
29
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
28
- # Copyright:: Copyright (c) 2018 Yegor Bugayenko
30
+ # Copyright:: Copyright (c) 2018-2019 Yegor Bugayenko
29
31
  # License:: MIT
30
32
  class TestRumble < Minitest::Test
31
33
  def test_basic
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumble
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-01 00:00:00.000000000 Z
11
+ date: 2019-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: 4.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: 4.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mail
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.7.0
33
+ version: 2.7.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.7.0
40
+ version: 2.7.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rainbow
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: 3.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: redcarpet
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - '='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 3.4.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - '='
67
67
  - !ruby/object:Gem::Version
68
68
  version: 3.4.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: slop
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: '4.4'
75
+ version: 4.6.2
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: '4.4'
82
+ version: 4.6.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: uuidtools
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - '='
88
88
  - !ruby/object:Gem::Version
89
89
  version: 2.1.5
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - '='
95
95
  - !ruby/object:Gem::Version
96
96
  version: 2.1.5
97
97
  - !ruby/object:Gem::Dependency
@@ -184,28 +184,28 @@ dependencies:
184
184
  requirements:
185
185
  - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 0.52.0
187
+ version: 0.61.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - '='
193
193
  - !ruby/object:Gem::Version
194
- version: 0.52.0
194
+ version: 0.61.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rubocop-rspec
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - '='
200
200
  - !ruby/object:Gem::Version
201
- version: 1.5.1
201
+ version: 1.31.0
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - '='
207
207
  - !ruby/object:Gem::Version
208
- version: 1.5.1
208
+ version: 1.31.0
209
209
  description: Sends newsletters to recipients
210
210
  email: yegor256@gmail.com
211
211
  executables:
@@ -254,15 +254,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - ">="
256
256
  - !ruby/object:Gem::Version
257
- version: '2.2'
257
+ version: '2.3'
258
258
  required_rubygems_version: !ruby/object:Gem::Requirement
259
259
  requirements:
260
260
  - - ">="
261
261
  - !ruby/object:Gem::Version
262
262
  version: '0'
263
263
  requirements: []
264
- rubyforge_project:
265
- rubygems_version: 2.6.8
264
+ rubygems_version: 3.0.1
266
265
  signing_key:
267
266
  specification_version: 2
268
267
  summary: Command Line Newsletter Sending Tool