sweet_notifications 0.2.1 → 1.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
2
  SHA1:
3
- metadata.gz: 313330fe1e88bea48a41438d6a59bdd87d84a486
4
- data.tar.gz: c50418d1bff9d94602e99760c7f88758556362ee
3
+ metadata.gz: 84ab4e40ea53b74590ab970eaa73567e2e39a2b2
4
+ data.tar.gz: 310e180a86a817c76a2d3344ac714987c17e6eb0
5
5
  SHA512:
6
- metadata.gz: eb9591a334961e3fa5ee4c0a41f5e9992f698a7acb40ea0c3d1806df365d886635325ed0789f765d32da3f211d0940f3da6ad4569416151b87630e03de47ca66
7
- data.tar.gz: 97b08cdc255d9162edc4f0650129bd5d5d0255d1ac346229cfc73d567d751bcd623c3e10be2414e10dab40187c90ee0a3173f6b85ca8319bf3e984b2eb2ea853
6
+ metadata.gz: dc59c557faed07b6f3cde36e19d9491b37cf0413a96d33510f1d61498946e4ca74886a07cdfa4cb51fb1e6e2c9712478605c225e751f6bcffa4a169200b03fa2
7
+ data.tar.gz: db298fe8379e644a51a1e8a0eced32465e2a78792d8aa34bc9193c41046c98b977b2ee3ace58828c8b2af8a8caee7bd5fac241c561b6693fc04eea64a66adbaa
@@ -1,11 +1,13 @@
1
1
  AllCops:
2
- RunRailsCops: true
3
2
  Exclude:
4
3
  - sweet_notifications.gemspec
5
4
  - lib/sweet_notifications/version.rb
6
5
  - "vendor/**/*"
7
6
  - "gemfiles/vendor/**/*"
8
7
 
8
+ Rails:
9
+ Enabled: true
10
+
9
11
  ClassAndModuleChildren:
10
12
  Exclude:
11
13
  - test/**/*.rb
@@ -24,6 +26,5 @@ ModuleFunction:
24
26
  Metrics/AbcSize:
25
27
  Enabled: false
26
28
 
27
- Style/StringLiterals:
28
- Enabled: true
29
- EnforcedStyle: single_quotes
29
+ Metrics/BlockLength:
30
+ Enabled: false
@@ -6,17 +6,19 @@ gemfile:
6
6
  - gemfiles/rails_4.1.gemfile
7
7
  - gemfiles/rails_4.2.gemfile
8
8
  rvm:
9
- - 2.0.0
10
- - 2.1.7
11
- - 2.2.3
12
- - jruby-9.0.1.0
13
- - rbx-2.5
9
+ - '2.1'
10
+ - '2.2'
11
+ - 2.3.3
12
+ - jruby-9.1.7.0
14
13
  matrix:
15
14
  include:
16
- - rvm: jruby
17
- gemfile: gemfiles/rails_4.2.gemfile
18
- env: JRUBY_OPTS="--2.0"
19
- - rvm: 2.2.3
15
+ - rvm: 2.3.0
16
+ gemfile: gemfiles/rails_5.0.gemfile
17
+ - rvm: 2.4.0
18
+ gemfile: gemfiles/rails_5.0.gemfile
19
+ - rvm: jruby-9.1.6.0
20
+ gemfile: gemfiles/rails_5.0.gemfile
21
+ - rvm: 2.4.0
20
22
  gemfile: gemfiles/rails_head.gemfile
21
23
  allow_failures:
22
24
  - gemfile: gemfiles/rails_head.gemfile
data/Appraisals CHANGED
@@ -10,6 +10,10 @@ appraise "rails-4.2" do
10
10
  gem 'rails', '~> 4.2.0'
11
11
  end
12
12
 
13
+ appraise "rails-5.0" do
14
+ gem 'rails', '~> 5.0.0.beta'
15
+ end
16
+
13
17
  appraise "rails-head" do
14
18
  gem 'rails', github: 'rails'
15
19
  gem 'arel', github: 'rails/arel'
@@ -1,3 +1,7 @@
1
+ ## 1.0.0 (18 January 2017)
2
+
3
+ - more robust Rails initialization testing
4
+
1
5
  ## 0.2.1 (3 October 2015)
2
6
 
