toystore 0.8.1 → 0.8.2

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.
data/lib/toy.rb CHANGED
@@ -42,13 +42,32 @@ module Toy
42
42
  end
43
43
  end
44
44
 
45
+ def logger
46
+ @logger
47
+ end
48
+
49
+ def logger?
50
+ @logger.present?
51
+ end
52
+
53
+ def logger=(logger)
54
+ @logger = logger
55
+ end
56
+
57
+ def key_factory=(key_factory)
58
+ @key_factory = key_factory
59
+ end
60
+
61
+ def key_factory
62
+ @key_factory ||= Toy::Identity::UUIDKeyFactory.new
63
+ end
64
+
45
65
  module Middleware
46
66
  autoload 'IdentityMap', 'toy/middleware/identity_map'
47
67
  end
48
68
  end
49
69
 
50
70
  require 'toy/exceptions'
51
- require 'toy/connection'
52
71
  require 'toy/attribute'
53
72
  require 'toy/attributes'
54
73
  require 'toy/callbacks'
@@ -3,13 +3,16 @@ module Toy
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  module ClassMethods
6
+ OperationsToLogValueFor = [:get, :set, :del]
7
+
6
8
  def logger
7
9
  Toy.logger
8
10
  end
9
11
 
10
12
  def log_operation(operation, model, adapter, key, value=nil)
11
- if logger.debug?
12
- logger.debug("ToyStore #{operation.to_s.upcase} #{model} :#{adapter.name} #{key.inspect}")
13
+ if logger && logger.debug?
14
+ logger.debug("TOYSTORE #{operation.to_s.upcase} #{model} :#{adapter.name} #{key.inspect}")
15
+ logger.debug(" #{value.inspect}") if !value.nil? && OperationsToLogValueFor.include?(operation)
13
16
  end
14
17
  end
15
18
  end
@@ -31,6 +31,4 @@ module Toy
31
31
  include Caching
32
32
  end
33
33
  end
34
-
35
- extend Connection
36
34
  end
@@ -15,7 +15,7 @@ module Toy
15
15
  if invalid.any?
16
16
  record.errors.add(name, 'is invalid')
17
17
 
18
- if logger.debug?
18
+ if logger && logger.debug?
19
19
  invalid_messages = []
20
20
  invalid.each do |obj|
21
21
  invalid_messages << [obj.attributes, obj.errors.full_messages]
@@ -1,3 +1,3 @@
1
1
  module Toy
2
- VERSION = "0.8.1"
2
+ VERSION = "0.8.2"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
2
 
3
- describe Toy::Connection do
3
+ describe Toy::Dolly do
4
4
  uses_constants('User', 'Game', 'Move')
5
5
 
6
6
  before do
@@ -3,6 +3,14 @@ require 'helper'
3
3
  describe Toy::Logger do
4
4
  uses_constants('User')
5
5
 
6
+ before do
7
+ @logger = Toy.logger
8
+ end
9
+
10
+ after do
11
+ Toy.logger = @logger
12
+ end
13
+
6
14
  it "should use Toy.logger for class" do
7
15
  User.logger.should == Toy.logger
8
16
  end
@@ -15,16 +23,26 @@ describe Toy::Logger do
15
23
  let(:adapter) { Adapter[:memory].new({}) }
16
24
 
17
25
  it "logs operation" do
18
- User.logger.should_receive(:debug).with('ToyStore GET User :memory "foo"')
26
+ Toy.logger = stub(:debug? => true)
27
+ User.logger.should_receive(:debug).with('TOYSTORE GET User :memory "foo"')
28
+ User.logger.should_receive(:debug).with(' "bar"')
19
29
  User.log_operation(:get, User, adapter, 'foo', 'bar')
20
30
  end
31
+
32
+ it "ignores operations that should not be logged" do
33
+ Toy.logger = stub(:debug? => true)
34
+ User.logger.should_receive(:debug).with('TOYSTORE IMG User :memory "foo"')
35
+ User.log_operation(:img, User, adapter, 'foo', 'bar')
36
+ end
21
37
  end
22
38
 
23
39
  describe "#log_operation" do
24
40
  let(:adapter) { Adapter[:memory].new({}) }
25
41
 
26
42
  it "logs operation" do
27
- User.logger.should_receive(:debug).with('ToyStore GET User :memory "foo"')
43
+ Toy.logger = stub(:debug? => true)
44
+ User.logger.should_receive(:debug).with('TOYSTORE GET User :memory "foo"')
45
+ User.logger.should_receive(:debug).with(' "bar"')
28
46
  User.log_operation(:get, User, adapter, 'foo', 'bar')
29
47
  end
30
48
  end
@@ -18,4 +18,33 @@ describe Toy do
18
18
  lambda { Toy.clear }.should_not raise_error
19
19
  end
20
20
  end
21
+
22
+ describe ".logger" do
23
+ before do
24
+ @logger = Toy.logger
25
+ end
26
+
27
+ after do
28
+ Toy.logger = @logger
29
+ end
30
+
31
+ it "should set the default logger" do
32
+ logger = stub
33
+ Toy.logger = logger
34
+ Toy.logger.should == logger
35
+ end
36
+ end
37
+
38
+ describe ".key_factory" do
39
+ it "should set the default key_factory" do
40
+ key_factory = stub
41
+ Toy.key_factory = key_factory
42
+ Toy.key_factory.should == key_factory
43
+ end
44
+
45
+ it "should default to the UUIDKeyFactory" do
46
+ Toy.key_factory = nil
47
+ Toy.key_factory.should be_instance_of(Toy::Identity::UUIDKeyFactory)
48
+ end
49
+ end
21
50
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toystore
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 1
10
- version: 0.8.1
9
+ - 2
10
+ version: 0.8.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Geoffrey Dagley
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-07-04 00:00:00 Z
19
+ date: 2011-07-05 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: adapter
@@ -114,7 +114,6 @@ files:
114
114
  - lib/toy/caching.rb
115
115
  - lib/toy/callbacks.rb
116
116
  - lib/toy/collection.rb
117
- - lib/toy/connection.rb
118
117
  - lib/toy/dirty.rb
119
118
  - lib/toy/dolly.rb
120
119
  - lib/toy/embedded_list.rb
@@ -169,7 +168,6 @@ files:
169
168
  - spec/toy/attributes_spec.rb
170
169
  - spec/toy/caching_spec.rb
171
170
  - spec/toy/callbacks_spec.rb
172
- - spec/toy/connection_spec.rb
173
171
  - spec/toy/dirty_spec.rb
174
172
  - spec/toy/dolly_spec.rb
175
173
  - spec/toy/embedded_list_spec.rb
@@ -254,7 +252,6 @@ test_files:
254
252
  - spec/toy/attributes_spec.rb
255
253
  - spec/toy/caching_spec.rb
256
254
  - spec/toy/callbacks_spec.rb
257
- - spec/toy/connection_spec.rb
258
255
  - spec/toy/dirty_spec.rb
259
256
  - spec/toy/dolly_spec.rb
260
257
  - spec/toy/embedded_list_spec.rb
@@ -1,28 +0,0 @@
1
- module Toy
2
- module Connection
3
- def logger
4
- @@logger ||= init_default_logger
5
- end
6
-
7
- def logger=(logger)
8
- @@logger = logger
9
- end
10
-
11
- def key_factory=(key_factory)
12
- @@key_factory = key_factory
13
- end
14
-
15
- def key_factory
16
- @@key_factory ||= Toy::Identity::UUIDKeyFactory.new
17
- end
18
-
19
- def init_default_logger
20
- if Object.const_defined?("RAILS_DEFAULT_LOGGER")
21
- @@logger = Object.const_get("RAILS_DEFAULT_LOGGER")
22
- else
23
- require 'logger'
24
- @@logger = ::Logger.new(STDOUT)
25
- end
26
- end
27
- end
28
- end
@@ -1,47 +0,0 @@
1
- require 'helper'
2
-
3
- describe Toy::Connection do
4
- uses_constants('User')
5
-
6
- before do
7
- @logger = Toy.logger
8
- end
9
-
10
- after do
11
- Toy.logger = @logger
12
- end
13
-
14
- describe ".logger" do
15
- it "should set the default logger" do
16
- logger = stub
17
- Toy.logger = logger
18
- Toy.logger.should == logger
19
- end
20
-
21
- it "should be an instance of Logger if not set" do
22
- Toy.logger = nil
23
- Toy.logger.should be_instance_of(Logger)
24
- end
25
-
26
- it "should use RAILS_DEFAULT_LOGGER if defined" do
27
- remove_constants("RAILS_DEFAULT_LOGGER")
28
- RAILS_DEFAULT_LOGGER = stub
29
-
30
- Toy.logger = nil
31
- Toy.logger.should == RAILS_DEFAULT_LOGGER
32
- end
33
- end
34
-
35
- describe ".key_factory" do
36
- it "should set the default key_factory" do
37
- key_factory = stub
38
- Toy.key_factory = key_factory
39
- Toy.key_factory.should == key_factory
40
- end
41
-
42
- it "should default to the UUIDKeyFactory" do
43
- Toy.key_factory = nil
44
- Toy.key_factory.should be_instance_of(Toy::Identity::UUIDKeyFactory)
45
- end
46
- end
47
- end