hacker_news 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/hacker_news.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "hacker_news"
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aleksandr Lossenko"]
@@ -2,15 +2,18 @@ module HackerNews
2
2
 
3
3
  class Scraper
4
4
 
5
- URL = "http://news.ycombinator.com"
5
+ URL = "news.ycombinator.com"
6
6
 
7
7
  def self.articles(pages = 5)
8
8
 
9
- pagination = ""
9
+ pagination = "/"
10
10
  result = []
11
11
 
12
12
  0.upto(pages - 1) do |page|
13
- doc = Nokogiri::HTML(open(URL+pagination))
13
+ response = Net::HTTP.start( URL, 80 ) do |http|
14
+ http.get(pagination, "User-Agent" => "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.872.0 Safari/535.2").body
15
+ end
16
+ doc = Nokogiri::HTML(response)
14
17
  articles = doc.css("td.title > a:first-child")
15
18
  next_page = articles.pop
16
19
  pagination = next_page[:href]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hacker_news
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Aleksandr Lossenko
@@ -29,10 +29,10 @@ dependencies:
29
29
  - 4
30
30
  - 0
31
31
  version: 1.4.0
32
- requirement: *id001
33
- prerelease: false
34
32
  name: nokogiri
33
+ prerelease: false
35
34
  type: :runtime
35
+ requirement: *id001
36
36
  - !ruby/object:Gem::Dependency
37
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
@@ -43,10 +43,10 @@ dependencies:
43
43
  segments:
44
44
  - 0
45
45
  version: "0"
46
- requirement: *id002
47
- prerelease: false
48
46
  name: iconv
47
+ prerelease: false
49
48
  type: :runtime
49
+ requirement: *id002
50
50
  - !ruby/object:Gem::Dependency
51
51
  version_requirements: &id003 !ruby/object:Gem::Requirement
52
52
  none: false
@@ -59,10 +59,10 @@ dependencies:
59
59
  - 0
60
60
  - 0
61
61
  version: 1.0.0
62
- requirement: *id003
63
- prerelease: false
64
62
  name: bundler
63
+ prerelease: false
65
64
  type: :development
65
+ requirement: *id003
66
66
  - !ruby/object:Gem::Dependency
67
67
  version_requirements: &id004 !ruby/object:Gem::Requirement
68
68
  none: false
@@ -75,10 +75,10 @@ dependencies:
75
75
  - 5
76
76
  - 2
77
77
  version: 1.5.2
78
- requirement: *id004
79
- prerelease: false
80
78
  name: jeweler
79
+ prerelease: false
81
80
  type: :development
81
+ requirement: *id004
82
82
  - !ruby/object:Gem::Dependency
83
83
  version_requirements: &id005 !ruby/object:Gem::Requirement
84
84
  none: false
@@ -89,10 +89,10 @@ dependencies:
89
89
  segments:
90
90
  - 0
91
91
  version: "0"
92
- requirement: *id005
93
- prerelease: false
94
92
  name: rcov
93
+ prerelease: false
95
94
  type: :development
95
+ requirement: *id005
96
96
  - !ruby/object:Gem::Dependency
97
97
  version_requirements: &id006 !ruby/object:Gem::Requirement
98
98
  none: false
@@ -103,10 +103,10 @@ dependencies:
103
103
  segments:
104
104
  - 0
105
105
  version: "0"
106
- requirement: *id006
107
- prerelease: false
108
106
  name: fakeweb
107
+ prerelease: false
109
108
  type: :development
109
+ requirement: *id006
110
110
  description: Fetches newest 5 pages from Hacker News and returns convenient ruby objects
111
111
  email: aleksandr.lossenko@gmail.com
112
112
  executables: []