wcc-blogs-client 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55db25dca22951c220756f7a472ab3f7d65c0da3
4
- data.tar.gz: d47dc5b1f2a2092dfffdfe1ec59e64eff21667fc
3
+ metadata.gz: b57eccdc0dfb25b616fd887781eb5e3f18b0f00f
4
+ data.tar.gz: 9a0d581af31bbdc61ba14cfe8a4d90ce99957c21
5
5
  SHA512:
6
- metadata.gz: 321b737f61714148d6cb645d48dacf306eddd3aac66688c88069083d9fc70c2442b95985d7f38a903a1e46a05dfe18891cb21376d4585085e467620d8e9c4a09
7
- data.tar.gz: 1010a79f4de4080c609a5e49a2152a9e66f23e6a320485d481b6962cfd9c937f8f207911d9f6f517f4429713a76030519e76ecf6b2f898f5a96d26479fcb2481
6
+ metadata.gz: f418d9d819344d62bf97154b6eb4b516d742e1929e50ba6f295eb43844d9e89d222659d0f4ffc0d6146a90430dc1392a9c1002ee11b57cabd011b04546b51fa6
7
+ data.tar.gz: a2f240ce41b866dfa44e8cda879c522f7e41523cb979f145db96b2db2894dd3c7153afb50678f64294bc17dbeb411e2c845805fbe9ebe8540304940636793e41
@@ -10,6 +10,7 @@ require 'wcc/blogs/errors'
10
10
  require 'wcc/blogs/metadata'
11
11
  require 'wcc/blogs/post'
12
12
  require 'wcc/blogs/post_summary'
13
+ require 'wcc/blogs/linked_blog_post_summary'
13
14
  require 'wcc/blogs/property'
14
15
  require 'wcc/blogs/collection'
15
16
  require 'wcc/blogs/collection_summary'
@@ -20,7 +20,7 @@ module WCC::Blogs
20
20
  alias_method :to_json, :raw
21
21
 
22
22
  def next_page_url
23
- raw.dig('_links', 'previous')
23
+ raw.dig('_links', 'next')
24
24
  end
25
25
 
26
26
  def next_page?
@@ -21,33 +21,8 @@ module WCC::Blogs
21
21
  def posts
22
22
  @posts ||=
23
23
  (raw['posts'] || []).map do |summary|
24
- PostReference.new(summary, client: @client)
24
+ WCC::Blogs::LinkedBlogPostSummary.new(summary, client: @client)
25
25
  end
26
26
  end
27
-
28
- class PostReference
29
- extend WCC::Blogs::Utils
30
-
31
- attr_reader :raw
32
-
33
- def initialize(raw, client: WCC::Blogs.client)
34
- @raw = raw
35
- @client = client
36
- end
37
-
38
- def full_post
39
- Post.new(@client.get(_links.self).raw)
40
- end
41
-
42
- define_camelcase_alias(
43
- 'slug'
44
- ) do |camelcase|
45
- raw[camelcase]
46
- end
47
-
48
- def _links
49
- OpenStruct.new(raw['_links'] || {})
50
- end
51
- end
52
27
  end
53
28
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WCC::Blogs
4
+ class LinkedBlogPostSummary
5
+ extend WCC::Blogs::Utils
6
+
7
+ attr_reader :raw
8
+
9
+ def initialize(raw, client: WCC::Blogs.client)
10
+ @raw = raw
11
+ @client = client
12
+ end
13
+
14
+ def full_post
15
+ Post.new(@client.get(_links.self).raw)
16
+ end
17
+
18
+ define_camelcase_alias(
19
+ 'title',
20
+ 'slug'
21
+ ) do |camelcase|
22
+ raw[camelcase]
23
+ end
24
+
25
+ define_camelcase_alias(
26
+ 'date'
27
+ ) do |camelcase|
28
+ value = raw[camelcase]
29
+
30
+ Time.parse(value) if value&.length
31
+ end
32
+
33
+ def _links
34
+ OpenStruct.new(raw['_links'] || {})
35
+ end
36
+ end
37
+ end
@@ -97,6 +97,11 @@ module WCC::Blogs
97
97
  CollectionSummary.new(raw['collection'], client: @client) if raw['collection']
98
98
  end
99
99
 
100
+ define_camelcase_alias('related_posts') do |camelcase|
101
+ related = raw[camelcase] || []
102
+ related.map { |val| WCC::Blogs::LinkedBlogPostSummary.new(val, client: @client) }
103
+ end
104
+
100
105
  alias cache_key digest
101
106
  end
102
107
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module WCC
4
4
  module Blogs
5
- VERSION = '0.5.2'
5
+ VERSION = '0.6.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wcc-blogs-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2020-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -198,6 +198,7 @@ files:
198
198
  - lib/wcc/blogs/collection.rb
199
199
  - lib/wcc/blogs/collection_summary.rb
200
200
  - lib/wcc/blogs/errors.rb
201
+ - lib/wcc/blogs/linked_blog_post_summary.rb
201
202
  - lib/wcc/blogs/metadata.rb
202
203
  - lib/wcc/blogs/post.rb
203
204
  - lib/wcc/blogs/post_summary.rb