artirix_data_models 0.13.0 → 0.14.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.
- 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
|