artirix_data_models 0.19.1 → 0.19.2

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: 82352abfa7c3bc37084b30764c2061bcfebac2e5
4
- data.tar.gz: aebfbef1ef658c5333d6bf64c05724d7fbb929f0
3
+ metadata.gz: 26d379b0521a56ea1126abf27cfc0e8bf19cb8f0
4
+ data.tar.gz: 1deccaa8e4f4eca4f809e11259aa56159601bb35
5
5
  SHA512:
6
- metadata.gz: 07af0b816cf2c5342e9b51bc42e1e5ed9804fc69b33f8969f7aa4aa79a012870768b5e6c49a5a42393fac357d6de22b9256d824f878325b68431806dcf1fb335
7
- data.tar.gz: 6cd64e5520a026619839f4c46af304a77e67ca17a60128edc4ac95c2494b17aaba979e98ab0a02fde16dfdae439719c6f1ad0fecb44de0a5d9d45c2be1a3edbe
6
+ metadata.gz: f1806c29c53662ddf6ea7ebb32b274da367fc6abaf9c4bbe8a28da429ad5bd74716773fc80d35d9e1712ad8f69a8580b844990d0cec8d94d0df4477ed164df5a
7
+ data.tar.gz: 22ae762e1959c0897698a1442a85e2c3da9f1656c118dd391577f85cd08f027b630614b93048341e94817e06a6ab80e69d5a3ccb5ba39bd8f39db26eddbdf32e
data/README.md CHANGED
@@ -315,6 +315,9 @@ end
315
315
 
316
316
  ## Changes
317
317
 
318
+ ### 0.19.2
319
+ Added array support to `inspect`.
320
+
318
321
  ### 0.19.1
319
322
  Added `data_hash_for_inspect` method, that will use `data_hash` by default, and have `inspect` use it.
320
323
 
@@ -1,5 +1,7 @@
1
1
  module ArtirixDataModels
2
2
  module Inspectable
3
+ SPACE = ' '.freeze
4
+
3
5
  def inspect
4
6
  inspect_with_tab 1
5
7
  end
@@ -10,11 +12,23 @@ module ArtirixDataModels
10
12
 
11
13
  def inspect_with_tab(tab_level = 0)
12
14
  insp = data_hash_for_inspect.map do |at, val|
13
- v = val.try(:inspect_with_tab, tab_level + 1) || val.inspect
14
- tab = ' ' * tab_level * 4
15
- "#{tab} - #{at}: #{v}"
15
+ tab = SPACE * tab_level * 4
16
+
17
+ if val.kind_of? Array
18
+ nested = val.map do |vi|
19
+ nested_tab = SPACE * (tab_level + 1) * 4
20
+ nv = vi.try(:inspect_with_tab, tab_level + 2) || val.inspect
21
+ "#{nested_tab} - #{nv}"
22
+ end
23
+
24
+ "#{tab} - #{at}: [\n#{nested.join("\n")}\n#{tab} ]"
25
+
26
+ else
27
+ v = val.try(:inspect_with_tab, tab_level + 1) || val.inspect
28
+ "#{tab} - #{at}: #{v}"
29
+ end
16
30
  end
17
- "#<#{self.class} \n#{insp.join("\n")}>"
31
+ "#<#{self.class}\n#{insp.join("\n")}>"
18
32
  end
19
33
  end
20
34
  end
@@ -1,3 +1,3 @@
1
1
  module ArtirixDataModels
2
- VERSION = '0.19.1'
2
+ VERSION = '0.19.2'
3
3
  end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+
3
+ class InspectModel
4
+ include ArtirixDataModels::Model::OnlyData
5
+
6
+ attribute :id, :list, :name
7
+ end
8
+
9
+ RSpec.describe InspectModel, type: :model do
10
+
11
+ subject { described_class.new data }
12
+
13
+ let(:data) do
14
+ {
15
+ name: name,
16
+ list: list
17
+ }
18
+ end
19
+
20
+ let(:list) do
21
+ [
22
+ described_class.new(list: nil, name: 'nested element of list 1'),
23
+ described_class.new(list: nil, name: 'nested element of list 2'),
24
+ ]
25
+ end
26
+
27
+ let(:name) { 'Paco' }
28
+
29
+ describe '#inspect' do
30
+ let(:expected) do
31
+ <<-STR.strip
32
+ #<InspectModel
33
+ - id: nil
34
+ - list: [
35
+ - #<InspectModel
36
+ - id: nil
37
+ - list: nil
38
+ - name: "nested element of list 1">
39
+ - #<InspectModel
40
+ - id: nil
41
+ - list: nil
42
+ - name: "nested element of list 2">
43
+ ]
44
+ - name: "Paco">
45
+ STR
46
+ end
47
+ it do
48
+ expect(subject.inspect).to eq expected
49
+ end
50
+ end
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artirix_data_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.1
4
+ version: 0.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Turiño
@@ -274,6 +274,7 @@ files:
274
274
  - spec/artirix_data_models/es_collection_spec.rb
275
275
  - spec/artirix_data_models/gateways/data_gateway_spec.rb
276
276
  - spec/artirix_data_models/gateways/gateway_response_adaptors/model_adaptor_spec.rb
277
+ - spec/artirix_data_models/inspect_model_spec.rb
277
278
  - spec/artirix_data_models/model_fields_dao_spec.rb
278
279
  - spec/artirix_data_models/model_spec.rb
279
280
  - spec/fixtures/articles_search_dl.json
@@ -316,6 +317,7 @@ test_files:
316
317
  - spec/artirix_data_models/es_collection_spec.rb
317
318
  - spec/artirix_data_models/gateways/data_gateway_spec.rb
318
319
  - spec/artirix_data_models/gateways/gateway_response_adaptors/model_adaptor_spec.rb
320
+ - spec/artirix_data_models/inspect_model_spec.rb
319
321
  - spec/artirix_data_models/model_fields_dao_spec.rb
320
322
  - spec/artirix_data_models/model_spec.rb
321
323
  - spec/fixtures/articles_search_dl.json