raev 0.2.1 → 0.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 64988202ffa1289c5d9e0f6fe59767e1bf6c2b2d
4
- data.tar.gz: 1fc08d2929d84fbb849a81c6bd4a843eb952b644
3
+ metadata.gz: b020e95434fd22eaeb55f5046596393745179bad
4
+ data.tar.gz: 4f11eb87fdbabfb2cfd57affce3d51fc8b56af26
5
5
  SHA512:
6
- metadata.gz: 42cf3c6f84cc0061b7b5b51e43796546c9e03d1a5064d20b187783f065a354a63b90cbe8ae91254436a915d75c0459dae6eabfb6a9ffbb95e6197add643245fa
7
- data.tar.gz: f97e2730ca39ad035a0891701cdfc65cf7b1208cd313299a26146079ecaf38d5f4b9f69a36e23017be70f58153452cdbb4391b44c1b4dfcedfeb193ca15c0874
6
+ metadata.gz: eea620803d2b0588fcef20a1be4c93ad311b2e31e3588822b1ccb780dde354e0a19ddfbcceaeba211d931e60c84fd917d6174f849fd7b641b40f9d709e2b4b37
7
+ data.tar.gz: ad3e2afef1f12370a98742e5d45148fb79240c15c7abcb4bef2d1f4d601cbd9aae78998a1d1dd6f711d59c95993ae48e4f94dd0f438588f2363127bca011eddf
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "json", '>= 1.8.1'
3
+ gem "json", '>= 1.8.3'
4
4
  gem "nokogiri", ">= 1.6.1"
5
5
  gem "redirect_follower", ">= 0.1.1"
6
6
  gem "sanitize", ">= 2.1.0"
@@ -8,7 +8,7 @@ gem "chronic", ">=0.9.1"
8
8
 
9
9
  group :development do
10
10
  gem "shoulda", ">= 0"
11
- gem "bundler", "~> 1.7.2"
12
- gem "jeweler", "2.0.1"
11
+ gem "bundler", "~> 1.12.3"
12
+ gem "jeweler", "2.1.1"
13
13
  gem "test-unit", "~> 2.5.4"
14
14
  end
@@ -1,33 +1,31 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (4.1.8)
5
- i18n (~> 0.6, >= 0.6.9)
4
+ activesupport (4.2.6)
5
+ i18n (~> 0.7)
6
6
  json (~> 1.7, >= 1.7.7)
7
7
  minitest (~> 5.1)
8
- thread_safe (~> 0.1)
8
+ thread_safe (~> 0.3, >= 0.3.4)
9
9
  tzinfo (~> 1.1)
10
- addressable (2.3.6)
10
+ addressable (2.4.0)
11
11
  builder (3.2.2)
12
12
  chronic (0.10.2)
13
13
  crass (1.0.2)
14
14
  descendants_tracker (0.0.4)
15
15
  thread_safe (~> 0.3, >= 0.3.1)
16
- faraday (0.9.0)
16
+ faraday (0.9.2)
17
17
  multipart-post (>= 1.2, < 3)
18
- git (1.2.8)
19
- github_api (0.12.2)
20
- addressable (~> 2.3)
18
+ git (1.3.0)
19
+ github_api (0.14.0)
20
+ addressable (~> 2.4.0)
21
21
  descendants_tracker (~> 0.0.4)
22
22
  faraday (~> 0.8, < 0.10)
23
- hashie (>= 3.3)
24
- multi_json (>= 1.7.5, < 2.0)
25
- nokogiri (~> 1.6.3)
23
+ hashie (>= 3.4)
26
24
  oauth2
27
- hashie (3.3.1)
28
- highline (1.6.21)
29
- i18n (0.6.11)
30
- jeweler (2.0.1)
25
+ hashie (3.4.4)
26
+ highline (1.7.8)
27
+ i18n (0.7.0)
28
+ jeweler (2.1.1)
31
29
  builder
32
30
  bundler (>= 1.0)
33
31
  git (>= 1.2.5)
@@ -36,40 +34,42 @@ GEM
36
34
  nokogiri (>= 1.5.10)
37
35
  rake
38
36
  rdoc
39
- json (1.8.1)
40
- jwt (1.2.0)
41
- mini_portile (0.6.1)
42
- minitest (5.4.3)
43
- multi_json (1.10.1)
37
+ semver
38
+ json (1.8.3)
39
+ jwt (1.5.1)
40
+ mini_portile2 (2.0.0)
41
+ minitest (5.9.0)
42
+ multi_json (1.12.1)
44
43
  multi_xml (0.5.5)
45
44
  multipart-post (2.0.0)
46
- nokogiri (1.6.4.1)
47
- mini_portile (~> 0.6.0)
48
- nokogumbo (1.4.1)
45
+ nokogiri (1.6.7.2)
46
+ mini_portile2 (~> 2.0.0.rc2)
47
+ nokogumbo (1.4.7)
49
48
  nokogiri
