activerecord_to_poro 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -0
- data/lib/activerecord_to_poro/object_mapper.rb +2 -0
- data/lib/activerecord_to_poro/version.rb +1 -1
- data/spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb +1 -1
- data/spec/integration/lib/activerecord_to_poro/object_mapper_spec.rb +24 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8dd9ccad82ce27decc321a3ecc0e46ee03ae03a2
|
4
|
+
data.tar.gz: e5efe27480922d9306c038d098ef6d76872507c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcdc20ef41bea88a23bc9066e1e5a767494af88d8313990e7bc577a7b8107c03528b7fbdf93c497e90d7f30390b0fa99c12a7b4c3b8cda3712098cb674519344
|
7
|
+
data.tar.gz: e9ff0ac70f6b78a0ebe6c77545a0fe87b34fd6bea9a60e99c627543c87236235ae278a6825b1bb16b39b2118b7f417d4974e31f594ab55908d27c6947322e45c
|
data/README.md
CHANGED
@@ -95,8 +95,26 @@ roles_converter.extend_mapping do
|
|
95
95
|
end
|
96
96
|
|
97
97
|
|
98
|
+
# Enable loading AciveRecord Objects from a cache, when the data for
|
99
|
+
# saving is needed
|
98
100
|
|
99
101
|
|
102
|
+
class Salutation < ActiveRecord::Base
|
103
|
+
has_many :users, autosave: true
|
104
|
+
|
105
|
+
after_find :add_to_cache
|
106
|
+
|
107
|
+
def self.query_from_cache(query_attrs)
|
108
|
+
found_obj = # find by primary key & lock_version from cache
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
def add_to_cache
|
113
|
+
# add self to a cache
|
114
|
+
true
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
100
118
|
|
101
119
|
```
|
102
120
|
|
@@ -39,7 +39,8 @@ describe ActiverecordToPoro::ObjectMapper do
|
|
39
39
|
|
40
40
|
context 'instance methods' do
|
41
41
|
subject!{
|
42
|
-
ActiverecordToPoro::ObjectMapper.create(User, convert_associations: {roles: roles_converter,
|
42
|
+
ActiverecordToPoro::ObjectMapper.create(User, convert_associations: {roles: roles_converter,
|
43
|
+
salutation: salutation_converter})
|
43
44
|
}
|
44
45
|
|
45
46
|
let(:roles_converter){
|
@@ -84,6 +85,27 @@ describe ActiverecordToPoro::ObjectMapper do
|
|
84
85
|
expect(subject.load(ar_object, poro_to_fill).object_id).to eq poro_to_fill.object_id
|
85
86
|
end
|
86
87
|
|
88
|
+
it 'resets changes flag if a method is given, mass assignment not used and no prefilled object given' do
|
89
|
+
result_class = Struct.new(:id) do
|
90
|
+
def reset_changes_flag
|
91
|
+
@reset_changes = :called
|
92
|
+
end
|
93
|
+
|
94
|
+
def reset_changes
|
95
|
+
@reset_changes ||= :not_called
|
96
|
+
end
|
97
|
+
end
|
98
|
+
mapper = ActiverecordToPoro::ObjectMapper.create(User,
|
99
|
+
load_source: result_class,
|
100
|
+
only: :id,
|
101
|
+
use_mass_assignment_constructor: false)
|
102
|
+
|
103
|
+
|
104
|
+
poro = mapper.load(ar_object)
|
105
|
+
|
106
|
+
expect(poro.reset_changes).to eq :called
|
107
|
+
end
|
108
|
+
|
87
109
|
end
|
88
110
|
|
89
111
|
describe '#dump' do
|
@@ -105,6 +127,7 @@ describe ActiverecordToPoro::ObjectMapper do
|
|
105
127
|
new_ar_object = User.new
|
106
128
|
expect(subject.dump(loaded_poro_object, new_ar_object).object_id).to eq new_ar_object.object_id
|
107
129
|
end
|
130
|
+
|
108
131
|
end
|
109
132
|
|
110
133
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord_to_poro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dieter Späth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: abstract_type
|