datamappify 0.53.0 → 0.53.1
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/CHANGELOG.md +4 -0
- data/README.md +30 -0
- data/lib/datamappify/data/provider/active_record.rb +1 -1
- data/lib/datamappify/data/provider/sequel.rb +1 -1
- data/lib/datamappify/version.rb +1 -1
- metadata +72 -32
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -134,6 +134,8 @@ class User
|
|
134
134
|
end
|
135
135
|
```
|
136
136
|
|
137
|
+
#### Entity inheritance
|
138
|
+
|
137
139
|
Inheritance is supported for entities, for example:
|
138
140
|
|
139
141
|
```ruby
|
@@ -199,6 +201,8 @@ class UserRepository
|
|
199
201
|
end
|
200
202
|
```
|
201
203
|
|
204
|
+
#### Repository inheritance
|
205
|
+
|
202
206
|
Inheritance is supported for repositories when your data structure is based on STI ([Single Table Inheritance](http://en.wikipedia.org/wiki/Single_Table_Inheritance)), for example:
|
203
207
|
|
204
208
|
```ruby
|
@@ -215,6 +219,32 @@ end
|
|
215
219
|
|
216
220
|
In the above example, both repositories deal with the `ActiveRecord::User` data model.
|
217
221
|
|
222
|
+
#### Override mapped data models
|
223
|
+
|
224
|
+
Datamappify repository by default creates the underlying data model classes for you. For example:
|
225
|
+
|
226
|
+
```ruby
|
227
|
+
map_attribute :driver_license, 'ActiveRecord::UserData::DriverLicense#number'
|
228
|
+
```
|
229
|
+
|
230
|
+
In the above example, a `Datamppify::Data::Record::ActiveRecord::UserDriverLicense` ActiveRecord model will be created. If you would like to customise the data model class, you may do so by creating one either under the default namespace or under the `Datamappify::Data::Record::NameOfDataProvider` namespace:
|
231
|
+
|
232
|
+
```ruby
|
233
|
+
module UserData
|
234
|
+
class DriverLicense < ActiveRecord::Base
|
235
|
+
# your customisation...
|
236
|
+
end
|
237
|
+
end
|
238
|
+
```
|
239
|
+
|
240
|
+
```ruby
|
241
|
+
module Datamappify::Data::Record::ActiveRecord::UserData
|
242
|
+
class DriverLicense < ::ActiveRecord::Base
|
243
|
+
# your customisation...
|
244
|
+
end
|
245
|
+
end
|
246
|
+
```
|
247
|
+
|
218
248
|
### Repository APIs
|
219
249
|
|
220
250
|
_More repository APIs are being added, below is a list of the currently implemented APIs._
|
data/lib/datamappify/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datamappify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.53.
|
4
|
+
version: 0.53.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Fred Wu
|
@@ -13,8 +14,9 @@ dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: virtus
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 1.0.0.beta0
|
20
22
|
- - <=
|
@@ -23,8 +25,9 @@ dependencies:
|
|
23
25
|
type: :runtime
|
24
26
|
prerelease: false
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
26
29
|
requirements:
|
27
|
-
- - '>='
|
30
|
+
- - ! '>='
|
28
31
|
- !ruby/object:Gem::Version
|
29
32
|
version: 1.0.0.beta0
|
30
33
|
- - <=
|
@@ -33,8 +36,9 @@ dependencies:
|
|
33
36
|
- !ruby/object:Gem::Dependency
|
34
37
|
name: activemodel
|
35
38
|
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
|
-
- - '>='
|
41
|
+
- - ! '>='
|
38
42
|
- !ruby/object:Gem::Version
|
39
43
|
version: 4.0.0.rc1
|
40
44
|
- - <
|
@@ -43,8 +47,9 @@ dependencies:
|
|
43
47
|
type: :runtime
|
44
48
|
prerelease: false
|
45
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
46
51
|
requirements:
|
47
|
-
- - '>='
|
52
|
+
- - ! '>='
|
48
53
|
- !ruby/object:Gem::Version
|
49
54
|
version: 4.0.0.rc1
|
50
55
|
- - <
|
@@ -53,6 +58,7 @@ dependencies:
|
|
53
58
|
- !ruby/object:Gem::Dependency
|
54
59
|
name: hooks
|
55
60
|
requirement: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
56
62
|
requirements:
|
57
63
|
- - ~>
|
58
64
|
- !ruby/object:Gem::Version
|
@@ -60,6 +66,7 @@ dependencies:
|
|
60
66
|
type: :runtime
|
61
67
|
prerelease: false
|
62
68
|
version_requirements: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
63
70
|
requirements:
|
64
71
|
- - ~>
|
65
72
|
- !ruby/object:Gem::Version
|
@@ -67,6 +74,7 @@ dependencies:
|
|
67
74
|
- !ruby/object:Gem::Dependency
|
68
75
|
name: bundler
|
69
76
|
requirement: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
70
78
|
requirements:
|
71
79
|
- - ~>
|
72
80
|
- !ruby/object:Gem::Version
|
@@ -74,6 +82,7 @@ dependencies:
|
|
74
82
|
type: :development
|
75
83
|
prerelease: false
|
76
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
77
86
|
requirements:
|
78
87
|
- - ~>
|
79
88
|
- !ruby/object:Gem::Version
|
@@ -81,148 +90,169 @@ dependencies:
|
|
81
90
|
- !ruby/object:Gem::Dependency
|
82
91
|
name: rake
|
83
92
|
requirement: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
84
94
|
requirements:
|
85
|
-
- - '>='
|
95
|
+
- - ! '>='
|
86
96
|
- !ruby/object:Gem::Version
|
87
97
|
version: '0'
|
88
98
|
type: :development
|
89
99
|
prerelease: false
|
90
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
91
102
|
requirements:
|
92
|
-
- - '>='
|
103
|
+
- - ! '>='
|
93
104
|
- !ruby/object:Gem::Version
|
94
105
|
version: '0'
|
95
106
|
- !ruby/object:Gem::Dependency
|
96
107
|
name: redcarpet
|
97
108
|
requirement: !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
98
110
|
requirements:
|
99
|
-
- - '>='
|
111
|
+
- - ! '>='
|
100
112
|
- !ruby/object:Gem::Version
|
101
113
|
version: '0'
|
102
114
|
type: :development
|
103
115
|
prerelease: false
|
104
116
|
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
105
118
|
requirements:
|
106
|
-
- - '>='
|
119
|
+
- - ! '>='
|
107
120
|
- !ruby/object:Gem::Version
|
108
121
|
version: '0'
|
109
122
|
- !ruby/object:Gem::Dependency
|
110
123
|
name: yard
|
111
124
|
requirement: !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
112
126
|
requirements:
|
113
|
-
- - '>='
|
127
|
+
- - ! '>='
|
114
128
|
- !ruby/object:Gem::Version
|
115
129
|
version: '0'
|
116
130
|
type: :development
|
117
131
|
prerelease: false
|
118
132
|
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
119
134
|
requirements:
|
120
|
-
- - '>='
|
135
|
+
- - ! '>='
|
121
136
|
- !ruby/object:Gem::Version
|
122
137
|
version: '0'
|
123
138
|
- !ruby/object:Gem::Dependency
|
124
139
|
name: rspec
|
125
140
|
requirement: !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
126
142
|
requirements:
|
127
|
-
- - '>='
|
143
|
+
- - ! '>='
|
128
144
|
- !ruby/object:Gem::Version
|
129
145
|
version: '0'
|
130
146
|
type: :development
|
131
147
|
prerelease: false
|
132
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
133
150
|
requirements:
|
134
|
-
- - '>='
|
151
|
+
- - ! '>='
|
135
152
|
- !ruby/object:Gem::Version
|
136
153
|
version: '0'
|
137
154
|
- !ruby/object:Gem::Dependency
|
138
155
|
name: pry
|
139
156
|
requirement: !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
140
158
|
requirements:
|
141
|
-
- - '>='
|
159
|
+
- - ! '>='
|
142
160
|
- !ruby/object:Gem::Version
|
143
161
|
version: '0'
|
144
162
|
type: :development
|
145
163
|
prerelease: false
|
146
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
147
166
|
requirements:
|
148
|
-
- - '>='
|
167
|
+
- - ! '>='
|
149
168
|
- !ruby/object:Gem::Version
|
150
169
|
version: '0'
|
151
170
|
- !ruby/object:Gem::Dependency
|
152
171
|
name: simplecov
|
153
172
|
requirement: !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
154
174
|
requirements:
|
155
|
-
- - '>='
|
175
|
+
- - ! '>='
|
156
176
|
- !ruby/object:Gem::Version
|
157
177
|
version: '0'
|
158
178
|
type: :development
|
159
179
|
prerelease: false
|
160
180
|
version_requirements: !ruby/object:Gem::Requirement
|
181
|
+
none: false
|
161
182
|
requirements:
|
162
|
-
- - '>='
|
183
|
+
- - ! '>='
|
163
184
|
- !ruby/object:Gem::Version
|
164
185
|
version: '0'
|
165
186
|
- !ruby/object:Gem::Dependency
|
166
187
|
name: cane
|
167
188
|
requirement: !ruby/object:Gem::Requirement
|
189
|
+
none: false
|
168
190
|
requirements:
|
169
|
-
- - '>='
|
191
|
+
- - ! '>='
|
170
192
|
- !ruby/object:Gem::Version
|
171
193
|
version: '0'
|
172
194
|
type: :development
|
173
195
|
prerelease: false
|
174
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
none: false
|
175
198
|
requirements:
|
176
|
-
- - '>='
|
199
|
+
- - ! '>='
|
177
200
|
- !ruby/object:Gem::Version
|
178
201
|
version: '0'
|
179
202
|
- !ruby/object:Gem::Dependency
|
180
203
|
name: coveralls
|
181
204
|
requirement: !ruby/object:Gem::Requirement
|
205
|
+
none: false
|
182
206
|
requirements:
|
183
|
-
- - '>='
|
207
|
+
- - ! '>='
|
184
208
|
- !ruby/object:Gem::Version
|
185
209
|
version: '0'
|
186
210
|
type: :development
|
187
211
|
prerelease: false
|
188
212
|
version_requirements: !ruby/object:Gem::Requirement
|
213
|
+
none: false
|
189
214
|
requirements:
|
190
|
-
- - '>='
|
215
|
+
- - ! '>='
|
191
216
|
- !ruby/object:Gem::Version
|
192
217
|
version: '0'
|
193
218
|
- !ruby/object:Gem::Dependency
|
194
219
|
name: sqlite3
|
195
220
|
requirement: !ruby/object:Gem::Requirement
|
221
|
+
none: false
|
196
222
|
requirements:
|
197
|
-
- - '>='
|
223
|
+
- - ! '>='
|
198
224
|
- !ruby/object:Gem::Version
|
199
225
|
version: '0'
|
200
226
|
type: :development
|
201
227
|
prerelease: false
|
202
228
|
version_requirements: !ruby/object:Gem::Requirement
|
229
|
+
none: false
|
203
230
|
requirements:
|
204
|
-
- - '>='
|
231
|
+
- - ! '>='
|
205
232
|
- !ruby/object:Gem::Version
|
206
233
|
version: '0'
|
207
234
|
- !ruby/object:Gem::Dependency
|
208
235
|
name: sequel
|
209
236
|
requirement: !ruby/object:Gem::Requirement
|
237
|
+
none: false
|
210
238
|
requirements:
|
211
|
-
- - '>='
|
239
|
+
- - ! '>='
|
212
240
|
- !ruby/object:Gem::Version
|
213
241
|
version: '0'
|
214
242
|
type: :development
|
215
243
|
prerelease: false
|
216
244
|
version_requirements: !ruby/object:Gem::Requirement
|
245
|
+
none: false
|
217
246
|
requirements:
|
218
|
-
- - '>='
|
247
|
+
- - ! '>='
|
219
248
|
- !ruby/object:Gem::Version
|
220
249
|
version: '0'
|
221
250
|
- !ruby/object:Gem::Dependency
|
222
251
|
name: activerecord
|
223
252
|
requirement: !ruby/object:Gem::Requirement
|
253
|
+
none: false
|
224
254
|
requirements:
|
225
|
-
- - '>='
|
255
|
+
- - ! '>='
|
226
256
|
- !ruby/object:Gem::Version
|
227
257
|
version: 4.0.0.rc1
|
228
258
|
- - <
|
@@ -231,8 +261,9 @@ dependencies:
|
|
231
261
|
type: :development
|
232
262
|
prerelease: false
|
233
263
|
version_requirements: !ruby/object:Gem::Requirement
|
264
|
+
none: false
|
234
265
|
requirements:
|
235
|
-
- - '>='
|
266
|
+
- - ! '>='
|
236
267
|
- !ruby/object:Gem::Version
|
237
268
|
version: 4.0.0.rc1
|
238
269
|
- - <
|
@@ -241,6 +272,7 @@ dependencies:
|
|
241
272
|
- !ruby/object:Gem::Dependency
|
242
273
|
name: database_cleaner
|
243
274
|
requirement: !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
244
276
|
requirements:
|
245
277
|
- - ~>
|
246
278
|
- !ruby/object:Gem::Version
|
@@ -248,6 +280,7 @@ dependencies:
|
|
248
280
|
type: :development
|
249
281
|
prerelease: false
|
250
282
|
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
none: false
|
251
284
|
requirements:
|
252
285
|
- - ~>
|
253
286
|
- !ruby/object:Gem::Version
|
@@ -395,26 +428,33 @@ files:
|
|
395
428
|
homepage: https://github.com/fredwu/datamappify
|
396
429
|
licenses:
|
397
430
|
- MIT
|
398
|
-
metadata: {}
|
399
431
|
post_install_message:
|
400
432
|
rdoc_options: []
|
401
433
|
require_paths:
|
402
434
|
- lib
|
403
435
|
required_ruby_version: !ruby/object:Gem::Requirement
|
436
|
+
none: false
|
404
437
|
requirements:
|
405
|
-
- - '>='
|
438
|
+
- - ! '>='
|
406
439
|
- !ruby/object:Gem::Version
|
407
440
|
version: '0'
|
441
|
+
segments:
|
442
|
+
- 0
|
443
|
+
hash: -4173751016346712187
|
408
444
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
445
|
+
none: false
|
409
446
|
requirements:
|
410
|
-
- - '>='
|
447
|
+
- - ! '>='
|
411
448
|
- !ruby/object:Gem::Version
|
412
449
|
version: '0'
|
450
|
+
segments:
|
451
|
+
- 0
|
452
|
+
hash: -4173751016346712187
|
413
453
|
requirements: []
|
414
454
|
rubyforge_project:
|
415
|
-
rubygems_version:
|
455
|
+
rubygems_version: 1.8.25
|
416
456
|
signing_key:
|
417
|
-
specification_version:
|
457
|
+
specification_version: 3
|
418
458
|
summary: Compose, decouple and manage domain logic and data persistence separately.
|
419
459
|
Works particularly great for composing form objects!
|
420
460
|
test_files:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: bad8103a3c5c165af76967bc3b93b2c1a79c303d
|
4
|
-
data.tar.gz: a84ea4a4f05701f9bdbbb4ef68baba89f2887dc9
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 49c79d48411f0e71f550aeba3d0022cae4e8bf1a61aae621493164da4f64942034f348e34a0a1fe4a66221bc86cf6a744c22cf232c8722ca2580336f758b4463
|
7
|
-
data.tar.gz: e6e75cdce7912e86ce5e023f3e44fee19e6c890b23c77159b883db53a53ee92b295e456aca40fef871ca997252c49139dfde9ac6190abf317707e55e501ddccc
|