toystore-mongo 0.11.0 → 0.12.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.
@@ -7,3 +7,4 @@ rvm:
7
7
  notifications:
8
8
  email: false
9
9
  bundler_args: --without guard
10
+ services: mongodb
data/Gemfile CHANGED
@@ -4,9 +4,9 @@ gemspec
4
4
  gem 'rake', '~> 0.9.0'
5
5
 
6
6
  # keep mongo and bson ext at same version
7
- gem 'adapter-mongo', '~> 0.5.5'
8
7
  gem 'mongo', '~> 1.6.0'
9
8
  gem 'bson_ext', '~> 1.6.0', :require => false
9
+ gem 'adapter-mongo', :path => '/Users/jnunemaker/projects/adapter-mongo'
10
10
 
11
11
  group(:guard) do
12
12
  gem 'guard', '~> 1.0.0'
@@ -9,13 +9,12 @@ require 'adapter/mongo'
9
9
  module Toy
10
10
  module Mongo
11
11
  extend ActiveSupport::Concern
12
+ include Toy::Store
13
+ include Querying
12
14
 
13
15
  class Error < StandardError; end
14
16
 
15
17
  included do
16
- include Toy::Store
17
- include Querying
18
-
19
18
  key Toy::Identity::ObjectIdKeyFactory.new
20
19
  end
21
20
  end
@@ -25,22 +25,6 @@ module Toy
25
25
  super Plucky.to_object_id(id)
26
26
  end
27
27
 
28
- # Mongo does not guarantee sort order when using $in.
29
- # So we manually sort in ruby for now. Not stoked about
30
- # this, but it gets the job done.
31
- def get_multi(*ids)
32
- ids = ids.flatten
33
- all(:_id => {'$in' => ids}).sort do |a, b|
34
- index_a = ids.index(a.id)
35
- index_b = ids.index(b.id)
36
- if index_a.nil? || index_b.nil?
37
- 1
38
- else
39
- index_a <=> index_b
40
- end
41
- end
42
- end
43
-
44
28
  def query
45
29
  Plucky::Query.new(adapter.client, :transformer => transformer).object_ids(object_id_attributes)
46
30
  end
@@ -1,5 +1,5 @@
1
1
  module Toy
2
2
  module Mongo
3
- VERSION = '0.11.0'
3
+ VERSION = '0.12.0'
4
4
  end
5
5
  end
@@ -40,22 +40,4 @@ describe Toy::Mongo::Querying do
40
40
  User.get('1234').should be_nil
41
41
  end
42
42
  end
43
-
44
- describe "#get_multi" do
45
- before(:each) do
46
- @user1 = User.create
47
- @user2 = User.create
48
- @users = User.get_multi(@user2.id, @user1.id)
49
- end
50
-
51
- it "returns multiple documents in correct order" do
52
- @users.should == [@user2, @user1]
53
- end
54
-
55
- it "performs one query" do
56
- User.should_not_receive(:get)
57
- User.should_receive(:all).once.and_return([])
58
- User.get_multi(@user1.id, @user2.id)
59
- end
60
- end
61
43
  end
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.add_dependency 'plucky', '~> 0.5'
16
16
  s.add_dependency 'toystore', '~> 0.10'
17
- s.add_dependency 'adapter-mongo', '~> 0.5.5'
17
+ s.add_dependency 'adapter-mongo', '~> 0.7.0'
18
18
 
19
19
  s.files = `git ls-files`.split("\n") - ['specs.watchr']
20
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,78 +1,71 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: toystore-mongo
3
- version: !ruby/object:Gem::Version
4
- hash: 51
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.12.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 11
9
- - 0
10
- version: 0.11.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - John Nunemaker
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-20 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :runtime
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-11-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: plucky
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 1
29
- segments:
30
- - 0
31
- - 5
32
- version: "0.5"
33
- version_requirements: *id001
34
- name: plucky
35
- - !ruby/object:Gem::Dependency
20
+ - !ruby/object:Gem::Version
21
+ version: '0.5'
36
22
  type: :runtime
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
26
+ requirements:
41
27
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 31
44
- segments:
45
- - 0
46
- - 10
47
- version: "0.10"
48
- version_requirements: *id002
28
+ - !ruby/object:Gem::Version
29
+ version: '0.5'
30
+ - !ruby/object:Gem::Dependency
49
31
  name: toystore
50
- - !ruby/object:Gem::Dependency
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.10'
51
38
  type: :runtime
52
39
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
54
41
  none: false
55
- requirements:
42
+ requirements:
56
43
  - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 1
59
- segments:
60
- - 0
61
- - 5
62
- - 5
63
- version: 0.5.5
64
- version_requirements: *id003
44
+ - !ruby/object:Gem::Version
45
+ version: '0.10'
46
+ - !ruby/object:Gem::Dependency
65
47
  name: adapter-mongo
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.7.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.7.0
66
62
  description: Mongo integration for Toystore
67
- email:
63
+ email:
68
64
  - nunemaker@gmail.com
69
65
  executables: []
70
-
71
66
  extensions: []
72
-
73
67
  extra_rdoc_files: []
74
-
75
- files:
68
+ files:
76
69
  - .gitignore
77
70
  - .travis.yml
78
71
  - Gemfile
@@ -98,40 +91,37 @@ files:
98
91
  - spec/toy/mongo/querying_spec.rb
99
92
  - spec/toy/mongo_spec.rb
100
93
  - toystore-mongo.gemspec
101
- homepage: ""
94
+ homepage: ''
102
95
  licenses: []
103
-
104
96
  post_install_message:
105
97
  rdoc_options: []
106
-
107
- require_paths:
98
+ require_paths:
108
99
  - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
100
+ required_ruby_version: !ruby/object:Gem::Requirement
110
101
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ segments:
116
107
  - 0
117
- version: "0"
118
- required_rubygems_version: !ruby/object:Gem::Requirement
108
+ hash: 3552750684028256836
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
110
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- hash: 3
124
- segments:
111
+ requirements:
112
+ - - ! '>='
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ segments:
125
116
  - 0
126
- version: "0"
117
+ hash: 3552750684028256836
127
118
  requirements: []
128
-
129
119
  rubyforge_project:
130
- rubygems_version: 1.8.10
120
+ rubygems_version: 1.8.23
131
121
  signing_key:
132
122
  specification_version: 3
133
123
  summary: Mongo integration for Toystore
134
- test_files:
124
+ test_files:
135
125
  - spec/helper.rb
136
126
  - spec/spec.opts
137
127
  - spec/support/callbacks_helper.rb