valkyrie 2.0.0.RC9 → 2.0.0.RC10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c96ae6a548480b0e75af468816f1a7fc968d79c6572c738f5d06de3ce6a06d2
4
- data.tar.gz: f539f0893d3c0f5d86f75b7f8b53b593c5d8de184f6e41ba18da0320fa31c0dc
3
+ metadata.gz: 5dcf6397bc2f0966a08294cc83ae1eb2db2f2edf20cb1a2ad84f8ef18fd30174
4
+ data.tar.gz: 47dd8114e5c60f9fa46c0f2540c89034ea36a902725788f2b9d9fecf19c08c98
5
5
  SHA512:
6
- metadata.gz: 44123f8e88d3a1e6336cd942235cf27231684c1f5970323818fa8a66141138555c3adf9c5587879212664a3dc7cc5c75dc3d4be4c745df236b02e1857cc1a26c
7
- data.tar.gz: d417d2506a62da8364e24d94ecb398137a7f6e1e534eb57f447bed8886c8b5119eea08f6aebebd2df2ca1b48aca968d469b4c3b146239b5b40bfc173be2db27f
6
+ metadata.gz: 1f86188cce9d5800144be914d41fb179abf32409266736e5bf28a13ea3f877ddf38aa1d0d76952d0206a185c1e1f818ffb1d583a344ac8385d6b043938bb8de9
7
+ data.tar.gz: e08d62b44d62f3981bc51b7b0cb33ab3f4139f409b1ab4f4dd9dccff5e098923bee6e7a5c5a95241ae6f9b1a3ed12c89bb9a0fadf8077ad94661feac8d24e0e0
@@ -4,14 +4,17 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
4
4
  raise 'resource_klass must be set with `let(:resource_klass)`' unless
5
5
  defined? resource_klass
6
6
  end
7
+ let(:meta_klass) do
8
+ Class.new(resource_klass)
9
+ end
7
10
  describe "#id" do
8
11
  it "can be set via instantiation and casts to a Valkyrie::ID" do
9
- resource = resource_klass.new(id: "test")
12
+ resource = meta_klass.new(id: "test")
10
13
  expect(resource.id).to eq Valkyrie::ID.new("test")
11
14
  end
12
15
 
13
16
  it "is nil when not set" do
14
- resource = resource_klass.new
17
+ resource = meta_klass.new
15
18
  expect(resource.id).to be_nil
16
19
  end
17
20
 
@@ -23,21 +26,21 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
23
26
 
24
27
  describe "#has_attribute?" do
25
28
  it "returns true when it has a given attribute" do
26
- resource = resource_klass.new
29
+ resource = meta_klass.new
27
30
  expect(resource.has_attribute?(:id)).to eq true
28
31
  end
29
32
  end
30
33
 
31
34
  describe "#fields" do
32
35
  it "returns a set of fields" do
33
- expect(resource_klass).to respond_to(:fields).with(0).arguments
34
- expect(resource_klass.fields).to include(:id)
36
+ expect(meta_klass).to respond_to(:fields).with(0).arguments
37
+ expect(meta_klass.fields).to include(:id)
35
38
  end
36
39
  end
37
40
 
38
41
  describe "#attributes" do
39
42
  it "returns a list of all set attributes" do
40
- resource = resource_klass.new(id: "test")
43
+ resource = meta_klass.new(id: "test")
41
44
  expect(resource.attributes[:id].to_s).to eq "test"
42
45
  end
43
46
  end
@@ -45,8 +48,8 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
45
48
 
46
49
  describe "#internal_resource" do
47
50
  it "is set to the resource's class on instantiation" do
48
- resource = resource_klass.new
49
- expect(resource.internal_resource).to eq resource_klass.to_s
51
+ resource = meta_klass.new
52
+ expect(resource.internal_resource).to eq meta_klass.to_s
50
53
  end
51
54
  end
52
55
 
@@ -70,97 +73,98 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
70
73
 
71
74
  describe "#[]" do
72
75
  it "allows access to properties which are set" do
73
- resource_klass.attribute :my_property unless resource_klass.schema.key?(:my_property)
74
- resource = resource_klass.new
76
+ meta_klass.attribute :my_property unless meta_klass.schema.key?(:my_property)
77
+ resource = meta_klass.new
75
78
 
76
79
  resource.my_property = "test"
77
80
 
78
81
  expect(resource[:my_property]).to eq ["test"]
79
82
 
80
- unset_key(resource_klass, :my_property)
83
+ unset_key(meta_klass, :my_property)
81
84
  end
82
85
  it "returns nil for non-existent properties" do
83
- resource = resource_klass.new
86
+ resource = meta_klass.new
84
87
 
85
88
  expect(resource[:bad_property]).to eq nil
86
89
  end
87
90
  it "can be accessed via a string" do
88
- resource_klass.attribute :other_property unless resource_klass.schema.key?(:other_property)
89
- resource = resource_klass.new
91
+ meta_klass.attribute :other_property unless meta_klass.schema.key?(:other_property)
92
+ resource = meta_klass.new
90
93
 
91
94
  resource.other_property = "test"
92
95
 
93
96
  expect(resource["other_property"]).to eq ["test"]
94
97
 
95
- unset_key(resource_klass, :other_property)
98
+ unset_key(meta_klass, :other_property)
96
99
  end
97
100
  end
98
101
 
99
- def unset_key(resource_klass, property)
100
- resource_klass.schema(Dry::Types::Schema.new(Hash, **resource_klass.schema.options, keys: resource_klass.schema.keys.select { |x| x.name != property }, meta: resource_klass.schema.meta))
101
- resource_klass.instance_variable_set(:@attribute_names, nil)
102
- resource_klass.allow_nonexistent_keys
102
+ def unset_key(meta_klass, property)
103
+ meta_klass.schema(Dry::Types::Schema.new(Hash, **meta_klass.schema.options, keys: meta_klass.schema.keys.select { |x| x.name != property }, meta: meta_klass.schema.meta))
104
+ meta_klass.instance_variable_set(:@attribute_names, nil)
105
+ meta_klass.allow_nonexistent_keys
103
106
  end
104
107
 
105
108
  describe "#set_value" do
106
109
  it "can set a value" do
107
- resource_klass.attribute :set_value_property unless resource_klass.schema.key?(:set_value_property)
108
- resource = resource_klass.new
110
+ meta_klass.attribute :set_value_property unless meta_klass.schema.key?(:set_value_property)
111
+ resource = meta_klass.new
109
112
 
110
113
  resource.set_value(:set_value_property, "test")
111
114
 
112
115
  expect(resource.set_value_property).to eq ["test"]
113
116
  resource.set_value("set_value_property", "testing")
114
117
  expect(resource.set_value_property).to eq ["testing"]
115
- unset_key(resource_klass, :set_value_property)
118
+ unset_key(meta_klass, :set_value_property)
116
119
  end
117
120
  end
118
121
 
119
122
  describe ".new" do
120
123
  it "can set values with symbols" do
121
- resource_klass.attribute :symbol_property unless resource_klass.schema.key?(:symbol_property)
124
+ meta_klass.attribute :symbol_property unless meta_klass.schema.key?(:symbol_property)
122
125
 
123
- resource = resource_klass.new(symbol_property: "bla")
126
+ resource = meta_klass.new(symbol_property: "bla")
124
127
 
125
128
  expect(resource.symbol_property).to eq ["bla"]
126
- unset_key(resource_klass, :symbol_property)
129
+ unset_key(meta_klass, :symbol_property)
127
130
  end
128
131
  it "can not set values with string properties" do
129
- resource_klass.attribute :string_property unless resource_klass.schema.key?(:string_property)
132
+ meta_klass.attribute :string_property unless meta_klass.schema.key?(:string_property)
130
133
 
131
134
  resource = nil
132
135
  expect(resource).not_to respond_to :string_property
133
- unset_key(resource_klass, :string_property)
136
+ unset_key(meta_klass, :string_property)
134
137
  end
135
138
  end
136
139
 
137
140
  describe "#attributes" do
138
141
  it "returns all defined attributs, including nil keys" do
139
- resource_klass.attribute :bla unless resource_klass.schema.key?(:bla)
142
+ meta_klass.attribute :bla unless meta_klass.schema.key?(:bla)
140
143
 
141
- resource = resource_klass.new
144
+ resource = meta_klass.new
142
145
 
143
146
  expect(resource.attributes).to be_frozen
144
147
  expect(resource.attributes).to have_key(:bla)
145
- expect(resource.attributes[:internal_resource]).to eq resource_klass.to_s
148
+ expect(resource.attributes[:internal_resource]).to eq meta_klass.to_s
146
149
  expect { resource.attributes.dup[:internal_resource] = "bla" }.not_to output.to_stderr
147
150
 
148
- unset_key(resource_klass, :bla)
149
- resource = resource_klass.new
151
+ unset_key(meta_klass, :bla)
152
+ resource = meta_klass.new
150
153
  expect(resource.attributes).not_to have_key(:bla)
154
+ expect(resource.as_json).not_to have_key(:bla)
151
155
  end
152
156
  end
153
157
 
154
158
  describe "#__attributes__" do
155
159
  it "returns all defined attributes, but doesn't add nil keys" do
156
- resource_klass.attribute :bla unless resource_klass.schema.key?(:bla)
160
+ meta_klass.attribute :bla unless meta_klass.schema.key?(:bla)
157
161
 
158
- resource = resource_klass.new
162
+ resource = meta_klass.new
159
163
  expect(resource.__attributes__).to be_frozen
160
164
  expect(resource.__attributes__).not_to have_key :bla
161
165
  expect(resource.__attributes__).to have_key :internal_resource
162
166
 
163
- unset_key(resource_klass, :bla)
167
+ unset_key(meta_klass, :bla)
164
168
  end
165
169
  end
166
170
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Valkyrie
3
- VERSION = "2.0.0.RC9"
3
+ VERSION = "2.0.0.RC10"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valkyrie
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.RC9
4
+ version: 2.0.0.RC10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trey Pendragon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-30 00:00:00.000000000 Z
11
+ date: 2019-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct