roadie-rails 1.3.0 → 2.0.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: e4d5c326e544bd6b1009636f171a58e72d617d46
4
- data.tar.gz: 5dab77d31e9efae6d1a63846cd9a506501fcb407
2
+ SHA256:
3
+ metadata.gz: b598ab302972326c1a3be3f3b036abe8cb1ea5a5662e10754b19914e37dd1250
4
+ data.tar.gz: 5deb626d2d7c474391653e3bcc0bb27687c90454ee204ae048f2026df974c5fa
5
5
  SHA512:
6
- metadata.gz: fb007edf188d872bd9143cf90ee974fed1d896d2ae849d14dc168be176c03aac868f911f5d289b94d911158e6588b9b6dce19a9eba65a682ee8369c75097195c
7
- data.tar.gz: cad9b361c937836cffab6bc74e27d61b5f5fe7dba0d84821d271c29a53565b794bb451d1c879c6fb2e19de9cb8633b60155724d397a425bbc18b4e2b2b53a6d3
6
+ metadata.gz: b67ed7362896c5569f3d34baef59b999356af250bcc72c0e53460dc76929db87ca94035bcc66623544690832e2b151197a4532a08ebf2e626520a4c616015ed4
7
+ data.tar.gz: 3d98816b7c20d85d2b82c1d2ee5e9dbbcb704f1a70297d4c9eaa95fb209deea07a338de644a9e1bdf2d9c480830ebc64b00b5bccc125c7ad6706dbca5f64876c
data/.rubocop.yml ADDED
@@ -0,0 +1,71 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
3
+ Exclude:
4
+ - spec/railsapps/**/*
5
+
6
+ Naming/FileName:
7
+ Exclude:
8
+ # This is named intentionally this way (the gem name), in case someone
9
+ # includes it instead of "roadie/rails".
10
+ - lib/roadie-rails.rb
11
+
12
+ Style/StringLiterals:
13
+ EnforcedStyle: double_quotes
14
+
15
+ Style/TrailingCommaInHashLiteral:
16
+ EnforcedStyleForMultiline: comma
17
+
18
+ Style/TrailingCommaInArguments:
19
+ EnforcedStyleForMultiline: comma
20
+
21
+ Style/TrailingCommaInArrayLiteral:
22
+ EnforcedStyleForMultiline: consistent_comma
23
+
24
+ Layout/SpaceInsideHashLiteralBraces:
25
+ EnforcedStyle: no_space
26
+
27
+ Style/Documentation:
28
+ Enabled: false
29
+
30
+ Layout/IndentArray:
31
+ EnforcedStyle: consistent
32
+
33
+ Layout/MultilineMethodCallIndentation:
34
+ EnforcedStyle: indented
35
+
36
+ Layout/EmptyLinesAroundAccessModifier:
37
+ Enabled: false
38
+
39
+ Style/GuardClause:
40
+ Enabled: false
41
+
42
+ Style/IfUnlessModifier:
43
+ Enabled: false
44
+
45
+ Style/SignalException:
46
+ Enabled: false
47
+
48
+ Style/BlockDelimiters:
49
+ Enabled: true
50
+ EnforcedStyle: braces_for_chaining
51
+ Exclude:
52
+ - 'spec/**/*'
53
+
54
+ Metrics/BlockLength:
55
+ ExcludedMethods:
56
+ - refine
57
+ - describe
58
+ - context
59
+ - shared_examples
60
+ Exclude:
61
+ - 'Rakefile'
62
+ - '**/*.rake'
63
+ - 'spec/*_spec.rb'
64
+ - 'spec/**/*_spec.rb'
65
+ - 'spec/shared_examples/*.rb'
66
+
67
+ Metrics/LineLength:
68
+ IgnoredPatterns:
69
+ - '^\s*it\s' # Test names can be long
70
+ Exclude:
71
+ - roadie-rails.gemspec
data/.travis.yml CHANGED
@@ -1,20 +1,25 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2
5
- - 2.3
6
- - 2.4
4
+ - 2.5
5
+ - 2.6
7
6
 
8
7
  matrix:
9
8
  fast_finish: true
10
9
 
10
+ before_install:
11
+ # Ruby 2.6.0 does not work with Bundler 2 unless the gem system is updated
12
+ # first.
13
+ # https://github.com/bundler/bundler/issues/6784
14
+ - gem update --system
15
+ # Install latest bundler; Travis has an old version that Rails 5+ don't like.
16
+ # (2019-02-09; has 1.16.2, needs ~> 2.0)
17
+ - gem install bundler
18
+
11
19
  cache:
12
20
  directories:
13
21
  - .bundle
14
- - spec/railsapps/rails_42/.bundle
15
- - spec/railsapps/rails_42_sprockets_rails_3/.bundle
16
- - spec/railsapps/rails_50/.bundle
17
22
  - spec/railsapps/rails_51/.bundle
18
23
  - spec/railsapps/rails_52/.bundle
19
- bundler_args: --without guard --path=.bundle
24
+ bundler_args: --path=.bundle
20
25
  script: "rake"
data/Changelog.md CHANGED
@@ -1,8 +1,18 @@
1
1
  ### development version
2
2
 
3
- [full changelog](https://github.com/Mange/roadie-rails/compare/v1.3.0...master)
3
+ [full changelog](https://github.com/Mange/roadie-rails/compare/v2.0.0...master)
4
4
 
5
- * Nothing yet.
5
+ Nothing yet.
6
+
7
+ ### 2.0.0
8
+
9
+ [full changelog](https://github.com/Mange/roadie-rails/compare/v1.3.0...v2.0.0)
10
+
11
+ * Drop support for Ruby before 2.5.
12
+ * Drop support for Rails before 5.1.
13
+ * Add support for Ruby 2.5.
14
+ * Add support for Ruby 2.6.
15
+ * Fix arity of `Roadie::Rails::Mailer#roadie_mail` - [Adrian Lehmann (ownadi)](https://github.com/ownadi)
6
16
 
7
17
  ### 1.3.0
8
18
 
data/Gemfile CHANGED
@@ -1,14 +1,9 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in roadie-rails.gemspec
4
6
  gemspec
5
7
 
6
- # Additional development dependencies I use but don't want to declare in the
7
- # gemfile since they aren't required to develop this codebase.
8
- group :development do
9
- gem 'guard'
10
- gem 'guard-rspec'
11
- end
12
-
13
8
  # Added here so it does not show up on the Gemspec; I only want it for CI builds
14
- gem 'codecov', group: :test, require: false
9
+ gem "codecov", group: :test, require: false
data/README.md CHANGED
@@ -20,7 +20,7 @@ This gem hooks up your Rails application with Roadie to help you generate HTML e
20
20
  [Add this gem to your Gemfile as recommended by Rubygems][gem] and run `bundle install`.
21
21
 
22
22
  ```ruby
23
- gem 'roadie-rails', '~> 0.0'
23
+ gem 'roadie-rails', '~> 2.0'
24
24
  ```
25
25
 
26
26
  ## Usage ##
@@ -190,7 +190,7 @@ class MyOtherMailer
190
190
  include Roadie::Rails::Mailer
191
191
 
192
192
  def some_mail(user)
193
- roadie_email {to: "foo@example.com"}, roadie_options_for(user)
193
+ roadie_mail {to: "foo@example.com"}, roadie_options_for(user)
194
194
  end
195
195
 
196
196
  private
@@ -281,12 +281,9 @@ end
281
281
  Tested with [Travis CI](http://travis-ci.org) using [almost all combinations of](http://travis-ci.org/#!/Mange/roadie-rails):
282
282
 
283
283
  * Ruby:
284
- * MRI 2.2
285
- * MRI 2.3
286
- * MRI 2.4
284
+ * MRI 2.5
285
+ * MRI 2.6
287
286
  * Rails
288
- * 4.2
289
- * 5.0
290
287
  * 5.1
291
288
  * 5.2
292
289
 
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
 
3
5
  desc "Install gems for embedded Rails apps"
@@ -20,4 +22,4 @@ task :spec do
20
22
  end
21
23
 
22
24
  desc "Default: Update gems and run specs"
23
- task :default => [:update_gems, :spec]
25
+ task default: %i[update_gems spec]
data/lib/roadie-rails.rb CHANGED
@@ -1 +1,3 @@
1
- require 'roadie/rails'
1
+ # frozen_string_literal: true
2
+
3
+ require "roadie/rails"
data/lib/roadie/rails.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  end
@@ -6,6 +8,7 @@ end
6
8
  require "roadie"
7
9
 
8
10
  require "roadie/rails/version"
11
+ require "roadie/rails/utils"
9
12
  require "roadie/rails/options"
10
13
 
11
14
  require "roadie/rails/document_builder"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  class AssetPipelineProvider
@@ -5,7 +7,13 @@ module Roadie
5
7
  attr_reader :pipeline
6
8
 
7
9
  def initialize(pipeline)
8
- raise ArgumentError, "You need to pass a pipeline to initialize AssetPipelineProvider" unless pipeline
10
+ unless pipeline
11
+ raise(
12
+ ArgumentError,
13
+ "You need to pass a pipeline to initialize AssetPipelineProvider",
14
+ )
15
+ end
16
+
9
17
  super()
10
18
  @pipeline = pipeline
11
19
  end
@@ -27,11 +35,12 @@ module Roadie
27
35
 
28
36
  def find_asset_in_pipeline(name)
29
37
  normalized_name = normalize_asset_name(name)
30
- @pipeline[normalized_name] || @pipeline[remove_asset_digest(normalized_name)]
38
+ @pipeline[normalized_name] ||
39
+ @pipeline[remove_asset_digest(normalized_name)]
31
40
  end
32
41
 
33
42
  def normalize_asset_name(href)
34
- remove_asset_prefix(href.split('?').first)
43
+ remove_asset_prefix(href.split("?").first)
35
44
  end
36
45
 
37
46
  DIGEST_PATTERN = /
@@ -44,7 +53,7 @@ module Roadie
44
53
  /x.freeze
45
54
 
46
55
  def remove_asset_digest(path)
47
- path.gsub(DIGEST_PATTERN, '.')
56
+ path.gsub(DIGEST_PATTERN, ".")
48
57
  end
49
58
 
50
59
  def remove_asset_prefix(path)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  module Automatic
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  class DocumentBuilder
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  # Extend instances of Mail with this to have it inlined automatically when
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  class MailInliner
@@ -10,7 +12,7 @@ module Roadie
10
12
 
11
13
  def execute
12
14
  if options
13
- improve_body if email.content_type =~ /^text\/html/
15
+ improve_body if email.content_type =~ %r{^text/html}
14
16
  improve_html_part(email.html_part) if email.html_part
15
17
  end
16
18
  email
@@ -1,9 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  module Mailer
4
- def roadie_mail(options = {}, &block)
6
+ # Generate an email and run Roadie on it. Will use #roadie_options to get
7
+ # default options if not passed in.
8
+ def roadie_mail(
9
+ options = {},
10
+ final_roadie_options = roadie_options,
11
+ &block
12
+ )
5
13
  email = mail(options, &block)
6
- MailInliner.new(email, roadie_options).execute
14
+ MailInliner.new(email, final_roadie_options).execute
7
15
  end
8
16
 
9
17
  def roadie_options
@@ -1,58 +1,46 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
5
  class Options
4
- ATTRIBUTE_NAMES = [
5
- :after_transformation,
6
- :asset_providers,
7
- :before_transformation,
8
- :external_asset_providers,
9
- :keep_uninlinable_css,
10
- :url_options,
11
- ]
6
+ ATTRIBUTE_NAMES = %i[
7
+ after_transformation
8
+ asset_providers
9
+ before_transformation
10
+ external_asset_providers
11
+ keep_uninlinable_css
12
+ url_options
13
+ ].freeze
12
14
  private_constant :ATTRIBUTE_NAMES
15
+
13
16
  attr_reader(*ATTRIBUTE_NAMES)
17
+ attr_writer(
18
+ :url_options,
19
+ :before_transformation,
20
+ :after_transformation,
21
+ :keep_uninlinable_css,
22
+ )
14
23
 
15
24
  def initialize(options = {})
16
25
  complain_about_unknown_keys options.keys
17
- self.after_transformation = options[:after_transformation]
18
- self.asset_providers = options[:asset_providers]
19
- self.before_transformation = options[:before_transformation]
20
- self.external_asset_providers = options[:external_asset_providers]
21
- self.keep_uninlinable_css = options[:keep_uninlinable_css]
22
- self.url_options = options[:url_options]
23
- end
24
-
25
- def url_options=(options)
26
- @url_options = options
27
- end
28
-
29
- def before_transformation=(callback)
30
- @before_transformation = callback
31
- end
32
-
33
- def after_transformation=(callback)
34
- @after_transformation = callback
35
- end
36
-
37
- def keep_uninlinable_css=(bool)
38
- @keep_uninlinable_css = bool
26
+ options.each_pair do |name, value|
27
+ self[name] = value
28
+ end
39
29
  end
40
30
 
41
31
  def asset_providers=(providers)
32
+ # TODO: Raise an error when setting to nil in order to make this not a
33
+ # silent error.
42
34
  if providers
43
35
  @asset_providers = ProviderList.wrap providers
44
- # TODO: Raise an error when setting to nil in order to make this not a silent error.
45
- # else
46
- # raise ArgumentError, "Cannot set asset_providers to nil. Set to Roadie::NullProvider if you want no external assets inlined."
47
36
  end
48
37
  end
49
38
 
50
39
  def external_asset_providers=(providers)
40
+ # TODO: Raise an error when setting to nil in order to make this not a
41
+ # silent error.
51
42
  if providers
52
43
  @external_asset_providers = ProviderList.wrap providers
53
- # TODO: Raise an error when setting to nil in order to make this not a silent error.
54
- # else
55
- # raise ArgumentError, "Cannot set asset_providers to nil. Set to Roadie::NullProvider if you want no external assets inlined."
56
44
  end
57
45
  end
58
46
 
@@ -62,9 +50,14 @@ module Roadie
62
50
  document.after_transformation = after_transformation
63
51
 
64
52
  document.asset_providers = asset_providers if asset_providers
65
- document.external_asset_providers = external_asset_providers if external_asset_providers
66
53
 
67
- document.keep_uninlinable_css = keep_uninlinable_css unless keep_uninlinable_css.nil?
54
+ if external_asset_providers
55
+ document.external_asset_providers = external_asset_providers
56
+ end
57
+
58
+ unless keep_uninlinable_css.nil?
59
+ document.keep_uninlinable_css = keep_uninlinable_css
60
+ end
68
61
  end
69
62
 
70
63
  def merge(options)
@@ -73,7 +66,7 @@ module Roadie
73
66
 
74
67
  def merge!(options)
75
68
  ATTRIBUTE_NAMES.each do |attribute|
76
- send "#{attribute}=", options.fetch(attribute, send(attribute))
69
+ self[attribute] = options.fetch(attribute, self[attribute])
77
70
  end
78
71
  self
79
72
  end
@@ -82,64 +75,52 @@ module Roadie
82
75
  dup.combine! options
83
76
  end
84
77
 
85
- def combine!(options)
86
- self.after_transformation = combine_callable(
87
- after_transformation, options[:after_transformation]
88
- )
89
-
90
- self.asset_providers = combine_providers(
91
- asset_providers, options[:asset_providers]
92
- )
93
-
94
- self.before_transformation = combine_callable(
95
- before_transformation, options[:before_transformation]
96
- )
78
+ def combine!(options) # rubocop:disable Metrics/MethodLength
79
+ %i[after_transformation before_transformation].each do |name|
80
+ self[name] = Utils.combine_callable(self[name], options[name])
81
+ end
97
82
 
98
- self.external_asset_providers = combine_providers(
99
- external_asset_providers, options[:external_asset_providers]
100
- )
83
+ %i[asset_providers external_asset_providers].each do |name|
84
+ self[name] = Utils.combine_providers(self[name], options[name])
85
+ end
101
86
 
102
- self.keep_uninlinable_css =
103
- options[:keep_uninlinable_css] if options.has_key?(:keep_uninlinable_css)
87
+ if options.key?(:keep_uninlinable_css)
88
+ self.keep_uninlinable_css = options[:keep_uninlinable_css]
89
+ end
104
90
 
105
- self.url_options = combine_hash(
106
- url_options, options[:url_options]
91
+ self.url_options = Utils.combine_hash(
92
+ url_options,
93
+ options[:url_options],
107
94
  )
108
95
 
109
96
  self
110
97
  end
111
98
 
112
- private
113
- def combine_hash(first, second)
114
- combine_nilable(first, second) do |a, b|
115
- a.merge(b)
116
- end
117
- end
118
-
119
- def combine_callable(first, second)
120
- combine_nilable(first, second) do |a, b|
121
- proc { |*args| a.call(*args); b.call(*args) }
122
- end
123
- end
124
-
125
- def combine_providers(first, second)
126
- combine_nilable(first, second) do |a, b|
127
- ProviderList.new(a.to_a + Array.wrap(b))
99
+ def [](option)
100
+ if ATTRIBUTE_NAMES.include?(option)
101
+ public_send(option)
102
+ else
103
+ raise ArgumentError, "#{option.inspect} is not a valid option"
128
104
  end
129
105
  end
130
106
 
131
- def combine_nilable(first, second)
132
- if first && second
133
- yield first, second
107
+ def []=(option, value)
108
+ if ATTRIBUTE_NAMES.include?(option)
109
+ public_send("#{option}=", value)
134
110
  else
135
- first ? first : second
111
+ raise ArgumentError, "#{option.inspect} is not a valid option"
136
112
  end
137
113
  end
138
114
 
115
+ private
139
116
  def complain_about_unknown_keys(keys)
140
117
  invalid_keys = keys - ATTRIBUTE_NAMES
141
- if invalid_keys.size > 0
142
- raise ArgumentError, "Unknown configuration parameters: #{invalid_keys}", caller(1)
118
+ unless invalid_keys.empty?
119
+ raise(
120
+ ArgumentError,
121
+ "Unknown configuration parameters: #{invalid_keys}",
122
+ caller(1),
123
+ )
143
124
  end
144
125
  end
145
126
  end
@@ -1,4 +1,6 @@
1
- require 'rails'
1
+ # frozen_string_literal: true
2
+
3
+ require "rails"
2
4
 
3
5
  module Roadie
4
6
  module Rails
@@ -10,15 +12,14 @@ module Roadie
10
12
  Roadie::FilesystemProvider.new(::Rails.root.join("public").to_s),
11
13
  ]
12
14
 
13
- # Saying config.assets.enabled here does not work in Rails 3.1-3.2, but
14
- # APP.config.assets work. There is a difference between "config" and
15
- # "app.config" on those versions.
16
- if app.config.respond_to?(:assets) && app.config.assets.enabled != false
15
+ if app.config.respond_to?(:assets) && app.config.assets
17
16
  if app.assets
18
- config.roadie.asset_providers << AssetPipelineProvider.new(app.assets)
17
+ config.roadie.asset_providers <<
18
+ AssetPipelineProvider.new(app.assets)
19
19
  else
20
20
  app.config.assets.configure do |env|
21
- config.roadie.asset_providers << AssetPipelineProvider.new(env)
21
+ config.roadie.asset_providers <<
22
+ AssetPipelineProvider.new(env)
22
23
  end
23
24
  end
24
25
  end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Roadie
4
+ module Rails
5
+ module Utils
6
+ module_function
7
+ # Combine two hashes, or return the non-nil hash if either is nil.
8
+ # Returns nil if both are nil.
9
+ def combine_hash(first, second)
10
+ combine_nilable(first, second) do |a, b|
11
+ a.merge(b)
12
+ end
13
+ end
14
+
15
+ # Return a callable that will call both inputs. If either is nil, then
16
+ # just return the other.
17
+ #
18
+ # The result from the second one will be the result of the combined
19
+ # callable.
20
+ #
21
+ # ```ruby
22
+ # combine_callable(-> { 1 }, -> { 2 }).call # => 2
23
+ # combine_callable(-> { 1 }, nil).call # => 1
24
+ # combine_callable(nil, nil).nil? # => true
25
+ # ```
26
+ def combine_callable(first, second)
27
+ combine_nilable(first, second) do |a, b|
28
+ lambda do |*args|
29
+ a.call(*args)
30
+ b.call(*args)
31
+ end
32
+ end
33
+ end
34
+
35
+ # Combine two Provider ducks into a ProviderList. If either is nil, pick
36
+ # the non-nil value instead.
37
+ def combine_providers(first, second)
38
+ combine_nilable(first, second) do |a, b|
39
+ ProviderList.new(a.to_a + Array.wrap(b))
40
+ end
41
+ end
42
+
43
+ # Discard the nil value. If neither is nil, then yield both and return
44
+ # the result from the block.
45
+ #
46
+ # ```ruby
47
+ # combine_nilable(nil, 5) { |a, b| a+b } # => 5
48
+ # combine_nilable(7, nil) { |a, b| a+b } # => 7
49
+ # combine_nilable(nil, nil) { |a, b| a+b } # => nil
50
+ # combine_nilable(7, 5) { |a, b| a+b } # => 12
51
+ # ```
52
+ def combine_nilable(first, second)
53
+ if first && second
54
+ yield first, second
55
+ else
56
+ first || second
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Roadie
2
4
  module Rails
3
- VERSION = "1.3.0"
5
+ VERSION = "2.0.0"
4
6
  end
5
7
  end
data/roadie-rails.gemspec CHANGED
@@ -1,32 +1,33 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'roadie/rails/version'
5
+ require "roadie/rails/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "roadie-rails"
8
9
  spec.version = Roadie::Rails::VERSION
9
10
  spec.authors = ["Magnus Bergmark"]
10
11
  spec.email = ["magnus.bergmark@gmail.com"]
11
- spec.homepage = 'http://github.com/Mange/roadie-rails'
12
- spec.summary = %q{Making HTML emails comfortable for the Rails rockstars}
13
- spec.description = %q{Hooks Roadie into your Rails application to help with email generation.}
12
+ spec.homepage = "http://github.com/Mange/roadie-rails"
13
+ spec.summary = "Making HTML emails comfortable for the Rails rockstars"
14
+ spec.description = "Hooks Roadie into your Rails application to help with email generation."
14
15
  spec.license = "MIT"
15
16
 
16
- spec.required_ruby_version = ">= 2.2"
17
+ spec.required_ruby_version = ">= 2.5"
17
18
 
18
- spec.files = `git ls-files | grep -v ^spec`.split($/)
19
+ spec.files = `git ls-files | grep -v ^spec`.split($INPUT_RECORD_SEPARATOR)
19
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
22
  spec.extra_rdoc_files = %w[README.md Changelog.md LICENSE.txt]
22
23
  spec.require_paths = ["lib"]
23
24
 
25
+ spec.add_dependency "railties", ">= 5.1", "< 5.3"
24
26
  spec.add_dependency "roadie", "~> 3.1"
25
- spec.add_dependency "railties", ">= 3.0", "< 5.3"
26
27
 
27
- spec.add_development_dependency "rails", ">= 4.2", "< 5.3"
28
- spec.add_development_dependency "bundler", "~> 1.6"
29
- spec.add_development_dependency "rspec", "~> 3.0"
30
- spec.add_development_dependency "rspec-rails"
28
+ spec.add_development_dependency "bundler", "~> 2.0"
29
+ spec.add_development_dependency "rails", ">= 5.1", "< 5.3"
30
+ spec.add_development_dependency "rspec", "~> 3.8"
31
31
  spec.add_development_dependency "rspec-collection_matchers"
32
+ spec.add_development_dependency "rspec-rails"
32
33
  end
data/setup.sh CHANGED
@@ -10,7 +10,7 @@ function header() {
10
10
  }
11
11
 
12
12
  function green() {
13
- echo $(tput setaf 2)$@$(tput sgr0)
13
+ echo "$(tput setaf 2)$*$(tput sgr0)"
14
14
  }
15
15
 
16
16
  function update() {
@@ -32,11 +32,11 @@ if [[ $1 == "install" ]]; then
32
32
  header "Installing gem dependencies"
33
33
  install
34
34
 
35
- for app_path in $root/spec/railsapps/rails_*; do
35
+ for app_path in "$root"/spec/railsapps/rails_*; do
36
36
  (
37
- header "Rails app $(basename $app_path)"
38
- cd $app_path
39
- echo "Installing gems for $(basename $app_path)"
37
+ header "Rails app $(basename "$app_path")"
38
+ cd "$app_path"
39
+ echo "Installing gems for $(basename "$app_path")"
40
40
  install
41
41
  )
42
42
  done
@@ -46,10 +46,10 @@ elif [[ $1 == "update" ]]; then
46
46
  header "Updating gem dependencies"
47
47
  update
48
48
 
49
- for app_path in $root/spec/railsapps/rails_*; do
49
+ for app_path in "$root"/spec/railsapps/rails_*; do
50
50
  (
51
- cd $app_path
52
- header "Updating $(basename $app_path)"
51
+ cd "$app_path"
52
+ header "Updating $(basename "$app_path")"
53
53
  update
54
54
  )
55
55
  done
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadie-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus Bergmark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-04 00:00:00.000000000 Z
11
+ date: 2019-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.3'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '5.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.3'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: roadie
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -25,32 +45,26 @@ dependencies:
25
45
  - !ruby/object:Gem::Version
26
46
  version: '3.1'
27
47
  - !ruby/object:Gem::Dependency
28
- name: railties
48
+ name: bundler
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- - - "<"
51
+ - - "~>"
35
52
  - !ruby/object:Gem::Version
36
- version: '5.3'
37
- type: :runtime
53
+ version: '2.0'
54
+ type: :development
38
55
  prerelease: false
39
56
  version_requirements: !ruby/object:Gem::Requirement
40
57
  requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '3.0'
44
- - - "<"
58
+ - - "~>"
45
59
  - !ruby/object:Gem::Version
46
- version: '5.3'
60
+ version: '2.0'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: rails
49
63
  requirement: !ruby/object:Gem::Requirement
50
64
  requirements:
51
65
  - - ">="
52
66
  - !ruby/object:Gem::Version
53
- version: '4.2'
67
+ version: '5.1'
54
68
  - - "<"
55
69
  - !ruby/object:Gem::Version
56
70
  version: '5.3'
@@ -60,40 +74,26 @@ dependencies:
60
74
  requirements:
61
75
  - - ">="
62
76
  - !ruby/object:Gem::Version
63
- version: '4.2'
77
+ version: '5.1'
64
78
  - - "<"
65
79
  - !ruby/object:Gem::Version
66
80
  version: '5.3'
67
- - !ruby/object:Gem::Dependency
68
- name: bundler
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '1.6'
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: '1.6'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '3.0'
87
+ version: '3.8'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: '3.0'
94
+ version: '3.8'
95
95
  - !ruby/object:Gem::Dependency
96
- name: rspec-rails
96
+ name: rspec-collection_matchers
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ">="
@@ -107,7 +107,7 @@ dependencies:
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  - !ruby/object:Gem::Dependency
110
- name: rspec-collection_matchers
110
+ name: rspec-rails
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - ">="
@@ -131,10 +131,10 @@ extra_rdoc_files:
131
131
  - LICENSE.txt
132
132
  files:
133
133
  - ".gitignore"
134
+ - ".rubocop.yml"
134
135
  - ".travis.yml"
135
136
  - Changelog.md
136
137
  - Gemfile
137
- - Guardfile
138
138
  - LICENSE.txt
139
139
  - README.md
140
140
  - Rakefile
@@ -150,6 +150,7 @@ files:
150
150
  - lib/roadie/rails/mailer.rb
151
151
  - lib/roadie/rails/options.rb
152
152
  - lib/roadie/rails/railtie.rb
153
+ - lib/roadie/rails/utils.rb
153
154
  - lib/roadie/rails/version.rb
154
155
  - roadie-rails.gemspec
155
156
  - setup.sh
@@ -165,7 +166,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
166
  requirements:
166
167
  - - ">="
167
168
  - !ruby/object:Gem::Version
168
- version: '2.2'
169
+ version: '2.5'
169
170
  required_rubygems_version: !ruby/object:Gem::Requirement
170
171
  requirements:
171
172
  - - ">="
@@ -173,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
174
  version: '0'
174
175
  requirements: []
175
176
  rubyforge_project:
176
- rubygems_version: 2.6.14
177
+ rubygems_version: 2.7.3
177
178
  signing_key:
178
179
  specification_version: 4
179
180
  summary: Making HTML emails comfortable for the Rails rockstars
data/Guardfile DELETED
@@ -1,16 +0,0 @@
1
- rspec_options = {
2
- cmd: 'rspec -f documentation',
3
- fail_mode: :keep,
4
- all_after_pass: true,
5
- all_on_start: true,
6
- run_all: {cmd: 'rspec -f progress'}
7
- }
8
-
9
- guard :rspec, rspec_options do
10
- watch(%r{^spec/.+_spec\.rb$})
11
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
12
-
13
- watch('spec/spec_helper.rb') { "spec" }
14
- watch(%r{^spec/support/.+\.rb$}) { "spec" }
15
- end
16
-