mediashelf-loggable 0.4.3 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
-
4
3
  group :development, :test do
5
4
  gem "jeweler"
6
5
  gem "mocha"
@@ -12,3 +11,4 @@ group :development, :test do
12
11
  gem "ruby-debug"
13
12
  end
14
13
 
14
+ gemspec
@@ -13,6 +13,7 @@ GEM
13
13
  json_pure (1.4.6)
14
14
  linecache (0.46)
15
15
  rbx-require-relative (> 0.0.4)
16
+ logger (1.2.8)
16
17
  mocha (0.9.9)
17
18
  rake
18
19
  rake (0.8.7)
@@ -35,6 +36,7 @@ DEPENDENCIES
35
36
  RedCloth
36
37
  jeweler
37
38
  jnunemaker-matchy
39
+ logger
38
40
  mocha
39
41
  rcov
40
42
  ruby-debug
@@ -1,3 +1,7 @@
1
+ 0.4.3
2
+
3
+ Don't use this version. It will raise "stack trace too deep" errors in some cases
4
+
1
5
  0.4.2
2
6
 
3
7
  Fixed bug in the line that checks for ::Rails.logger
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.5
@@ -18,11 +18,18 @@ module Loggable
18
18
  # If ::Rails.logger is defined, that will be returned.
19
19
  # If no logger has been defined, a new STDOUT Logger will be created.
20
20
  def logger
21
- if (defined?(::Rails) && !::Rails.logger.nil?)
22
- @@logger = ::Rails.logger
23
- else
24
- @@logger ||= ::Logger.new(STDOUT)
21
+
22
+ if defined?(::Rails) && Rails.respond_to?(:version)
23
+ if Rails.version >= "3.0" && defined?(::Rails::Application) && !::Rails.logger.nil?
24
+ @@logger = ::Rails.logger
25
+ elsif defined?(RAILS_DEFAULT_LOGGER)
26
+ @@logger = RAILS_DEFAULT_LOGGER
27
+ end
25
28
  end
29
+
30
+ # If none of the above was able to set @@logger, create a new default logger
31
+ @@logger ||= ::Logger.new(STDOUT)
32
+
26
33
  return @@logger
27
34
  end
