representable 3.0.4 → 3.1.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 +5 -5
- data/.github/workflows/ci.yml +17 -0
- data/CHANGES.md +6 -0
- data/Gemfile +4 -7
- data/LICENSE +1 -1
- data/README.md +4 -3
- data/Rakefile +1 -6
- data/lib/representable.rb +18 -25
- data/lib/representable/binding.rb +32 -12
- data/lib/representable/cached.rb +1 -1
- data/lib/representable/coercion.rb +8 -6
- data/lib/representable/config.rb +8 -3
- data/lib/representable/debug.rb +23 -15
- data/lib/representable/declarative.rb +8 -3
- data/lib/representable/decorator.rb +1 -1
- data/lib/representable/definition.rb +7 -2
- data/lib/representable/deserializer.rb +4 -3
- data/lib/representable/for_collection.rb +1 -1
- data/lib/representable/hash.rb +6 -2
- data/lib/representable/hash/allow_symbols.rb +9 -11
- data/lib/representable/hash/binding.rb +1 -0
- data/lib/representable/hash/collection.rb +4 -2
- data/lib/representable/hash_methods.rb +3 -2
- data/lib/representable/insert.rb +1 -1
- data/lib/representable/json.rb +5 -7
- data/lib/representable/json/collection.rb +3 -0
- data/lib/representable/json/hash.rb +1 -0
- data/lib/representable/object.rb +1 -1
- data/lib/representable/object/binding.rb +5 -1
- data/lib/representable/option.rb +19 -0
- data/lib/representable/pipeline.rb +3 -2
- data/lib/representable/pipeline_factories.rb +4 -2
- data/lib/representable/populator.rb +1 -1
- data/lib/representable/represent.rb +1 -0
- data/lib/representable/serializer.rb +2 -1
- data/lib/representable/version.rb +1 -1
- data/lib/representable/virtus_coercion.rb +38 -0
- data/lib/representable/xml.rb +7 -10
- data/lib/representable/xml/binding.rb +2 -3
- data/lib/representable/yaml.rb +3 -3
- data/lib/representable/yaml/binding.rb +1 -0
- data/representable.gemspec +3 -3
- data/test/as_test.rb +4 -4
- data/test/binding_test.rb +10 -10
- data/test/cached_test.rb +19 -19
- data/test/class_test.rb +7 -7
- data/test/coercion_test.rb +33 -22
- data/test/config/inherit_test.rb +14 -14
- data/test/config_test.rb +18 -18
- data/test/decorator_scope_test.rb +3 -3
- data/test/decorator_test.rb +17 -17
- data/test/default_test.rb +7 -7
- data/test/definition_test.rb +32 -32
- data/test/{example.rb → examples/example.rb} +0 -0
- data/test/exec_context_test.rb +6 -6
- data/test/features_test.rb +3 -3
- data/test/filter_test.rb +6 -6
- data/test/for_collection_test.rb +2 -2
- data/test/generic_test.rb +3 -3
- data/test/getter_setter_test.rb +5 -5
- data/test/hash_test.rb +19 -19
- data/test/heritage_test.rb +4 -4
- data/test/if_test.rb +6 -6
- data/test/include_exclude_test.rb +12 -12
- data/test/inherit_test.rb +15 -15
- data/test/inline_test.rb +11 -11
- data/test/instance_test.rb +29 -29
- data/test/is_representable_test.rb +10 -10
- data/test/json_test.rb +7 -7
- data/test/lonely_test.rb +16 -16
- data/test/nested_test.rb +7 -7
- data/test/object_test.rb +7 -7
- data/test/option_test.rb +36 -0
- data/test/parse_pipeline_test.rb +3 -3
- data/test/pipeline_test.rb +43 -43
- data/test/populator_test.rb +15 -15
- data/test/prepare_test.rb +2 -2
- data/test/private_options_test.rb +2 -2
- data/test/reader_writer_test.rb +2 -2
- data/test/render_nil_test.rb +2 -2
- data/test/represent_test.rb +4 -4
- data/test/representable_test.rb +27 -27
- data/test/schema_test.rb +5 -5
- data/test/serialize_deserialize_test.rb +2 -2
- data/test/skip_test.rb +10 -10
- data/test/stringify_hash_test.rb +3 -3
- data/test/test_helper.rb +4 -2
- data/test/uncategorized_test.rb +10 -10
- data/test/user_options_test.rb +4 -4
- data/test/virtus_coercion_test.rb +52 -0
- data/test/wrap_test.rb +11 -11
- data/test/xml_namespace_test.rb +1 -1
- data/test/xml_test.rb +6 -6
- data/test/yaml_test.rb +20 -20
- metadata +79 -19
- data/.travis.yml +0 -16
- data/lib/representable/autoload.rb +0 -14
- data/test/mongoid_test.rb +0 -31
data/test/wrap_test.rb
CHANGED
@@ -36,13 +36,13 @@ class WrapTest < MiniTest::Spec
|
|
36
36
|
let(:format) { format }
|
37
37
|
|
38
38
|
representer!(:module => mod) do
|
39
|
-
self.representation_wrap = lambda { |
|
39
|
+
self.representation_wrap = lambda { |number:, **| "#{name}#{number}" }
|
40
40
|
property :genre
|
41
41
|
end
|
42
42
|
|
43
43
|
it { render(band, {:number => 182}).must_equal_document(output) }
|
44
44
|
|
45
|
-
it { parse(band, input, {:number => 182}).genre.must_equal "Poppunk" } # TODO: better test. also, xml parses _any_ wrap.
|
45
|
+
it { _(parse(band, input, {:number => 182}).genre).must_equal "Poppunk" } # TODO: better test. also, xml parses _any_ wrap.
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -69,15 +69,15 @@ class HashDisableWrapTest < MiniTest::Spec
|
|
69
69
|
|
70
70
|
# direct, local api.
|
71
71
|
it do
|
72
|
-
band.to_hash.must_equal({"bands" => {"name"=>"Social Distortion"}})
|
73
|
-
band.to_hash(wrap: false).must_equal({"name"=>"Social Distortion"})
|
74
|
-
band.to_hash(wrap: :band).must_equal(:band=>{"name"=>"Social Distortion"})
|
72
|
+
_(band.to_hash).must_equal({"bands" => {"name"=>"Social Distortion"}})
|
73
|
+
_(band.to_hash(wrap: false)).must_equal({"name"=>"Social Distortion"})
|
74
|
+
_(band.to_hash(wrap: :band)).must_equal(:band=>{"name"=>"Social Distortion"})
|
75
75
|
end
|
76
76
|
|
77
77
|
it do
|
78
|
-
band.from_hash({"bands" => {"name"=>"Social Distortion"}}).name.must_equal "Social Distortion"
|
79
|
-
band.from_hash({"name"=>"Social Distortion"}, wrap: false).name.must_equal "Social Distortion"
|
80
|
-
band.from_hash({band: {"name"=>"Social Distortion"}}, wrap: :band).name.must_equal "Social Distortion"
|
78
|
+
_(band.from_hash({"bands" => {"name"=>"Social Distortion"}}).name).must_equal "Social Distortion"
|
79
|
+
_(band.from_hash({"name"=>"Social Distortion"}, wrap: false).name).must_equal "Social Distortion"
|
80
|
+
_(band.from_hash({band: {"name"=>"Social Distortion"}}, wrap: :band).name).must_equal "Social Distortion"
|
81
81
|
end
|
82
82
|
|
83
83
|
|
@@ -94,11 +94,11 @@ class HashDisableWrapTest < MiniTest::Spec
|
|
94
94
|
|
95
95
|
# band has wrap turned off per property definition, however, label still has wrap.
|
96
96
|
it "renders" do
|
97
|
-
album.to_hash.must_equal({"albums" => {"band" => {"name"=>"Social Distortion", "label"=>{"important"=>{"name"=>"Epitaph"}}}}})
|
97
|
+
_(album.to_hash).must_equal({"albums" => {"band" => {"name"=>"Social Distortion", "label"=>{"important"=>{"name"=>"Epitaph"}}}}})
|
98
98
|
end
|
99
99
|
|
100
100
|
it "parses" do
|
101
|
-
album.from_hash({"albums" => {"band" => {"name"=>"Rvivr"}}}).band.name.must_equal "Rvivr"
|
101
|
+
_(album.from_hash({"albums" => {"band" => {"name"=>"Rvivr"}}}).band.name).must_equal "Rvivr"
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -142,7 +142,7 @@ class XMLDisableWrapTest < MiniTest::Spec
|
|
142
142
|
# band has wrap turned of per property definition, however, label still has wrap.
|
143
143
|
it "rendersxx" do
|
144
144
|
skip
|
145
|
-
album.to_xml.must_equal({"albums" => {"band" => {"name"=>"Social Distortion", "label"=>{"important"=>{"name"=>"Epitaph"}}}}})
|
145
|
+
_(album.to_xml).must_equal({"albums" => {"band" => {"name"=>"Social Distortion", "label"=>{"important"=>{"name"=>"Epitaph"}}}}})
|
146
146
|
end
|
147
147
|
|
148
148
|
# it "parses" do
|
data/test/xml_namespace_test.rb
CHANGED
@@ -177,7 +177,7 @@ class Namespace2XMLTest < Minitest::Spec
|
|
177
177
|
#:parse-call end
|
178
178
|
)
|
179
179
|
|
180
|
-
lib.book.inspect.must_equal %{#<struct Namespace2XMLTest::Model::Book id=\"1\", isbn=\"666\", author=#<struct Namespace2XMLTest::Model::Character name=\"Fowler\", born=nil, qualification=nil>, character=[#<struct Namespace2XMLTest::Model::Character name=\"Frau Java\", born=\"1991\", qualification=\"typed\">]>}
|
180
|
+
_(lib.book.inspect).must_equal %{#<struct Namespace2XMLTest::Model::Book id=\"1\", isbn=\"666\", author=#<struct Namespace2XMLTest::Model::Character name=\"Fowler\", born=nil, qualification=nil>, character=[#<struct Namespace2XMLTest::Model::Character name=\"Frau Java\", born=\"1991\", qualification=\"typed\">]>}
|
181
181
|
|
182
182
|
#:parse-res
|
183
183
|
lib.book.character[0].name #=> "Frau Java"
|
data/test/xml_test.rb
CHANGED
@@ -12,8 +12,8 @@ class XmlPublicMethodsTest < Minitest::Spec
|
|
12
12
|
|
13
13
|
let(:data) { %{<data><id>1</id><name>Rancid</name></data>} }
|
14
14
|
|
15
|
-
it { BandRepresenter.new(Band.new).from_xml(data)[:id, :name].must_equal ["1", "Rancid"] }
|
16
|
-
it { BandRepresenter.new(Band.new).parse(data)[:id, :name].must_equal ["1", "Rancid"] }
|
15
|
+
it { _(BandRepresenter.new(Band.new).from_xml(data)[:id, :name]).must_equal ["1", "Rancid"] }
|
16
|
+
it { _(BandRepresenter.new(Band.new).parse(data)[:id, :name]).must_equal ["1", "Rancid"] }
|
17
17
|
|
18
18
|
#---
|
19
19
|
# to_hash
|
@@ -468,11 +468,11 @@ class XMLCollectionTest < MiniTest::Spec
|
|
468
468
|
end
|
469
469
|
|
470
470
|
it "parses array" do
|
471
|
-
[].extend(representer).from_xml(xml_doc).must_equal songs
|
471
|
+
_([].extend(representer).from_xml(xml_doc)).must_equal songs
|
472
472
|
end
|
473
473
|
|
474
474
|
it "parses array with decorator" do
|
475
|
-
decorator.new([]).from_xml(xml_doc).must_equal songs
|
475
|
+
_(decorator.new([]).from_xml(xml_doc)).must_equal songs
|
476
476
|
end
|
477
477
|
end
|
478
478
|
end
|
@@ -505,7 +505,7 @@ class XMLCollectionTest < MiniTest::Spec
|
|
505
505
|
|
506
506
|
describe "#from_json" do
|
507
507
|
it "returns hash" do
|
508
|
-
{}.extend(representer).from_xml(xml_doc).must_equal songs
|
508
|
+
_({}.extend(representer).from_xml(xml_doc)).must_equal songs
|
509
509
|
end
|
510
510
|
|
511
511
|
it "respects :exclude" do
|
@@ -517,7 +517,7 @@ class XMLCollectionTest < MiniTest::Spec
|
|
517
517
|
end
|
518
518
|
|
519
519
|
it "parses hash with decorator" do
|
520
|
-
decorator.new({}).from_xml(xml_doc).must_equal songs
|
520
|
+
_(decorator.new({}).from_xml(xml_doc)).must_equal songs
|
521
521
|
end
|
522
522
|
end
|
523
523
|
end
|
data/test/yaml_test.rb
CHANGED
@@ -14,15 +14,15 @@ id: 1
|
|
14
14
|
name: Rancid
|
15
15
|
} }
|
16
16
|
|
17
|
-
it { BandRepresenter.new(Band.new).from_yaml(data)[:id, :name].must_equal [1, "Rancid"] }
|
18
|
-
it { BandRepresenter.new(Band.new).parse(data)[:id, :name].must_equal [1, "Rancid"] }
|
17
|
+
it { _(BandRepresenter.new(Band.new).from_yaml(data)[:id, :name]).must_equal [1, "Rancid"] }
|
18
|
+
it { _(BandRepresenter.new(Band.new).parse(data)[:id, :name]).must_equal [1, "Rancid"] }
|
19
19
|
|
20
20
|
#---
|
21
21
|
# to_yaml
|
22
22
|
let(:band) { Band.new("1", "Rancid") }
|
23
23
|
|
24
|
-
it { BandRepresenter.new(band).to_yaml.must_equal data }
|
25
|
-
it { BandRepresenter.new(band).render.must_equal data }
|
24
|
+
it { _(BandRepresenter.new(band).to_yaml).must_equal data }
|
25
|
+
it { _(BandRepresenter.new(band).render).must_equal data }
|
26
26
|
end
|
27
27
|
|
28
28
|
class YamlTest < MiniTest::Spec
|
@@ -47,14 +47,14 @@ class YamlTest < MiniTest::Spec
|
|
47
47
|
|
48
48
|
describe "#to_yaml" do
|
49
49
|
it "renders plain property" do
|
50
|
-
album.extend(yaml).to_yaml.must_equal(
|
50
|
+
_(album.extend(yaml).to_yaml).must_equal(
|
51
51
|
"---
|
52
52
|
best_song: Liar
|
53
53
|
")
|
54
54
|
end
|
55
55
|
|
56
56
|
it "always renders values into strings" do
|
57
|
-
Album.new.tap { |a| a.best_song = 8675309 }.extend(yaml).to_yaml.must_equal(
|
57
|
+
_(Album.new.tap { |a| a.best_song = 8675309 }.extend(yaml).to_yaml).must_equal(
|
58
58
|
"---
|
59
59
|
best_song: 8675309
|
60
60
|
"
|
@@ -65,10 +65,10 @@ best_song: 8675309
|
|
65
65
|
|
66
66
|
describe "#from_yaml" do
|
67
67
|
it "parses plain property" do
|
68
|
-
album.extend(yaml).from_yaml(
|
68
|
+
_(album.extend(yaml).from_yaml(
|
69
69
|
"---
|
70
70
|
best_song: This Song Is Recycled
|
71
|
-
").best_song.must_equal "This Song Is Recycled"
|
71
|
+
").best_song).must_equal "This Song Is Recycled"
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
@@ -87,7 +87,7 @@ best_song: This Song Is Recycled
|
|
87
87
|
|
88
88
|
describe "#to_yaml" do
|
89
89
|
it "renders embedded typed property" do
|
90
|
-
album.extend(yaml_album).to_yaml.must_equal "---
|
90
|
+
_(album.extend(yaml_album).to_yaml).must_equal "---
|
91
91
|
best_song:
|
92
92
|
name: Liar
|
93
93
|
"
|
@@ -96,10 +96,10 @@ best_song:
|
|
96
96
|
|
97
97
|
describe "#from_yaml" do
|
98
98
|
it "parses embedded typed property" do
|
99
|
-
album.extend(yaml_album).from_yaml("---
|
99
|
+
_(album.extend(yaml_album).from_yaml("---
|
100
100
|
best_song:
|
101
101
|
name: Go With Me
|
102
|
-
").must_equal Album.new(nil,Song.new("Go With Me"))
|
102
|
+
")).must_equal Album.new(nil,Song.new("Go With Me"))
|
103
103
|
end
|
104
104
|
end
|
105
105
|
end
|
@@ -116,7 +116,7 @@ best_song:
|
|
116
116
|
|
117
117
|
describe "#to_yaml" do
|
118
118
|
it "renders a block style list per default" do
|
119
|
-
album.extend(yaml).to_yaml.must_equal "---
|
119
|
+
_(album.extend(yaml).to_yaml).must_equal "---
|
120
120
|
songs:
|
121
121
|
- Jackhammer
|
122
122
|
- Terrible Man
|
@@ -125,7 +125,7 @@ songs:
|
|
125
125
|
|
126
126
|
it "renders a flow style list when :style => :flow set" do
|
127
127
|
yaml = yaml_representer { collection :songs, :style => :flow }
|
128
|
-
album.extend(yaml).to_yaml.must_equal "---
|
128
|
+
_(album.extend(yaml).to_yaml).must_equal "---
|
129
129
|
songs: [Jackhammer, Terrible Man]
|
130
130
|
"
|
131
131
|
end
|
@@ -134,16 +134,16 @@ songs: [Jackhammer, Terrible Man]
|
|
134
134
|
|
135
135
|
describe "#from_yaml" do
|
136
136
|
it "parses a block style list" do
|
137
|
-
album.extend(yaml).from_yaml("---
|
137
|
+
_(album.extend(yaml).from_yaml("---
|
138
138
|
songs:
|
139
139
|
- Off Key Melody
|
140
|
-
- Sinking").must_equal Album.new(["Off Key Melody", "Sinking"])
|
140
|
+
- Sinking")).must_equal Album.new(["Off Key Melody", "Sinking"])
|
141
141
|
|
142
142
|
end
|
143
143
|
|
144
144
|
it "parses a flow style list" do
|
145
|
-
album.extend(yaml).from_yaml("---
|
146
|
-
songs: [Off Key Melody, Sinking]").must_equal Album.new(["Off Key Melody", "Sinking"])
|
145
|
+
_(album.extend(yaml).from_yaml("---
|
146
|
+
songs: [Off Key Melody, Sinking]")).must_equal Album.new(["Off Key Melody", "Sinking"])
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
@@ -162,7 +162,7 @@ songs: [Off Key Melody, Sinking]").must_equal Album.new(["Off Key Melody", "Sink
|
|
162
162
|
|
163
163
|
describe "#to_yaml" do
|
164
164
|
it "renders collection of typed property" do
|
165
|
-
album.extend(yaml_album).to_yaml.must_equal "---
|
165
|
+
_(album.extend(yaml_album).to_yaml).must_equal "---
|
166
166
|
songs:
|
167
167
|
- name: Liar
|
168
168
|
track: 1
|
@@ -174,12 +174,12 @@ songs:
|
|
174
174
|
|
175
175
|
describe "#from_yaml" do
|
176
176
|
it "parses collection of typed property" do
|
177
|
-
album.extend(yaml_album).from_yaml("---
|
177
|
+
_(album.extend(yaml_album).from_yaml("---
|
178
178
|
songs:
|
179
179
|
- name: One Shot Deal
|
180
180
|
track: 4
|
181
181
|
- name: Three Way Dance
|
182
|
-
track: 5").must_equal Album.new([Song.new("One Shot Deal", 4), Song.new("Three Way Dance", 5)])
|
182
|
+
track: 5")).must_equal Album.new([Song.new("One Shot Deal", 4), Song.new("Three Way Dance", 5)])
|
183
183
|
end
|
184
184
|
end
|
185
185
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: representable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uber
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: trailblazer-option
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.1.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.1.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: dry-types
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -144,8 +144,8 @@ executables: []
|
|
144
144
|
extensions: []
|
145
145
|
extra_rdoc_files: []
|
146
146
|
files:
|
147
|
+
- ".github/workflows/ci.yml"
|
147
148
|
- ".gitignore"
|
148
|
-
- ".travis.yml"
|
149
149
|
- CHANGES.md
|
150
150
|
- Gemfile
|
151
151
|
- LICENSE
|
@@ -154,7 +154,6 @@ files:
|
|
154
154
|
- TODO
|
155
155
|
- TODO-4.0.md
|
156
156
|
- lib/representable.rb
|
157
|
-
- lib/representable/autoload.rb
|
158
157
|
- lib/representable/binding.rb
|
159
158
|
- lib/representable/cached.rb
|
160
159
|
- lib/representable/coercion.rb
|
@@ -176,12 +175,14 @@ files:
|
|
176
175
|
- lib/representable/json/hash.rb
|
177
176
|
- lib/representable/object.rb
|
178
177
|
- lib/representable/object/binding.rb
|
178
|
+
- lib/representable/option.rb
|
179
179
|
- lib/representable/pipeline.rb
|
180
180
|
- lib/representable/pipeline_factories.rb
|
181
181
|
- lib/representable/populator.rb
|
182
182
|
- lib/representable/represent.rb
|
183
183
|
- lib/representable/serializer.rb
|
184
184
|
- lib/representable/version.rb
|
185
|
+
- lib/representable/virtus_coercion.rb
|
185
186
|
- lib/representable/xml.rb
|
186
187
|
- lib/representable/xml/binding.rb
|
187
188
|
- lib/representable/xml/collection.rb
|
@@ -203,7 +204,7 @@ files:
|
|
203
204
|
- test/default_test.rb
|
204
205
|
- test/defaults_options_test.rb
|
205
206
|
- test/definition_test.rb
|
206
|
-
- test/example.rb
|
207
|
+
- test/examples/example.rb
|
207
208
|
- test/examples/object.rb
|
208
209
|
- test/exec_context_test.rb
|
209
210
|
- test/features_test.rb
|
@@ -222,9 +223,9 @@ files:
|
|
222
223
|
- test/is_representable_test.rb
|
223
224
|
- test/json_test.rb
|
224
225
|
- test/lonely_test.rb
|
225
|
-
- test/mongoid_test.rb
|
226
226
|
- test/nested_test.rb
|
227
227
|
- test/object_test.rb
|
228
|
+
- test/option_test.rb
|
228
229
|
- test/parse_pipeline_test.rb
|
229
230
|
- test/pipeline_test.rb
|
230
231
|
- test/populator_test.rb
|
@@ -243,6 +244,7 @@ files:
|
|
243
244
|
- test/test_helper_test.rb
|
244
245
|
- test/uncategorized_test.rb
|
245
246
|
- test/user_options_test.rb
|
247
|
+
- test/virtus_coercion_test.rb
|
246
248
|
- test/wrap_test.rb
|
247
249
|
- test/xml_bindings_test.rb
|
248
250
|
- test/xml_namespace_test.rb
|
@@ -252,7 +254,7 @@ homepage: https://github.com/trailblazer/representable/
|
|
252
254
|
licenses:
|
253
255
|
- MIT
|
254
256
|
metadata: {}
|
255
|
-
post_install_message:
|
257
|
+
post_install_message:
|
256
258
|
rdoc_options: []
|
257
259
|
require_paths:
|
258
260
|
- lib
|
@@ -260,17 +262,75 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
260
262
|
requirements:
|
261
263
|
- - ">="
|
262
264
|
- !ruby/object:Gem::Version
|
263
|
-
version:
|
265
|
+
version: 2.4.0
|
264
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
267
|
requirements:
|
266
268
|
- - ">="
|
267
269
|
- !ruby/object:Gem::Version
|
268
270
|
version: '0'
|
269
271
|
requirements: []
|
270
|
-
|
271
|
-
|
272
|
-
signing_key:
|
272
|
+
rubygems_version: 3.0.8
|
273
|
+
signing_key:
|
273
274
|
specification_version: 4
|
274
275
|
summary: Renders and parses JSON/XML/YAML documents from and to Ruby objects. Includes
|
275
276
|
plain properties, collections, nesting, coercion and more.
|
276
|
-
test_files:
|
277
|
+
test_files:
|
278
|
+
- test/as_test.rb
|
279
|
+
- test/benchmarking.rb
|
280
|
+
- test/binding_test.rb
|
281
|
+
- test/cached_test.rb
|
282
|
+
- test/class_test.rb
|
283
|
+
- test/coercion_test.rb
|
284
|
+
- test/config/inherit_test.rb
|
285
|
+
- test/config_test.rb
|
286
|
+
- test/decorator_scope_test.rb
|
287
|
+
- test/decorator_test.rb
|
288
|
+
- test/default_test.rb
|
289
|
+
- test/defaults_options_test.rb
|
290
|
+
- test/definition_test.rb
|
291
|
+
- test/examples/example.rb
|
292
|
+
- test/examples/object.rb
|
293
|
+
- test/exec_context_test.rb
|
294
|
+
- test/features_test.rb
|
295
|
+
- test/filter_test.rb
|
296
|
+
- test/for_collection_test.rb
|
297
|
+
- test/generic_test.rb
|
298
|
+
- test/getter_setter_test.rb
|
299
|
+
- test/hash_bindings_test.rb
|
300
|
+
- test/hash_test.rb
|
301
|
+
- test/heritage_test.rb
|
302
|
+
- test/if_test.rb
|
303
|
+
- test/include_exclude_test.rb
|
304
|
+
- test/inherit_test.rb
|
305
|
+
- test/inline_test.rb
|
306
|
+
- test/instance_test.rb
|
307
|
+
- test/is_representable_test.rb
|
308
|
+
- test/json_test.rb
|
309
|
+
- test/lonely_test.rb
|
310
|
+
- test/nested_test.rb
|
311
|
+
- test/object_test.rb
|
312
|
+
- test/option_test.rb
|
313
|
+
- test/parse_pipeline_test.rb
|
314
|
+
- test/pipeline_test.rb
|
315
|
+
- test/populator_test.rb
|
316
|
+
- test/prepare_test.rb
|
317
|
+
- test/private_options_test.rb
|
318
|
+
- test/reader_writer_test.rb
|
319
|
+
- test/realistic_benchmark.rb
|
320
|
+
- test/render_nil_test.rb
|
321
|
+
- test/represent_test.rb
|
322
|
+
- test/representable_test.rb
|
323
|
+
- test/schema_test.rb
|
324
|
+
- test/serialize_deserialize_test.rb
|
325
|
+
- test/skip_test.rb
|
326
|
+
- test/stringify_hash_test.rb
|
327
|
+
- test/test_helper.rb
|
328
|
+
- test/test_helper_test.rb
|
329
|
+
- test/uncategorized_test.rb
|
330
|
+
- test/user_options_test.rb
|
331
|
+
- test/virtus_coercion_test.rb
|
332
|
+
- test/wrap_test.rb
|
333
|
+
- test/xml_bindings_test.rb
|
334
|
+
- test/xml_namespace_test.rb
|
335
|
+
- test/xml_test.rb
|
336
|
+
- test/yaml_test.rb
|
data/.travis.yml
DELETED