sweet_notifications 0.2.1 → 1.0.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: 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: