artirix_data_models 0.13.0 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +14 -0
- data/lib/artirix_data_models/model.rb +19 -2
- data/lib/artirix_data_models/version.rb +1 -1
- data/spec/artirix_data_models/model_spec.rb +23 -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: 9a060a4fa04fce00cde5999d99498e7b15e46485
|
4
|
+
data.tar.gz: bc3c22509e46bd8474f4c60641d872fa1e06d882
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a73b7fa9d687ec9acc1b1d9b6e63a61db690c6bf0289f4ef21cca2aa597f3535cd60aa212daac6d1a00d57062187bc04ed26116e9866ed0ae2601c4f54d2ac46
|
7
|
+
data.tar.gz: a9280128257047ed0ba48acc5fe4c03dd5585f4dfac5a6f1667e62da99ad1cbe534346ab7aa8f9fc32a1e4803c527a8a1b649515f430048fcbde5123c6b56d9f
|
data/README.md
CHANGED
@@ -268,6 +268,20 @@ end
|
|
268
268
|
|
269
269
|
## Changes
|
270
270
|
|
271
|
+
### 0.14.0
|
272
|
+
- `Model`: added static `mark_full_mode_by_default`: if called in the model definition it will make all new models full mode by default
|
273
|
+
|
274
|
+
```ruby
|
275
|
+
class MyModel
|
276
|
+
include ArtirixDataModels::Model
|
277
|
+
|
278
|
+
mark_full_mode_by_default
|
279
|
+
end
|
280
|
+
|
281
|
+
x = MyModel.new some: :params
|
282
|
+
x.full_mode? # => true
|
283
|
+
```
|
284
|
+
|
271
285
|
### 0.13.0
|
272
286
|
- `DAO`: fake responses lazy loaded
|
273
287
|
- `DAO`: response adaptor methods of basic dao moved to a module, included in `BasicDAO` and as part of the module `DAO`. Also added `response_adaptor_for_identity`, which returns the same.
|
@@ -378,7 +378,11 @@ module ArtirixDataModels
|
|
378
378
|
end
|
379
379
|
|
380
380
|
def full_mode?
|
381
|
-
|
381
|
+
if @_full_mode.nil?
|
382
|
+
self.class.default_full_mode?
|
383
|
+
else
|
384
|
+
@_full_mode
|
385
|
+
end
|
382
386
|
end
|
383
387
|
|
384
388
|
def mark_full_mode
|
@@ -436,17 +440,30 @@ module ArtirixDataModels
|
|
436
440
|
def is_always_in_partial_mode?(attribute)
|
437
441
|
attribute_config.is_always_in_partial_mode?(attribute)
|
438
442
|
end
|
443
|
+
|
444
|
+
def default_full_mode?
|
445
|
+
!!attribute_config.default_full_mode
|
446
|
+
end
|
447
|
+
|
448
|
+
def mark_full_mode_by_default
|
449
|
+
attribute_config.default_full_mode = true
|
450
|
+
end
|
451
|
+
|
452
|
+
def mark_partial_mode_by_default
|
453
|
+
attribute_config.default_full_mode = false
|
454
|
+
end
|
439
455
|
end
|
440
456
|
end
|
441
457
|
|
442
458
|
class AttributeConfig
|
443
459
|
attr_reader :attribute_list, :always_in_partial_mode_list
|
444
|
-
attr_accessor :parent_attribute_config
|
460
|
+
attr_accessor :parent_attribute_config, :default_full_mode
|
445
461
|
|
446
462
|
def initialize
|
447
463
|
@attribute_list = Set.new
|
448
464
|
@always_in_partial_mode_list = Set.new
|
449
465
|
@parent_attribute_config = nil
|
466
|
+
@default_full_mode = false
|
450
467
|
end
|
451
468
|
|
452
469
|
def attributes
|
@@ -121,4 +121,26 @@ RSpec.describe MyModel, type: :model do
|
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
|
-
end
|
124
|
+
end
|
125
|
+
|
126
|
+
|
127
|
+
class MyModelFullMode
|
128
|
+
include ArtirixDataModels::Model
|
129
|
+
|
130
|
+
mark_full_mode_by_default
|
131
|
+
|
132
|
+
attribute :id, :name
|
133
|
+
end
|
134
|
+
|
135
|
+
RSpec.describe MyModelFullMode, type: :model do
|
136
|
+
|
137
|
+
subject { described_class.new data }
|
138
|
+
|
139
|
+
let(:data) { { id: 1, name: 'some name' } }
|
140
|
+
|
141
|
+
describe '.mark_full_mode_by_default' do
|
142
|
+
it 'makes new instances full mode by default' do
|
143
|
+
expect(subject.full_mode?).to be_truthy
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: artirix_data_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo Turiño
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|