rumble 0.3.7 → 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
- 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