28
35
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mediashelf-loggable}
8
- s.version = "0.4.3"
8
+ s.version = "0.4.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Patrick Reagan", "Matt Zumwalt"]
12
- s.date = %q{2011-07-25}
11
+ s.authors = [%q{Patrick Reagan}, %q{Matt Zumwalt}]
12
+ s.date = %q{2011-07-28}
13
13
  s.description = %q{A gem that provides logging capabilities to any class. Relies on Rails logger if it's available. Extended from loggable gem by viget}
14
14
  s.email = %q{matt.zumwalt@yourmediashelf.com}
15
15
  s.extra_rdoc_files = [
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  "lib/loggable.rb",
28
28
  "lib/loggable/log_methods.rb",
29
29
  "lib/loggable/logger_stub.rb",
30
- "lib/loggable/version.rb",
31
30
  "lib/tasks/loggable.rake",
32
31
  "loggable.gemspec",
33
32
  "mediashelf-loggable.gemspec",
@@ -36,9 +35,9 @@ Gem::Specification.new do |s|
36
35
  "test/test_helper.rb"
37
36
  ]
38
37
  s.homepage = %q{http://github.com/mediashelf/mediashelf-loggable}
39
- s.rdoc_options = ["--charset=UTF-8"]
40
- s.require_paths = ["lib"]
41
- s.rubygems_version = %q{1.6.2}
38
+ s.rdoc_options = [%q{--charset=UTF-8}]
39
+ s.require_paths = [%q{lib}]
40
+ s.rubygems_version = %q{1.8.6}
42
41
  s.summary = %q{A gem that provides logging capabilities to any class}
43
42
  s.test_files = [
44
43
  "test/examples/log_methods_test.rb",
@@ -52,9 +52,63 @@ class LogMethodsTest < Test::Unit::TestCase
52
52
 
53
53
  end
54
54
 
55
- context "MyModule in Rails3" do
55
+ context "MyModule with Rails defined but not initialized" do
56
56
  setup do
57
57
  class ::Rails
58
+ end
59
+ end
60
+
61
+ teardown do
62
+ Object.send(:remove_const, :Rails)
63
+ end
64
+
65
+ should "use the default logger" do
66
+ MyModule.logger = nil
67
+ MyModule.logger.should be_kind_of(Logger)
68
+ end
69
+ end
70
+
71
+
72
+ context "MyModule in Rails2" do
73
+ setup do
74
+ class ::Rails
75
+ def self.version
76
+ return "2.8.5"
77
+ end
78
+ end
79
+ module ::ActiveSupport
80
+ class BufferedLogger
81
+ def initialize(arg)
82
+ end
83
+ end
84
+ end
85
+ Object.const_set(:RAILS_DEFAULT_LOGGER, ActiveSupport::BufferedLogger.new(STDOUT))
86
+ # ::RAILS_DEFAULT_LOGGER =
87
+ end
88
+
89
+ teardown do
90
+ Object.send(:remove_const, :Rails)
91
+ Object.send(:remove_const, :ActiveSupport)
92
+ Object.send(:remove_const, :RAILS_DEFAULT_LOGGER)
93
+ end
94
+
95
+ should "use Rails2 logger" do
96
+ MyModule.logger = nil
97
+ MyModule.logger.should == ::RAILS_DEFAULT_LOGGER
98
+ end
99
+ should "switch to using Rails2 logger even if a default logger was already defined" do
100
+ MyModule.logger = Logger.new(STDOUT)
101
+ MyModule.logger.should == ::RAILS_DEFAULT_LOGGER
102
+ end
103
+ end
104
+
105
+ context "MyModule in Rails3" do
106
+ setup do
107
+ module ::Rails
108
+ class Application;end
109
+ def self.version
110
+ return "3.0.0"
111
+ end
58
112
  def self.logger
59
113
  return "I'm a Rails Logger."
60
114
  end
@@ -65,11 +119,11 @@ class LogMethodsTest < Test::Unit::TestCase
65
119
  Object.send(:remove_const, :Rails)
66
120
  end
67
121
 
68
- should "use Rails logger" do
122
+ should "use Rails3 logger" do
69
123
  MyModule.logger = nil
70
124
  MyModule.logger.should == Rails.logger
71
125
  end
72
- should "switch to using Rails logger even if a default logger was already defined" do
126
+ should "switch to using Rails3 logger even if a default logger was already defined" do
73
127
  MyModule.logger = Logger.new(STDOUT)
74
128
  MyModule.logger.should == Rails.logger
75
129
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mediashelf-loggable
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 5
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 3
10
- version: 0.4.3
9
+ - 5
10
+ version: 0.4.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Patrick Reagan
@@ -16,8 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-07-25 00:00:00 -05:00
20
- default_executable:
19
+ date: 2011-07-28 00:00:00 Z
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
22
  name: thoughtbot-shoulda
@@ -53,14 +52,12 @@ files:
53
52
  - lib/loggable.rb
54
53
  - lib/loggable/log_methods.rb
55
54
  - lib/loggable/logger_stub.rb
56
- - lib/loggable/version.rb
57
55
  - lib/tasks/loggable.rake
58
56
  - loggable.gemspec
59
57
  - mediashelf-loggable.gemspec
60
58
  - test/examples/log_methods_test.rb
61
59
  - test/examples/logger_stub_test.rb
62
60
  - test/test_helper.rb
63
- has_rdoc: true
64
61
  homepage: http://github.com/mediashelf/mediashelf-loggable
65
62
  licenses: []
66
63
 
@@ -90,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
87
  requirements: []
91
88
 
92
89
  rubyforge_project:
93
- rubygems_version: 1.6.2
90
+ rubygems_version: 1.8.6
94
91
  signing_key:
95
92
  specification_version: 3
96
93
  summary: A gem that provides logging capabilities to any class
@@ -1,13 +0,0 @@
1
- module Loggable
2
- module Version
3
-
4
- MAJOR = 0
5
- MINOR = 3
6
- TINY = 0
7
-
8
- def self.to_s # :nodoc:
9
- [MAJOR, MINOR, TINY].join('.')
10
- end
11
-
12
- end
13
- end