hnrb 0.0.1
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 +7 -0
- data/lib/hnrb.rb +45 -0
- metadata +45 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 00a5c3041835c8c2606075b08cce72975f95d4ad
|
4
|
+
data.tar.gz: 45e2a8f625ab7a39952834c520634da09faa5919
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 067f9ddf3a50ab269db3b42b235660ca74abc3f58e221d3939151b63426e9bd8682578d25b1d9445d888ff3a359b49d7011f541b25f00ea4b4d8807483ddffd4
|
7
|
+
data.tar.gz: d28abad30432342517a175710986dacf45abdb30bf7eb70dedf3f9da87d74089e7fb7cbfcef52ce9969d96fc100a996d1b8560594748b37ad6961b6910080d83
|
data/lib/hnrb.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
class HNrb
|
5
|
+
|
6
|
+
BASE_URL = "https://hacker-news.firebaseio.com/v0/"
|
7
|
+
|
8
|
+
def fetch_json_at(url)
|
9
|
+
resp = Net::HTTP.get_response(URI.parse(url))
|
10
|
+
begin
|
11
|
+
JSON.parse(resp.body)
|
12
|
+
rescue
|
13
|
+
resp.body
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def send_get_request_to(endpoint)
|
18
|
+
begin
|
19
|
+
fetch_json_at endpoint
|
20
|
+
rescue
|
21
|
+
raise "The requested resource is not available"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_item(item_id)
|
26
|
+
send_get_request_to BASE_URL + "item/#{item_id}.json"
|
27
|
+
end
|
28
|
+
|
29
|
+
def get_user(username)
|
30
|
+
send_get_request_to BASE_URL + "user/#{username}.json"
|
31
|
+
end
|
32
|
+
|
33
|
+
def get_top_stories
|
34
|
+
send_get_request_to BASE_URL + "topstories.json"
|
35
|
+
end
|
36
|
+
|
37
|
+
def get_max_item_id
|
38
|
+
send_get_request_to BASE_URL + "maxitem.json"
|
39
|
+
end
|
40
|
+
|
41
|
+
def get_changed_items_and_profiles
|
42
|
+
send_get_request_to BASE_URL + "updates.json"
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hnrb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jingwen Chen
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: This rubygem aims to provide an easier way to fetch data from the Hacker
|
14
|
+
News API, especially if you're building ruby apps.
|
15
|
+
email: jin@crypt.sg
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/hnrb.rb
|
21
|
+
homepage: http://rubygems.org/gems/hnrb
|
22
|
+
licenses:
|
23
|
+
- MIT
|
24
|
+
metadata: {}
|
25
|
+
post_install_message:
|
26
|
+
rdoc_options: []
|
27
|
+
require_paths:
|
28
|
+
- lib
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 1.3.6
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 2.2.2
|
42
|
+
signing_key:
|
43
|
+
specification_version: 4
|
44
|
+
summary: A ruby interface for Hacker News API at Firebase.
|
45
|
+
test_files: []
|