rails-callback_log 0.0.3 → 0.1.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: 55b7821390ed7a47229737580cd6448e0480d654
4
- data.tar.gz: 4d40de6817e02657dbbb207ae773b6b9693d222a
3
+ metadata.gz: 6ee7d00d4e5ee7220ced65f81b17d3c67d53412a
4
+ data.tar.gz: 2658d820fcd402f76f495ce80425fc7652971efe
5
5
  SHA512:
6
- metadata.gz: f5eab678e68996cdea135dde6792b90e5a15c2af504f5f1659d602a3aca94b12f370e9f55b74c266c7dc3bfd348ac5d1c38c4d76171f544e65f34d29dd61946e
7
- data.tar.gz: 3db5bff62da3cd1055247125a013d87956deebec44ddd52b92e2ff6ac98da70876bdd938010c6704cb83e0cff184cdc6ef2875c65f4fa5c4127b539002db7d99
6
+ metadata.gz: 947f4b80bc95ee71f91ebeb43db6b3ca829187280db3c9b831380678389c9b1ff4a561992bb572bc87b5b354d2128a9af025a5dadab4b21c610dd93962cccdca
7
+ data.tar.gz: 3e62d6a4bdecfc925c602df1df5c8e3f9712c15710ba642bcee4ba4f0c7fe9c2d82b44cf6c4c28a6ffee62cccafd1ba1dd876c63afb925fe492e95336041bb4c
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ .ruby-version
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ This gem conforms to [semver 2.0.0][1] and follows the recommendations of
4
+ [keepachangelog.com][2].
5
+
6
+ ### 0.1.0 (2016-07-25)
7
+
8
+ Breaking changes:
9
+
10
+ - Drop support for ruby 1.9.3
11
+
12
+ Added:
13
+
14
+ - Support for rails 5.0
15
+
16
+ ### 0.0.3 (2016-06-24)
17
+
18
+ Initial release, support for rails 4.2 only.
19
+
20
+ [1]: http://semver.org/
21
+ [2]: http://keepachangelog.com/
data/README.md CHANGED
@@ -26,6 +26,10 @@ unset RAILS_CALLBACK_LOG_FILTER
26
26
 
27
27
  Filtering incurs a serious performance penalty, so it is off by default.
28
28
 
29
+ ## See Also
30
+
31
+ - http://stackoverflow.com/q/13089936/567762
32
+
29
33
  ## License
30
34
 
31
35
  The gem is available as open source under the terms of the [MIT
@@ -1,6 +1,9 @@
1
- require "active_support/callbacks"
2
1
  require "rails_callback_log/version"
3
2
 
3
+ # We expect `ActiveSupport::Callbacks::Callback#make_lambda` to be defined before we
4
+ # continue, because we are going to overwrite it.
5
+ require "active_support/all"
6
+
4
7
  module RailsCallbackLog
5
8
  # Filtering is very expensive. It makes my test suite more than 50%
6
9
  # slower. So, it's off by default.
@@ -17,29 +20,27 @@ module RailsCallbackLog
17
20
  @@filters ||= %w(app lib).map { |dir| (::Rails.root + dir).to_s }
18
21
  end
19
22
  end
20
- end
21
23
 
22
- if ::Gem::Requirement.new("~> 4.2.0").satisfied_by?(::Rails.gem_version)
23
- module ActiveSupport
24
- module Callbacks
25
- class Callback
26
- def make_lambda_with_log(filter)
27
- original_lambda = make_lambda_without_log(filter)
28
- lambda { |*args, &block|
29
- if !::RailsCallbackLog::FILTER ||
30
- caller.any? { |line| ::RailsCallbackLog.matches_filter?(line) }
31
- ::Rails.logger.debug(format("Callback: %s", filter))
32
- end
33
- original_lambda.call(*args, &block)
34
- }
24
+ module CallbackExtension
25
+ # Return a lambda that wraps `ActiveSupport::Callbacks::Callback#make_lambda`,
26
+ # adding logging.
27
+ def make_lambda(filter)
28
+ original_lambda = super(filter)
29
+ lambda { |*args, &block|
30
+ if !::RailsCallbackLog::FILTER ||
31
+ caller.any? { |line| ::RailsCallbackLog.matches_filter?(line) }
32
+ ::Rails.logger.debug(format("Callback: %s", filter))
35
33
  end
36
- alias_method_chain :make_lambda, :log
37
- end
34
+ original_lambda.call(*args, &block)
35
+ }
36
+ end
37
+ end
38
+ end
39
+
40
+ module ActiveSupport
41
+ module Callbacks
42
+ class Callback
43
+ prepend ::RailsCallbackLog::CallbackExtension
38
44
  end
39
45
  end
40
- else
41
- warn(
42
- "RailsCallbackLog does not support rails #{::Rails.gem_version} but " \
43
- "contributions are welcome!"
44
- )
45
46
  end
@@ -1,5 +1,7 @@
1
+ require "rubygems"
2
+
1
3
  module RailsCallbackLog
2
- VERSION = "0.0.3"
4
+ VERSION = "0.1.0"
3
5
 
4
6
  def self.gem_version
5
7
  ::Gem::Version.new(VERSION)
@@ -15,8 +15,8 @@ require "rails_callback_log/version"
15
15
  spec.bindir = "exe"
16
16
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
17
17
  spec.require_paths = ["lib"]
18
- spec.required_ruby_version = ">= 1.9.3"
19
- spec.add_runtime_dependency "activesupport", "~> 4.2.0"
18
+ spec.required_ruby_version = ">= 2.0"
19
+ spec.add_runtime_dependency "activesupport", [">= 4.2.0", "< 5.1"]
20
20
  spec.add_development_dependency "bundler", "~> 1.12"
21
21
  spec.add_development_dependency "rake", "~> 10.0"
22
22
  spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-callback_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared Beck
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-24 00:00:00.000000000 Z
11
+ date: 2016-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 4.2.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 4.2.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: bundler
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -76,6 +82,7 @@ files:
76
82
  - ".gitignore"
77
83
  - ".rspec"
78
84
  - ".travis.yml"
85
+ - CHANGELOG.md
79
86
  - CODE_OF_CONDUCT.md
80
87
  - Gemfile
81
88
  - LICENSE.txt
@@ -96,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
103
  requirements:
97
104
  - - ">="
98
105
  - !ruby/object:Gem::Version
99
- version: 1.9.3
106
+ version: '2.0'
100
107
  required_rubygems_version: !ruby/object:Gem::Requirement
101
108
  requirements:
102
109
  - - ">="