praxis-mapper 3.1.1 → 3.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +5 -1
- data/Rakefile +1 -0
- data/lib/praxis-mapper/identity_map.rb +4 -1
- data/lib/praxis-mapper/version.rb +1 -1
- data/praxis-mapper.gemspec +1 -1
- data/spec/praxis-mapper/identity_map_spec.rb +19 -0
- metadata +6 -7
- data/Gemfile.lock +0 -102
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71bd06fa8f2c3ff667aef12cf116a714c17c76fa
|
4
|
+
data.tar.gz: 3ab68cf2cdf25df7fe6ba341a459b3c0047fc1e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19cb0ef80ba71a29fc8674ed6278cdc3c9e3336504698117818e3c856a3fb1e0cdfa5b5f4c4850e84c95cda2ed57a204b99709fc7113b9f3e0dfbe68a57e191a
|
7
|
+
data.tar.gz: 66b34d0b5c243c2ac1f092f041bc68995bc5a200b30d3e0ad3ed269213108548b8e5ce7947eaeb46f327be443fd5c0b76045467e70c58da1d95e9ecce10aa5ec
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,12 @@
|
|
2
2
|
|
3
3
|
## next
|
4
4
|
|
5
|
-
* Next feature
|
5
|
+
* Next feature or fix here.
|
6
|
+
|
7
|
+
## 3.1.2
|
8
|
+
|
9
|
+
* Fixed handling of loads where :staged, which could cause an incorrect underlying query using a "staged" column.
|
10
|
+
* Relaxed ActiveSupport version dependency from 4 to >=3
|
6
11
|
|
7
12
|
## 3.1
|
8
13
|
|
data/README.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
# Praxis::Mapper
|
1
|
+
# Praxis::Mapper [![TravisCI][travis-img-url]][travis-ci-url]
|
2
|
+
|
3
|
+
[travis-img-url]:https://travis-ci.org/rightscale/praxis-mapper.svg?branch=master
|
4
|
+
[travis-ci-url]:https://travis-ci.org/rightscale/praxis-mapper
|
5
|
+
|
2
6
|
|
3
7
|
Praxis::Mapper is a library that allows for large amounts of data to be loaded for a tree of associated models,
|
4
8
|
while minimizing requests to external services.
|
data/Rakefile
CHANGED
@@ -113,7 +113,10 @@ module Praxis::Mapper
|
|
113
113
|
query_class = @connection_manager.repository(model.repository_name)[:query]
|
114
114
|
query = query_class.new(self, model, &block)
|
115
115
|
|
116
|
-
|
116
|
+
if query.where == :staged
|
117
|
+
query.where = nil
|
118
|
+
return finalize_model!(model, query)
|
119
|
+
end
|
117
120
|
|
118
121
|
records = query.execute
|
119
122
|
add_records(records)
|
data/praxis-mapper.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_runtime_dependency(%q<randexp>, ["~> 0"])
|
23
23
|
spec.add_runtime_dependency(%q<sequel>, ["~> 4"])
|
24
|
-
spec.add_runtime_dependency(%q<activesupport>, ["
|
24
|
+
spec.add_runtime_dependency(%q<activesupport>, [">= 3"])
|
25
25
|
|
26
26
|
spec.add_development_dependency "bundler", "~> 1.6"
|
27
27
|
spec.add_development_dependency "rake", "~> 0"
|
@@ -108,6 +108,25 @@ describe Praxis::Mapper::IdentityMap do
|
|
108
108
|
|
109
109
|
end
|
110
110
|
|
111
|
+
context 'where :staged' do
|
112
|
+
after do
|
113
|
+
identity_map.load AddressModel do
|
114
|
+
where :staged
|
115
|
+
track :foobar
|
116
|
+
end
|
117
|
+
end
|
118
|
+
it 'calls finalize_model!' do
|
119
|
+
identity_map.should_receive(:finalize_model!).with(AddressModel, anything())
|
120
|
+
end
|
121
|
+
it 'removes the :staged from the query where clause' do
|
122
|
+
identity_map.should_receive(:finalize_model!) do |model, query|
|
123
|
+
model.should be(AddressModel)
|
124
|
+
query.where.should be(nil)
|
125
|
+
query.track.should eq(Set.new([:foobar]))
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
111
130
|
context 'with a query with a subload' do
|
112
131
|
context 'for a many_to_one association' do
|
113
132
|
before do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: praxis-mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep M. Blanquer
|
@@ -43,16 +43,16 @@ dependencies:
|
|
43
43
|
name: activesupport
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - "
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
48
|
+
version: '3'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - "
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '3'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: bundler
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,7 +220,6 @@ files:
|
|
220
220
|
- ".travis.yml"
|
221
221
|
- CHANGELOG.md
|
222
222
|
- Gemfile
|
223
|
-
- Gemfile.lock
|
224
223
|
- Guardfile
|
225
224
|
- LICENSE
|
226
225
|
- README.md
|
@@ -277,7 +276,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
276
|
version: '0'
|
278
277
|
requirements: []
|
279
278
|
rubyforge_project:
|
280
|
-
rubygems_version: 2.2.
|
279
|
+
rubygems_version: 2.2.2
|
281
280
|
signing_key:
|
282
281
|
specification_version: 4
|
283
282
|
summary: A multi-datastore library designed for efficiency in loading large datasets.
|
data/Gemfile.lock
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
praxis-mapper (3.1.0)
|
5
|
-
activesupport (~> 4)
|
6
|
-
randexp (~> 0)
|
7
|
-
sequel (~> 4)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
activesupport (4.1.5)
|
13
|
-
i18n (~> 0.6, >= 0.6.9)
|
14
|
-
json (~> 1.7, >= 1.7.7)
|
15
|
-
minitest (~> 5.1)
|
16
|
-
thread_safe (~> 0.1)
|
17
|
-
tzinfo (~> 1.1)
|
18
|
-
binding_of_caller (0.7.2)
|
19
|
-
debug_inspector (>= 0.0.1)
|
20
|
-
byebug (2.7.0)
|
21
|
-
columnize (~> 0.3)
|
22
|
-
debugger-linecache (~> 1.2)
|
23
|
-
celluloid (0.15.2)
|
24
|
-
timers (~> 1.1.0)
|
25
|
-
coderay (1.1.0)
|
26
|
-
columnize (0.8.9)
|
27
|
-
debug_inspector (0.0.2)
|
28
|
-
debugger-linecache (1.2.0)
|
29
|
-
diff-lcs (1.2.5)
|
30
|
-
ffi (1.9.3)
|
31
|
-
formatador (0.2.5)
|
32
|
-
fuubar (1.3.3)
|
33
|
-
rspec (>= 2.14.0, < 3.1.0)
|
34
|
-
ruby-progressbar (~> 1.4)
|
35
|
-
guard (2.6.1)
|
36
|
-
formatador (>= 0.2.4)
|
37
|
-
listen (~> 2.7)
|
38
|
-
lumberjack (~> 1.0)
|
39
|
-
pry (>= 0.9.12)
|
40
|
-
thor (>= 0.18.1)
|
41
|
-
guard-rspec (4.3.1)
|
42
|
-
guard (~> 2.1)
|
43
|
-
rspec (>= 2.14, < 4.0)
|
44
|
-
i18n (0.6.11)
|
45
|
-
json (1.8.1)
|
46
|
-
listen (2.7.9)
|
47
|
-
celluloid (>= 0.15.2)
|
48
|
-
rb-fsevent (>= 0.9.3)
|
49
|
-
rb-inotify (>= 0.9)
|
50
|
-
lumberjack (1.0.9)
|
51
|
-
method_source (0.8.2)
|
52
|
-
minitest (5.4.0)
|
53
|
-
pry (0.10.1)
|
54
|
-
coderay (~> 1.1.0)
|
55
|
-
method_source (~> 0.8.1)
|
56
|
-
slop (~> 3.4)
|
57
|
-
pry-byebug (1.3.3)
|
58
|
-
byebug (~> 2.7)
|
59
|
-
pry (~> 0.10)
|
60
|
-
pry-stack_explorer (0.4.9.1)
|
61
|
-
binding_of_caller (>= 0.7)
|
62
|
-
pry (>= 0.9.11)
|
63
|
-
rake (0.9.6)
|
64
|
-
randexp (0.1.7)
|
65
|
-
rb-fsevent (0.9.4)
|
66
|
-
rb-inotify (0.9.5)
|
67
|
-
ffi (>= 0.5.0)
|
68
|
-
redcarpet (2.3.0)
|
69
|
-
rspec (2.14.1)
|
70
|
-
rspec-core (~> 2.14.0)
|
71
|
-
rspec-expectations (~> 2.14.0)
|
72
|
-
rspec-mocks (~> 2.14.0)
|
73
|
-
rspec-core (2.14.8)
|
74
|
-
rspec-expectations (2.14.5)
|
75
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
76
|
-
rspec-mocks (2.14.6)
|
77
|
-
ruby-progressbar (1.5.1)
|
78
|
-
sequel (4.13.0)
|
79
|
-
slop (3.6.0)
|
80
|
-
thor (0.19.1)
|
81
|
-
thread_safe (0.3.4)
|
82
|
-
timers (1.1.0)
|
83
|
-
tzinfo (1.2.2)
|
84
|
-
thread_safe (~> 0.1)
|
85
|
-
yard (0.8.7.4)
|
86
|
-
|
87
|
-
PLATFORMS
|
88
|
-
ruby
|
89
|
-
|
90
|
-
DEPENDENCIES
|
91
|
-
bundler (~> 1.6)
|
92
|
-
fuubar (~> 1)
|
93
|
-
guard (~> 2)
|
94
|
-
guard-rspec
|
95
|
-
praxis-mapper!
|
96
|
-
pry (~> 0)
|
97
|
-
pry-byebug (~> 1)
|
98
|
-
pry-stack_explorer (~> 0)
|
99
|
-
rake (~> 0)
|
100
|
-
redcarpet (< 3.0)
|
101
|
-
rspec (< 2.99)
|
102
|
-
yard (~> 0.8.7)
|