50
- oauth2 (1.0.0)
49
+ oauth2 (1.1.0)
51
50
  faraday (>= 0.8, < 0.10)
52
- jwt (~> 1.0)
51
+ jwt (~> 1.0, < 1.5.2)
53
52
  multi_json (~> 1.3)
54
53
  multi_xml (~> 0.5)
55
- rack (~> 1.2)
56
- rack (1.5.2)
57
- rake (10.4.0)
58
- rdoc (4.1.2)
54
+ rack (>= 1.2, < 3)
55
+ rack (1.6.4)
56
+ rake (11.1.2)
57
+ rdoc (4.2.2)
59
58
  json (~> 1.4)
60
59
  redirect_follower (0.1.1)
61
- sanitize (4.0.0)
60
+ sanitize (4.0.1)
62
61
  crass (~> 1.0.2)
63
62
  nokogiri (>= 1.4.4)
64
- nokogumbo (= 1.4.1)
63
+ nokogumbo (~> 1.4.1)
64
+ semver (1.0.1)
65
65
  shoulda (3.5.0)
66
66
  shoulda-context (~> 1.0, >= 1.0.1)
67
67
  shoulda-matchers (>= 1.4.1, < 3.0)
68
68
  shoulda-context (1.2.1)
69
- shoulda-matchers (2.7.0)
69
+ shoulda-matchers (2.8.0)
70
70
  activesupport (>= 3.0.0)
71
71
  test-unit (2.5.5)
72
- thread_safe (0.3.4)
72
+ thread_safe (0.3.5)
73
73
  tzinfo (1.2.2)
74
74
  thread_safe (~> 0.1)
75
75
 
@@ -77,12 +77,15 @@ PLATFORMS
77
77
  ruby
78
78
 
79
79
  DEPENDENCIES
80
- bundler (~> 1.7.2)
80
+ bundler (~> 1.12.3)
81
81
  chronic (>= 0.9.1)
82
- jeweler (= 2.0.1)
83
- json (>= 1.8.1)
82
+ jeweler (= 2.1.1)
83
+ json (>= 1.8.3)
84
84
  nokogiri (>= 1.6.1)
85
85
  redirect_follower (>= 0.1.1)
86
86
  sanitize (>= 2.1.0)
87
87
  shoulda
88
88
  test-unit (~> 2.5.4)
89
+
90
+ BUNDLED WITH
91
+ 1.12.3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -29,6 +29,9 @@ module Raev
29
29
  # Remove nickname quotes
30
30
  author = author.gsub(/\"(.*)\"/, "").gsub(/\'(.*)\'/, "").gsub(" ", " ")
31
31
 
32
+ # Remove "by"
33
+ author = author.gsub("by ", "")
34
+
32
35
  # Capitalize
33
36
  return author.split(' ').map(&:capitalize).join(' ')
34
37
  end
@@ -151,10 +151,16 @@ module Raev
151
151
  end
152
152
 
153
153
  def author
154
+ node = document.search('meta[name="author"]').first
155
+
156
+ if node && node.attribute("content")
157
+ return node.attribute("content").value
158
+ end
159
+
154
160
  cssSelectors = [
155
161
  '.author-info .name',
156
162
  '.author-top a',
157
- '.yt-user-name',
163
+ '.yt-user-info a',
158
164
  'a[rel~="author"]',
159
165
  'a[itemprop~="author"]',
160
166
  '.author h3 a',
@@ -183,7 +189,41 @@ module Raev
183
189
 
184
190
  ""
185
191
  end
186
-
192
+
193
+ def ratingValue
194
+ node = document.search('*[itemprop="ratingValue"]').first
195
+
196
+ if node
197
+ if node.attribute("content")
198
+ value = node.attribute("content").value
199
+ else
200
+ value = node.content
201
+ end
202
+ end
203
+
204
+ if value
205
+ value.to_f
206
+ else
207
+ nil
208
+ end
209
+ end
210
+
211
+ def bestRating
212
+ node = document.search('*[itemprop="bestRating"]').first
213
+
214
+ if node
215
+ if node.attribute("content")
216
+ value = node.attribute("content").value
217
+
218
+ if value
219
+ return value.to_f
220
+ end
221
+ end
222
+ end
223
+
224
+ nil
225
+ end
226
+
187
227
  private
188
228
 
189
229
  def document
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: raev 0.2.1 ruby lib
5
+ # stub: raev 0.2.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "raev"
9
- s.version = "0.2.1"
9
+ s.version = "0.2.2"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Andreas Zecher"]
14
- s.date = "2015-08-20"
14
+ s.date = "2016-05-23"
15
15
  s.description = "Fetch, parse and normalize meta data from websites."
16
16
  s.email = "andreas@madebypixelate.com"
17
17
  s.extra_rdoc_files = [
@@ -39,42 +39,42 @@ Gem::Specification.new do |s|
39
39
  ]
40
40
  s.homepage = "http://github.com/pixelate/raev"
41
41
  s.licenses = ["MIT"]
42
- s.rubygems_version = "2.4.5"
42
+ s.rubygems_version = "2.5.1"
43
43
  s.summary = "Fetch, parse and normalize meta data from websites."
44
44
 
45
45
  if s.respond_to? :specification_version then
46
46
  s.specification_version = 4
47
47
 
48
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
- s.add_runtime_dependency(%q<json>, [">= 1.8.1"])
49
+ s.add_runtime_dependency(%q<json>, [">= 1.8.3"])
50
50
  s.add_runtime_dependency(%q<nokogiri>, [">= 1.6.1"])
51
51
  s.add_runtime_dependency(%q<redirect_follower>, [">= 0.1.1"])
52
52
  s.add_runtime_dependency(%q<sanitize>, [">= 2.1.0"])
53
53
  s.add_runtime_dependency(%q<chronic>, [">= 0.9.1"])
54
54
  s.add_development_dependency(%q<shoulda>, [">= 0"])
55
- s.add_development_dependency(%q<bundler>, ["~> 1.7.2"])
56
- s.add_development_dependency(%q<jeweler>, ["= 2.0.1"])
55
+ s.add_development_dependency(%q<bundler>, ["~> 1.12.3"])
56
+ s.add_development_dependency(%q<jeweler>, ["= 2.1.1"])
57
57
  s.add_development_dependency(%q<test-unit>, ["~> 2.5.4"])
58
58
  else
59
- s.add_dependency(%q<json>, [">= 1.8.1"])
59
+ s.add_dependency(%q<json>, [">= 1.8.3"])
60
60
  s.add_dependency(%q<nokogiri>, [">= 1.6.1"])
61
61
  s.add_dependency(%q<redirect_follower>, [">= 0.1.1"])
62
62
  s.add_dependency(%q<sanitize>, [">= 2.1.0"])
63
63
  s.add_dependency(%q<chronic>, [">= 0.9.1"])
64
64
  s.add_dependency(%q<shoulda>, [">= 0"])
65
- s.add_dependency(%q<bundler>, ["~> 1.7.2"])
66
- s.add_dependency(%q<jeweler>, ["= 2.0.1"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.12.3"])
66
+ s.add_dependency(%q<jeweler>, ["= 2.1.1"])
67
67
  s.add_dependency(%q<test-unit>, ["~> 2.5.4"])
68
68
  end
69
69
  else
70
- s.add_dependency(%q<json>, [">= 1.8.1"])
70
+ s.add_dependency(%q<json>, [">= 1.8.3"])
71
71
  s.add_dependency(%q<nokogiri>, [">= 1.6.1"])
72
72
  s.add_dependency(%q<redirect_follower>, [">= 0.1.1"])
73
73
  s.add_dependency(%q<sanitize>, [">= 2.1.0"])
74
74
  s.add_dependency(%q<chronic>, [">= 0.9.1"])
75
75
  s.add_dependency(%q<shoulda>, [">= 0"])
76
- s.add_dependency(%q<bundler>, ["~> 1.7.2"])
77
- s.add_dependency(%q<jeweler>, ["= 2.0.1"])
76
+ s.add_dependency(%q<bundler>, ["~> 1.12.3"])
77
+ s.add_dependency(%q<jeweler>, ["= 2.1.1"])
78
78
  s.add_dependency(%q<test-unit>, ["~> 2.5.4"])
79
79
  end
80
80
  end
@@ -65,10 +65,10 @@ class UrlTest < Test::Unit::TestCase
65
65
  url = Raev.url("http://indiegames.com/2013/06/indie_fund_backing_for_two_new.html")
66
66
  assert_equal "Indie Fund backing two new titles for Double Fine", url.headline
67
67
 
68
- url = Raev.url("http://killscreendaily.com/articles/news/cheat-sheet-614/")
69
- assert_equal "Pixels on canvas, Spielberg's predictions, and Polytron's glorious tease", url.headline
68
+ url = Raev.url("https://killscreendaily.com/articles/news/cheat-sheet-614/")
69
+ assert_equal "Pixels on canvas, Spielberg's predictions, and Polytron's glorious tease - Kill Screen", url.headline
70
70
 
71
- url = Raev.url("http://www.rockpapershotgun.com/2013/06/05/i-spy-an-open-beta-for-spy-party/")
71
+ url = Raev.url("https://www.rockpapershotgun.com/2013/06/05/i-spy-an-open-beta-for-spy-party/")
72
72
  assert_equal "I Spy An Open Beta For Spy Party", url.headline
73
73
  end
74
74
 
@@ -79,7 +79,7 @@ class UrlTest < Test::Unit::TestCase
79
79
  url = Raev.url("http://kotaku.com/this-week-destiny-got-a-hell-of-a-lot-better-1706391634")
80
80
  assert_equal_date Date.new(2015, 5, 23), url.pubdate
81
81
 
82
- url = Raev.url("http://www.rockpapershotgun.com/2014/07/03/beauty-beheld-future-unfolding/")
82
+ url = Raev.url("https://www.rockpapershotgun.com/2014/07/03/beauty-beheld-future-unfolding/")
83
83
  assert_equal_date Date.new(2014, 7, 3), url.pubdate
84
84
 
85
85
  url = Raev.url("http://jayisgames.com/review/the-black-forest-finding-friends.php")
@@ -96,7 +96,7 @@ class UrlTest < Test::Unit::TestCase
96
96
  end
97
97
 
98
98
  should "get author from url" do
99
- url = Raev.url("http://www.rockpapershotgun.com/2014/07/03/beauty-beheld-future-unfolding/")
99
+ url = Raev.url("https://www.rockpapershotgun.com/2014/07/03/beauty-beheld-future-unfolding/")
100
100
  assert_equal "Adam Smith", url.author
101
101
 
102
102
  url = Raev.url("http://www.polygon.com/features/2013/3/25/4128022/gdc-gathering-of-game-makers")
@@ -105,12 +105,29 @@ class UrlTest < Test::Unit::TestCase
105
105
  url = Raev.url("http://kotaku.com/worth-reading-some-kickstarters-are-lying-about-game-b-1706340013")
106
106
  assert_equal "Patrick Klepek", url.author
107
107
 
108
- url = Raev.url("http://killscreendaily.com/articles/future-unfolding-wonder/")
108
+ url = Raev.url("https://killscreendaily.com/articles/future-unfolding-wonder/")
109
109
  assert_equal "Jess Joho", url.author
110
110
 
111
111
  url = Raev.url("http://www.creativeapplications.net/games/future-unfolding-procedurally-generated-world-both-beautiful-and-dangerous/")
112
- assert_equal "Filip Visnjic", url.author
112
+ assert_equal "Filip Visnjic", Raev::normalize_author(url.author)
113
+
114
+ url = Raev.url("https://www.youtube.com/watch?v=FmZYPMsq5m4")
115
+ assert_equal "PsiSyndicate", url.author
113
116
  end
117
+
118
+ should "get score" do
119
+ url = Raev.url("http://www.slantmagazine.com/games/review/shadow-of-the-beast")
120
+ assert_equal 4.0, url.ratingValue
121
+ assert_equal 5, url.bestRating
122
+
123
+ url = Raev.url("http://www.gamesradar.com/superhot-review/")
124
+ assert_equal 4.5, url.ratingValue
125
+ assert_equal 5, url.bestRating
126
+
127
+ url = Raev.url("http://www.gameswelt.de/shadow-of-the-beast/test/klassiker-im-neuen-gewand,257932")
128
+ assert_equal 8, url.ratingValue
129
+ assert_equal 10, url.bestRating
130
+ end
114
131
 
115
132
  private
116
133
 
metadata CHANGED
@@ -1,139 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Zecher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-20 00:00:00.000000000 Z
11
+ date: 2016-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.1
19
+ version: 1.8.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.8.1
26
+ version: 1.8.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.6.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.6.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: redirect_follower
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.1.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.1.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sanitize
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.1.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.1.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: chronic
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.9.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.9.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: shoulda
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.7.2
103
+ version: 1.12.3
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.7.2
110
+ version: 1.12.3
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: jeweler
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 2.0.1
117
+ version: 2.1.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 2.0.1
124
+ version: 2.1.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: test-unit
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: 2.5.4
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 2.5.4
139
139
  description: Fetch, parse and normalize meta data from websites.
@@ -144,7 +144,7 @@ extra_rdoc_files:
144
144
  - LICENSE.txt
145
145
  - README.md
146
146
  files:
147
- - .document
147
+ - ".document"
148
148
  - Gemfile
149
149
  - Gemfile.lock
150
150
  - LICENSE.txt
@@ -171,17 +171,17 @@ require_paths:
171
171
  - lib
172
172
  required_ruby_version: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - '>='
174
+ - - ">="
175
175
  - !ruby/object:Gem::Version
176
176
  version: '0'
177
177
  required_rubygems_version: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - '>='
179
+ - - ">="
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
182
  requirements: []
183
183
  rubyforge_project:
184
- rubygems_version: 2.4.5
184
+ rubygems_version: 2.5.1
185
185
  signing_key:
186
186
  specification_version: 4
187
187
  summary: Fetch, parse and normalize meta data from websites.