twingly-search 5.1.4 → 5.2.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
  SHA256:
3
- metadata.gz: 49c94c74514518c6ca38c183d34e5491a43943df720baff3f953e8f79d993a28
4
- data.tar.gz: 607f1c89018defaa4c5b77027a023bdbb878fb3382c9cd1e41701d61b50ee84d
3
+ metadata.gz: 3183abe585817948bbaa2b8c196c819861e1bf605ea84e0df3993b574dd056da
4
+ data.tar.gz: 6d9467ae4f7b961ce8084a6a18f2df5081fd5067d32f246ceba3b9a9ff25213b
5
5
  SHA512:
6
- metadata.gz: e4d25ca5cf9f8ff8b53db584a44a7a1153889176e20ef63a79e93a6ff7577d3433ace7db9af147f49c6fc29ef31501f5a0d524f9e32a6d2afa8869002e335807
7
- data.tar.gz: fa5a4f09c37a52072cf2a351d318668bbe254a122dcb89755b3be6df5493151397909b70898582fd7f959d923be8e5fe9254dc6e249eeabf4e09e36d539810d7
6
+ metadata.gz: 81aef4a30e435c318207a3fd7c89503c876fcbe505dbd87ac87abb8f6fedb0a16a08fb882e99b3069be6c6391774311e1d8ea87e47457db1b0e5577cc6edef96
7
+ data.tar.gz: 5bf47a6e3ca598356d97ebc7d5c7584579afa2d018f4024465bd75097d06864e4af4f8d0771b67fd88af67a2dea08607933c54918bf3a25b292fd3af71c32738
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Change Log
2
2
 
3
+ ## [v5.1.4](https://github.com/twingly/twingly-search-api-ruby/tree/v5.1.4) (2018-02-23)
4
+ [Full Changelog](https://github.com/twingly/twingly-search-api-ruby/compare/v5.1.3...v5.1.4)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - Looser requirement on Faraday [\#70](https://github.com/twingly/twingly-search-api-ruby/issues/70)
9
+
10
+ **Fixed bugs:**
11
+
12
+ - Update yard gem dependency [\#72](https://github.com/twingly/twingly-search-api-ruby/issues/72)
13
+
14
+ **Merged pull requests:**
15
+
16
+ - Looser requirements on Faraday [\#74](https://github.com/twingly/twingly-search-api-ruby/pull/74) ([jage](https://github.com/jage))
17
+ - Test with latest Ruby versions [\#73](https://github.com/twingly/twingly-search-api-ruby/pull/73) ([dentarg](https://github.com/dentarg))
18
+ - Test with latest rubies, support Ruby 2.4 and JRuby 9.1 [\#71](https://github.com/twingly/twingly-search-api-ruby/pull/71) ([walro](https://github.com/walro))
19
+
3
20
  ## [v5.1.3](https://github.com/twingly/twingly-search-api-ruby/tree/v5.1.3) (2017-10-16)
4
21
  [Full Changelog](https://github.com/twingly/twingly-search-api-ruby/compare/v5.1.2...v5.1.3)
5
22
 
data/README.md CHANGED
@@ -27,7 +27,7 @@ To learn more about the features of this gem, read the [gem documentation] or ch
27
27
 
28
28
  To learn more about the capabilities of Twingly's APIs, please read the [Blog Search API documentation] and [Blog LiveFeed API documentation].
29
29
 
30
- [gem documentation]: http://www.rubydoc.info/github/twingly/twingly-search-api-ruby
30
+ [gem documentation]: https://www.rubydoc.info/github/twingly/twingly-search-api-ruby
31
31
  [Blog Search API documentation]: https://developer.twingly.com/resources/search/
32
32
  [Blog LiveFeed API documentation]: https://developer.twingly.com/resources/livefeed/
33
33
 
@@ -106,4 +106,4 @@ This gem is documented using [YARD]. To start a local YARD server run:
106
106
 
107
107
  The YARD server reloads the documentation automatically so there is no need to restart it when making changes.
108
108
 
109
- [YARD]: http://yardoc.org/
109
+ [YARD]: https://yardoc.org/
@@ -61,6 +61,32 @@ module Twingly
61
61
  @blog_rank = params.fetch('blogRank').to_i
62
62
  @authority = params.fetch('authority').to_i
63
63
  end
64
+
65
+ # @return [Hash] a hash containing all post attributes.
66
+ def to_h
67
+ {
68
+ id: @id,
69
+ author: @author,
70
+ url: @url,
71
+ title: @title,
72
+ text: @text,
73
+ language_code: @language_code,
74
+ location_code: @location_code,
75
+ coordinates: @coordinates,
76
+ links: @links,
77
+ tags: @tags,
78
+ images: @images,
79
+ indexed_at: @indexed_at,
80
+ published_at: @published_at,
81
+ reindexed_at: @reindexed_at,
82
+ inlinks_count: @inlinks_count,
83
+ blog_id: @blog_id,
84
+ blog_name: @blog_name,
85
+ blog_url: @blog_url,
86
+ blog_rank: @blog_rank,
87
+ authority: @authority,
88
+ }
89
+ end
64
90
  end
65
91
  end
66
92
  end
@@ -1,5 +1,5 @@
1
1
  module Twingly
2
2
  module LiveFeed
3
- VERSION = "5.0.1"
3
+ VERSION = "5.2.0"
4
4
  end
5
5
  end
@@ -84,6 +84,32 @@ module Twingly
84
84
  warn "[DEPRECATION] `outlinks` is deprecated. Please use `links` instead."
85
85
  links
86
86
  end
87
+
88
+ # @return [Hash] a hash containing all post attributes.
89
+ def to_h
90
+ {
91
+ id: @id,
92
+ author: @author,
93
+ url: @url,
94
+ title: @title,
95
+ text: @text,
96
+ language_code: @language_code,
97
+ location_code: @location_code,
98
+ coordinates: @coordinates,
99
+ links: @links,
100
+ tags: @tags,
101
+ images: @images,
102
+ indexed_at: @indexed_at,
103
+ published_at: @published_at,
104
+ reindexed_at: @reindexed_at,
105
+ inlinks_count: @inlinks_count,
106
+ blog_id: @blog_id,
107
+ blog_name: @blog_name,
108
+ blog_url: @blog_url,
109
+ blog_rank: @blog_rank,
110
+ authority: @authority,
111
+ }
112
+ end
87
113
  end
88
114
  end
89
115
  end
@@ -1,5 +1,5 @@
1
1
  module Twingly
2
2
  module Search
3
- VERSION = "5.1.4"
3
+ VERSION = "5.2.0"
4
4
  end
5
5
  end
@@ -23,4 +23,51 @@ module Twingly::LiveFeed
23
23
  it { should respond_to :blog_rank }
24
24
  it { should respond_to :authority }
25
25
  end
26
+
27
+ describe "#to_h" do
28
+ let(:post) do
29
+ document = Fixture.livefeed_get(:valid)
30
+ result = Parser.new.parse(document)
31
+
32
+ result.posts.first
33
+ end
34
+
35
+ let(:post_hash) do
36
+ post.to_h
37
+ end
38
+
39
+ attributes = %i[
40
+ id
41
+ author
42
+ url
43
+ title
44
+ text
45
+ location_code
46
+ language_code
47
+ coordinates
48
+ links
49
+ tags
50
+ images
51
+ indexed_at
52
+ published_at
53
+ reindexed_at
54
+ inlinks_count
55
+ blog_id
56
+ blog_name
57
+ blog_url
58
+ blog_rank
59
+ authority
60
+ ]
61
+
62
+ it do
63
+ expect(post_hash.keys).to match_array(attributes)
64
+ end
65
+
66
+ attributes.each do |key|
67
+ describe "#to_h[:#{key}]" do
68
+ subject { post_hash[key] }
69
+ it { is_expected.to eq(post.public_send(key)) }
70
+ end
71
+ end
72
+ end
26
73
  end
data/spec/post_spec.rb CHANGED
@@ -23,6 +23,7 @@ describe Post do
23
23
  it { should respond_to :blog_url }
24
24
  it { should respond_to :blog_rank }
25
25
  it { should respond_to :authority }
26
+ it { should respond_to :to_h }
26
27
 
27
28
  deprecated_methods = %i(summary indexed published outlinks)
28
29
  deprecated_methods.each do |method_name|
@@ -33,4 +34,51 @@ describe Post do
33
34
  end
34
35
  end
35
36
  end
37
+
38
+ describe "#to_h" do
39
+ let(:post) do
40
+ document = Fixture.get(:minimal_valid)
41
+ result = Parser.new.parse(document)
42
+
43
+ result.posts.first
44
+ end
45
+
46
+ let(:post_hash) do
47
+ post.to_h
48
+ end
49
+
50
+ attributes = %i[
51
+ id
52
+ author
53
+ url
54
+ title
55
+ text
56
+ location_code
57
+ language_code
58
+ coordinates
59
+ links
60
+ tags
61
+ images
62
+ indexed_at
63
+ published_at
64
+ reindexed_at
65
+ inlinks_count
66
+ blog_id
67
+ blog_name
68
+ blog_url
69
+ blog_rank
70
+ authority
71
+ ]
72
+
73
+ it do
74
+ expect(post_hash.keys).to match_array(attributes)
75
+ end
76
+
77
+ attributes.each do |key|
78
+ describe "#to_h[:#{key}]" do
79
+ subject { post_hash[key] }
80
+ it { is_expected.to eq(post.public_send(key)) }
81
+ end
82
+ end
83
+ end
36
84
  end
@@ -23,8 +23,8 @@ Gem::Specification.new do |spec|
23
23
  spec.add_dependency "nokogiri", "~> 1.0"
24
24
  spec.add_development_dependency "rspec", "~> 3"
25
25
  spec.add_development_dependency "rspec-its", "~> 1"
26
- spec.add_development_dependency "vcr", "~> 2.6"
27
- spec.add_development_dependency "webmock", "~> 1.0"
26
+ spec.add_development_dependency "vcr", "~> 4.0"
27
+ spec.add_development_dependency "webmock", "~> 3.4"
28
28
  spec.add_development_dependency "rake", "~> 11"
29
29
  spec.add_development_dependency "yard", [">= 0.9.11", "< 1.0.0"]
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twingly-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.4
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twingly AB
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-23 00:00:00.000000000 Z
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -78,28 +78,28 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '2.6'
81
+ version: '4.0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '2.6'
88
+ version: '4.0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: webmock
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '1.0'
95
+ version: '3.4'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '1.0'
102
+ version: '3.4'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rake
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  version: '0'
222
222
  requirements: []
223
223
  rubyforge_project:
224
- rubygems_version: 2.7.4
224
+ rubygems_version: 2.7.6
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: Ruby API client for Twingly Search