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 +4 -4
- data/README.md +3 -0
- data/lib/artirix_data_models/inspectable.rb +18 -4
- data/lib/artirix_data_models/version.rb +1 -1
- data/spec/artirix_data_models/inspect_model_spec.rb +51 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26d379b0521a56ea1126abf27cfc0e8bf19cb8f0
|
4
|
+
data.tar.gz: 1deccaa8e4f4eca4f809e11259aa56159601bb35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1806c29c53662ddf6ea7ebb32b274da367fc6abaf9c4bbe8a28da429ad5bd74716773fc80d35d9e1712ad8f69a8580b844990d0cec8d94d0df4477ed164df5a
|
7
|
+
data.tar.gz: 22ae762e1959c0897698a1442a85e2c3da9f1656c118dd391577f85cd08f027b630614b93048341e94817e06a6ab80e69d5a3ccb5ba39bd8f39db26eddbdf32e
|
data/README.md
CHANGED
@@ -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
|
-
|
14
|
-
|
15
|
-
|
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}
|
31
|
+
"#<#{self.class}\n#{insp.join("\n")}>"
|
18
32
|
end
|
19
33
|
end
|
20
34
|
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.
|
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
|