3
7
  - support Rails 5.0
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 5.0.0.beta"
6
+
7
+ gemspec :path => "../"
@@ -34,11 +34,19 @@ module SweetNotifications
34
34
  label ||= name
35
35
  log_subscriber = Class.new(SweetNotifications::LogSubscriber, &block)
36
36
  controller_runtime = self.controller_runtime(label, log_subscriber)
37
- if Rails.try(:application).try(:initialized?)
37
+ if rails_initialized?
38
38
  initialize_rails(name, log_subscriber, controller_runtime)
39
39
  [nil, log_subscriber]
40
40
  else
41
41
  [railtie(name, log_subscriber, controller_runtime), log_subscriber]
42
42
  end
43
43
  end
44
+
45
+ def self.rails_initialized?
46
+ Rails.respond_to?(:application) &&
47
+ Rails.application &&
48
+ Rails.application.initialized?
49
+ end
50
+
51
+ private_class_method :rails_initialized?
44
52
  end
@@ -1,3 +1,3 @@
1
1
  module SweetNotifications
2
- VERSION = '0.2.1'
2
+ VERSION = '1.0.0'.freeze
3
3
  end
@@ -26,9 +26,9 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "actionpack", ">= 4.0", "< 6"
27
27
  spec.add_development_dependency "bundler", "~> 1.6"
28
28
  spec.add_development_dependency "minitest"
29
- spec.add_development_dependency "rake", "~> 10.3"
30
- spec.add_development_dependency "yard", "~> 0.8.7"
29
+ spec.add_development_dependency "rake", "~> 12.0"
30
+ spec.add_development_dependency "yard", "~> 0.9.7"
31
31
  spec.add_development_dependency "appraisal", "~> 2.0"
32
- spec.add_development_dependency "simplecov", "~> 0.10.0"
33
- spec.add_development_dependency "rubocop", "~> 0.34.0"
32
+ spec.add_development_dependency "simplecov", "~> 0.12.0"
33
+ spec.add_development_dependency "rubocop", "~> 0.46.0"
34
34
  end
@@ -27,7 +27,7 @@ describe SweetNotifications::ControllerRuntime do
27
27
  private
28
28
 
29
29
  def render_text(text)
30
- if Gem.loaded_specs['rails'].version < Gem::Version.new('4.2')
30
+ if rails_version?('< 4.2')
31
31
  render text: text
32
32
  else
33
33
  render plain: text
@@ -39,6 +39,13 @@ describe SweetNotifications::ControllerRuntime do
39
39
  tests LogSubscribersController
40
40
 
41
41
  before do
42
+ require 'rails'
43
+ if rails_version?('>= 5.0')
44
+ ActionController::TestRoutes.draw do
45
+ resources :log_subscribers
46
+ end
47
+ end
48
+
42
49
  @old_logger = ActionController::Base.logger
43
50
  ActionController::LogSubscriber.attach_to :action_controller
44
51
  end
@@ -6,7 +6,7 @@ class SweetNotificationsController < ActionController::Base
6
6
  'ok'
7
7
  end
8
8
 
9
- if Gem.loaded_specs['rails'].version < Gem::Version.new('4.2')
9
+ if rails_version?('< 4.2')
10
10
  render text: 'ok'
11
11
  else
12
12
  render plain: 'ok'
@@ -18,6 +18,14 @@ describe SweetNotifications do
18
18
  include ActiveSupport::LogSubscriber::TestHelper
19
19
  tests SweetNotificationsController
20
20
 
21
+ before do
22
+ if rails_version?('>= 5.0')
23
+ ActionController::TestRoutes.draw do
24
+ resources :sweet_notifications
25
+ end
26
+ end
27
+ end
28
+
21
29
  describe '.subscribe' do
22
30
  it 'creates a railtie' do
23
31
  railtie, = SweetNotifications.subscribe 'railtie_create' do
@@ -60,7 +68,8 @@ describe SweetNotifications do
60
68
  end
61
69
  end
62
70
 
63
- assert_equal nil, railtie
71
+ assert_nil railtie
72
+
64
73
  module ::Rails
65
74
  class << self
66
75
  undef application
@@ -16,6 +16,14 @@ require 'active_support/log_subscriber/test_helper'
16
16
  require 'active_support/core_ext/string'
17
17
  require 'securerandom'
18
18
 
19
+ module RailsVersion
20
+ extend self
21
+ def rails_version?(constraint)
22
+ gem_spec = Gem.loaded_specs['actionpack']
23
+ gem_spec && Gem::Requirement.new(constraint).satisfied_by?(gem_spec.version)
24
+ end
25
+ end
26
+
19
27
  class ActiveSupport::TestCase
20
28
  class << self
21
29
  remove_method :describe if method_defined? :describe
@@ -25,6 +33,8 @@ class ActiveSupport::TestCase
25
33
  register_spec_type(/SweetNotifications$/, ActionController::TestCase)
26
34
  register_spec_type(/ControllerRuntime$/, ActionController::TestCase)
27
35
  register_spec_type(self)
36
+
37
+ include RailsVersion
28
38
  end
29
39
 
30
40
  if ActiveSupport::TestCase.respond_to?(:test_order=)
@@ -32,14 +42,19 @@ if ActiveSupport::TestCase.respond_to?(:test_order=)
32
42
  end
33
43
 
34
44
  module ActionController
45
+ extend RailsVersion
35
46
  TestRoutes = ActionDispatch::Routing::RouteSet.new
36
- TestRoutes.draw do
37
- match ':controller(/:action)', via: [:all]
47
+
48
+ if rails_version?('< 5.0')
49
+ TestRoutes.draw do
50
+ match ':controller(/:action)', via: [:all]
51
+ end
38
52
  end
39
53
 
40
54
  class Base
41
55
  include ActionController::Testing
42
56
  include TestRoutes.url_helpers
57
+ include RailsVersion
43
58
  end
44
59
 
45
60
  class ActionController::TestCase
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sweet_notifications
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ville Lautanala
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-03 00:00:00.000000000 Z
11
+ date: 2017-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -118,28 +118,28 @@ dependencies:
118
118
  requirements:
119
119
  - - "~>"
120
120
  - !ruby/object:Gem::Version
121
- version: '10.3'
121
+ version: '12.0'
122
122
  type: :development
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - "~>"
127
127
  - !ruby/object:Gem::Version
128
- version: '10.3'
128
+ version: '12.0'
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: yard
131
131
  requirement: !ruby/object:Gem::Requirement
132
132
  requirements:
133
133
  - - "~>"
134
134
  - !ruby/object:Gem::Version
135
- version: 0.8.7
135
+ version: 0.9.7
136
136
  type: :development
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  requirements:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: 0.8.7
142
+ version: 0.9.7
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: appraisal
145
145
  requirement: !ruby/object:Gem::Requirement
@@ -160,28 +160,28 @@ dependencies:
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: 0.10.0
163
+ version: 0.12.0
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - "~>"
169
169
  - !ruby/object:Gem::Version
170
- version: 0.10.0
170
+ version: 0.12.0
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: rubocop
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
175
  - - "~>"
176
176
  - !ruby/object:Gem::Version
177
- version: 0.34.0
177
+ version: 0.46.0
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - "~>"
183
183
  - !ruby/object:Gem::Version
184
- version: 0.34.0
184
+ version: 0.46.0
185
185
  description: Syntactic sugar for ActiveSupport::LogSubscriber for easy instrumentation
186
186
  and logging from third-party libraries.
187
187
  email:
@@ -203,6 +203,7 @@ files:
203
203
  - gemfiles/rails_4.0.gemfile
204
204
  - gemfiles/rails_4.1.gemfile
205
205
  - gemfiles/rails_4.2.gemfile
206
+ - gemfiles/rails_5.0.gemfile
206
207
  - gemfiles/rails_head.gemfile
207
208
  - lib/sweet_notifications.rb
208
209
  - lib/sweet_notifications/controller_runtime.rb
@@ -235,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
236
  version: '0'
236
237
  requirements: []
237
238
  rubyforge_project:
238
- rubygems_version: 2.4.5.1
239
+ rubygems_version: 2.5.1
239
240
  signing_key:
240
241
  specification_version: 4
241
242
  summary: Syntactic sugar for ActiveSupport::LogSubscriber.
@@ -245,4 +246,3 @@ test_files:
245
246
  - test/railtie_test.rb
246
247
  - test/sweet_notifications_test.rb
247
248
  - test/test_helper.rb
248
- has_rdoc: