hnjobs 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hnjobs.rb +10 -24
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 933d5dfd8326e1e2eda67254bfb97b4fb6326d78
4
- data.tar.gz: e642fc6dc3902f9207789c762bedccf505ea93fa
3
+ metadata.gz: e2872ed23423a308c0313e7d05493e2a1a287ecd
4
+ data.tar.gz: 047978fd4b5a65189a2bbcbf0cbff0000b428140
5
5
  SHA512:
6
- metadata.gz: 1984cbae66d410beee8b4dd7e11abc5aebba7bfc91fedd025e35841d061c52ac728b71624a2f98de13c16c73f94ba6a817d2f6fa2cd0f3e6eab11d152d3c6b57
7
- data.tar.gz: 1276f451fe91de8fce0c32f175298af4f4cce53857bc635cf41e6255abc985fe1e9ca53b8b6680c86e91d445e28d819f35789bbf94e3188c5ef1f182060d4ad0
6
+ metadata.gz: d64502974fd5beb05f28a41b81f004d1e02a3d268f0285168502f0c9bd5cd88eb24ef5cbd064c3e2066aacd758e44767e1f1965740a6c3edad74cfd3e0f306be
7
+ data.tar.gz: 620ab3921ff0d096265ec594292240e1079052250343f14083e6427fcc1ccacffea2552c11052731c03e0f4de42dcbde2feaba7cae5c6102de6cbba315f8b19e
data/lib/hnjobs.rb CHANGED
@@ -1,33 +1,19 @@
1
- require 'open-uri'
2
1
  require 'json'
3
2
  require 'nokogiri'
3
+ require 'net/http'
4
4
  class HNJobs
5
5
  BASE_URL = "https://hacker-news.firebaseio.com/v0/"
6
6
  JOBS_URL = BASE_URL + "jobstories.json"
7
7
  def initialize
8
8
  @jobs = Array.new
9
- open(JOBS_URL){|f|
10
- f.each_line do |line|
11
- raw = line
12
- unless raw.nil?
13
- data = JSON.parse(raw)
14
- data.each do |id|
15
- job_url = BASE_URL + "item/#{id}.json"
16
- open(job_url){|d|
17
- d.each_line do |job_line|
18
- unless job_line.nil?
19
- job = JSON.parse(job_line)
20
- job["text"] = Nokogiri::HTML(job["text"]).text
21
- @jobs << job
22
- end
23
- end
24
- }
25
- end
26
- end
27
- end
28
- }
29
- end
30
- def jobs
31
- @jobs
9
+ uri = URI(JOBS_URL)
10
+ ids = JSON.parse(Net::HTTP.get(uri))
11
+ ids.each do |id|
12
+ job_uri = URI(BASE_URL + "item/#{id}.json")
13
+ job = JSON.parse(Net::HTTP.get(job_uri))
14
+ job["text"] = Nokogiri::HTML(job["text"]).text
15
+ @jobs << job
16
+ end
32
17
  end
18
+ attr_reader :jobs
33
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hnjobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hugo Di Francesco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-08 00:00:00.000000000 Z
11
+ date: 2016-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
- description: API wrapper around a publicly exposed endpoint
27
+ description: API wrapper around the Jobs endpoint of HackerNews
28
28
  email: hugo@awebots.com
29
29
  executables: []
30
30
  extensions: []