izi_json_ld 1.0.9 → 1.0.10
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
- data/app/entities/review_entity.rb +14 -4
- data/lib/izi_json_ld/version.rb +1 -1
- data/spec/dummy/log/test.log +48 -0
- data/spec/entities/review_entity_spec.rb +26 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8460fc684cdf425df5ab3eb1c37cf3cec4fd94ce
|
4
|
+
data.tar.gz: ebe42ecc6dd75499a3d4c7d64011652ecd2a44be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ce55344a93dc3e3ddfa65dc5387d48e5fc8af0f65ab072378de5764e37f7b9c52d966c18931a103631e919a1d984c3bbe67065a223fbad0ed4f9b9cb224d6d7
|
7
|
+
data.tar.gz: 8175939a4405a80fe70cad66c8e7e25b4007483123cf76027656eb752389fb989691abb039d22956ce0d68694e4e739759c1263bdf0ff4cc8db120c1c1fc1638
|
@@ -3,23 +3,33 @@
|
|
3
3
|
class ReviewEntity < ApplicationEntity
|
4
4
|
type 'Review'
|
5
5
|
|
6
|
-
# attribute? :author, ::IziJsonLd::Types::String.optional
|
7
6
|
attribute? :author, (::IziJsonLd::Types::Strict::String | ::PersonEntity | ::OrganizationEntity).optional
|
7
|
+
attribute? :publisher, (::IziJsonLd::Types::Strict::String | ::PersonEntity | ::OrganizationEntity).optional
|
8
8
|
attribute? :reviewRating, RatingEntity.optional
|
9
9
|
attribute? :reviewBody, ::IziJsonLd::Types::String.optional
|
10
10
|
|
11
11
|
attribute? :datePublished, ::IziJsonLd::Types::DateTime.optional
|
12
12
|
|
13
13
|
def dump_attributes
|
14
|
-
attributes.except(:author).merge(
|
14
|
+
attributes.except(:author, :publisher).merge(
|
15
|
+
author: safe_author,
|
16
|
+
publisher: safe_publisher
|
17
|
+
)
|
15
18
|
end
|
16
19
|
|
17
20
|
private
|
18
21
|
|
19
22
|
def safe_author
|
20
23
|
return if author.blank?
|
21
|
-
return author unless author.is_a?
|
24
|
+
return author unless author.is_a?(String)
|
22
25
|
|
23
|
-
PersonEntity.new(person_name: author)
|
26
|
+
::PersonEntity.new(person_name: author)
|
27
|
+
end
|
28
|
+
|
29
|
+
def safe_publisher
|
30
|
+
return if publisher.blank?
|
31
|
+
return publisher unless publisher.is_a?(String)
|
32
|
+
|
33
|
+
::OrganizationEntity.new(name: publisher)
|
24
34
|
end
|
25
35
|
end
|
data/lib/izi_json_ld/version.rb
CHANGED
data/spec/dummy/log/test.log
CHANGED
@@ -1946,3 +1946,51 @@
|
|
1946
1946
|
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mrollback transaction[0m
|
1947
1947
|
[1m[36mTRANSACTION (0.1ms)[0m [1m[36mbegin transaction[0m
|
1948
1948
|
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mrollback transaction[0m
|
1949
|
+
[1m[36m (0.5ms)[0m [1mbegin transaction[0m
|
1950
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1951
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1952
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1953
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1954
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1955
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1956
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1957
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1958
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1959
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1960
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1961
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1962
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1963
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1964
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1965
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1966
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1967
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1968
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1969
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1970
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1971
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1972
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1973
|
+
[1m[36m (0.5ms)[0m [1mbegin transaction[0m
|
1974
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1975
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1976
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1977
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1978
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1979
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1980
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1981
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1982
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1983
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1984
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1985
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1986
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1987
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1988
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1989
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1990
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
1991
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1992
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
1993
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1994
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1995
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1996
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
@@ -5,6 +5,7 @@ RSpec.describe ReviewEntity do
|
|
5
5
|
let(:item_data) do
|
6
6
|
{
|
7
7
|
author: 'John',
|
8
|
+
publisher: 'Fodojo LLC',
|
8
9
|
description: 'TODO',
|
9
10
|
reviewRating: { ratingValue: 3 }
|
10
11
|
}
|
@@ -71,4 +72,29 @@ RSpec.describe ReviewEntity do
|
|
71
72
|
expect(author['name']).to eq raw.author.name
|
72
73
|
end
|
73
74
|
end
|
75
|
+
|
76
|
+
context 'publisher' do
|
77
|
+
it 'should parse publisher name as organizaton' do
|
78
|
+
publisher = item.as_json['publisher']
|
79
|
+
expect(publisher).to be_a Hash
|
80
|
+
expect(publisher['@type']).to eq 'Organization'
|
81
|
+
expect(publisher['name']).to eq item.publisher
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should allow to pass publisher hash' do
|
85
|
+
raw = described_class.new(item_data.merge(publisher: { person_name: 'Kenny' }))
|
86
|
+
publisher = raw.as_json['publisher']
|
87
|
+
expect(publisher).to be_a Hash
|
88
|
+
expect(publisher['@type']).to eq 'Person'
|
89
|
+
expect(publisher['name']).to eq raw.publisher.name
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'should allow to pass publisher hash (Organization)' do
|
93
|
+
raw = described_class.new(item_data.merge(publisher: { name: 'Kenny' }))
|
94
|
+
publisher = raw.as_json['publisher']
|
95
|
+
expect(publisher).to be_a Hash
|
96
|
+
expect(publisher['@type']).to eq 'Organization'
|
97
|
+
expect(publisher['name']).to eq raw.publisher.name
|
98
|
+
end
|
99
|
+
end
|
74
100
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: izi_json_ld
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- IzikAJ
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|