izi_json_ld 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|