hnjobs 0.0.1 → 0.0.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.
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: []