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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f5c9b67e6750f823690f34a19b2a147c496b682
4
- data.tar.gz: 1c5e038ae44746f7c24ed28716bdd02ebe88160b
3
+ metadata.gz: 9a060a4fa04fce00cde5999d99498e7b15e46485
4
+ data.tar.gz: bc3c22509e46bd8474f4c60641d872fa1e06d882
5
5
  SHA512:
6
- metadata.gz: c664f3ec187ed056d575d25ac933c901e78abdac5b7987500bfa44405959b37ff0cb36b01b998a6f899294f66830afc0e851b51e03e420c44025a68b59cd5258
7
- data.tar.gz: 587cadda688164919abc0d7a27791c82549f6b878d59d876c349f067b16ec24305d24c41b8965a50cf1958b4ea3b66bf9d83476ff28a32f7e491332d434ab700
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
- !!@_full_mode
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
@@ -1,3 +1,3 @@
1
1
  module ArtirixDataModels
2
- VERSION = '0.13.0'
2
+ VERSION = '0.14.0'
3
3
  end
@@ -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.13.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-02-29 00:00:00.000000000 Z
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport