shaf 0.2.0 → 0.2.1
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/shaf/command/templates/Gemfile.erb +0 -1
- data/lib/shaf/generator/controller.rb +1 -1
- data/lib/shaf/generator/templates/spec/integration_spec.rb.erb +10 -3
- data/lib/shaf/spec/payload_utils.rb +9 -11
- data/lib/shaf/version.rb +1 -1
- data.tar.gz.sig +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a160e3aeb1d9b86b59371417e6354d351acfbe9a90efde270b51a1fe2a307a88
|
|
4
|
+
data.tar.gz: d3c9eec43a5b5da8795e1e9396f8916be2458d235a14296c75646be25680b658
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '093623e69f3fdf57124cdabd6b01c00129fe77e479ec54aa5d3fdef252ec92fa93895b99708ca7c831421c11c838dbe9e034acec9546c96fc1a5f6197bd39211'
|
|
7
|
+
data.tar.gz: 4305a775fff58412125a1c984d27617c87fdd3d0fa1f20b798f6b47978aeafb34996bcd8f67b97f6ac1e3e1a2f117bf55c33f4e615af10bc0fdf917d61730231
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -71,7 +71,7 @@ module Shaf
|
|
|
71
71
|
file = "api/serializers/root_serializer.rb"
|
|
72
72
|
unless File.exist? file
|
|
73
73
|
puts "Warning: file '#{file}' does not exist. "\
|
|
74
|
-
"
|
|
74
|
+
"Skip adding link to the #{plural_name} collection"
|
|
75
75
|
end
|
|
76
76
|
added = false
|
|
77
77
|
content = []
|
|
@@ -8,6 +8,9 @@ describe <%= model_class_name %>, type: :integration do
|
|
|
8
8
|
status.must_equal 200
|
|
9
9
|
link_rels.must_include(:self)
|
|
10
10
|
links[:self][:href].must_equal <%= name %>_uri(<%= name %>)
|
|
11
|
+
<% params.each do |param| -%>
|
|
12
|
+
attributes.must_include(:'<%= param[0] %>')
|
|
13
|
+
<% end -%>
|
|
11
14
|
end
|
|
12
15
|
|
|
13
16
|
it "lists all <%= plural_name %>" do
|
|
@@ -18,9 +21,13 @@ describe <%= model_class_name %>, type: :integration do
|
|
|
18
21
|
status.must_equal 200
|
|
19
22
|
link_rels.must_include(:self)
|
|
20
23
|
links[:self][:href].must_include <%= plural_name %>_uri
|
|
21
|
-
embedded
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
embedded(:'<%= plural_name %>').size.must_equal 2
|
|
25
|
+
|
|
26
|
+
each_embedded :'<%= plural_name %>' do
|
|
27
|
+
link_rels.must_include(:self)
|
|
28
|
+
<% params.each do |param| -%>
|
|
29
|
+
attributes.must_include(:'<%= param[0] %>')
|
|
30
|
+
<% end -%>
|
|
24
31
|
end
|
|
25
32
|
end
|
|
26
33
|
|
|
@@ -21,13 +21,13 @@ module Shaf
|
|
|
21
21
|
@assertions = 0
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
def call
|
|
25
|
-
instance_exec(&@block)
|
|
24
|
+
def call(*args)
|
|
25
|
+
instance_exec(*args, &@block)
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def method_missing(method, *args, &block)
|
|
29
29
|
if @context&.respond_to? method
|
|
30
|
-
define_singleton_method(method) { |*a, &b| @context.public_send
|
|
30
|
+
define_singleton_method(method) { |*a, &b| @context.public_send(method, *a, &b) }
|
|
31
31
|
return public_send(method, *args, &block)
|
|
32
32
|
end
|
|
33
33
|
super
|
|
@@ -37,7 +37,6 @@ module Shaf
|
|
|
37
37
|
return true if @context&.respond_to? method
|
|
38
38
|
super
|
|
39
39
|
end
|
|
40
|
-
|
|
41
40
|
end
|
|
42
41
|
|
|
43
42
|
def set_payload(payload)
|
|
@@ -73,16 +72,15 @@ module Shaf
|
|
|
73
72
|
Embedded.new(last_payload.dig(*keys), self, Proc.new).call
|
|
74
73
|
end
|
|
75
74
|
|
|
76
|
-
def
|
|
75
|
+
def each_embedded(name, &block)
|
|
77
76
|
assert_has_embedded name
|
|
78
77
|
list = last_payload[:_embedded][name]
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
list,
|
|
78
|
+
|
|
79
|
+
assert_instance_of Array, list,
|
|
82
80
|
"Embedded '#{name}' is not an instance of Array. Actual: #{list.class}"
|
|
83
|
-
|
|
84
|
-
list.
|
|
85
|
-
Embedded.new(resource, block).call
|
|
81
|
+
|
|
82
|
+
list.each_with_index do |resource, i|
|
|
83
|
+
Embedded.new(resource, self, block).call(i)
|
|
86
84
|
end
|
|
87
85
|
end
|
|
88
86
|
|
data/lib/shaf/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
i�.Օ2��r��5�VyEd��#LԞ���1�h�^@�I�s�ߚ����?�֞����5A�C��f�b K�����M�e����V�V�38Yc�D�S��?��.��b)�Qv�Dy��cE,r=aRN)�$|��@̻�ܙ�$1�Wf��ϩ��dVd�����u�g���B��e��@�\�w�����-��l9�y����s�|�7:<Z�H �'�#H�94v�Vn�C�e�۠K8�xXx�/nY����
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: shaf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sammy Henningsson
|
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
|
31
31
|
CNZdF8Vavp6xMQbPHZwqjaeZz2WRXYS7jyYSvCunjwa3OtvXtfbIEGEWE6IM+t9k
|
|
32
32
|
H1g6Q+B6qk9O6g==
|
|
33
33
|
-----END CERTIFICATE-----
|
|
34
|
-
date: 2018-03-
|
|
34
|
+
date: 2018-03-14 00:00:00.000000000 Z
|
|
35
35
|
dependencies:
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rake
|
metadata.gz.sig
CHANGED
|
Binary file
|