hnrb 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hnrb.rb +5 -2
- data/lib/hnrb/item.rb +14 -0
- data/lib/hnrb/user.rb +14 -0
- data/lib/hnrb/version.rb +3 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6f880cd0771dcaa30f0a92a324ce1fbbf9c3ddb
|
4
|
+
data.tar.gz: 8b72623af10876a8a06823f7d97321e036817073
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59469a46f6dcb667c221ad674fa2e8d82b33fcc72c3e12d4a1abe67dc04bf45710bb3cb1a8d8348de26e9af65a297d8997024ef94436f5a4b53256de63c396c4
|
7
|
+
data.tar.gz: c8f363d8878d877fdbbfcaec4440572b0b76a3c67e6fd82cef4f75d585b37e1ecafb837927552ff92c07be7f0da57b5f121c8befa313db9908d72a26c54cd0b4
|
data/lib/hnrb.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'net/http'
|
3
3
|
|
4
|
+
require 'hnrb/user'
|
5
|
+
require 'hnrb/item'
|
6
|
+
|
4
7
|
class HNrb
|
5
8
|
|
6
9
|
BASE_URL = "https://hacker-news.firebaseio.com/v0/"
|
@@ -23,11 +26,11 @@ class HNrb
|
|
23
26
|
end
|
24
27
|
|
25
28
|
def get_item(item_id)
|
26
|
-
send_get_request_to BASE_URL + "item/#{item_id}.json"
|
29
|
+
Item.new(send_get_request_to BASE_URL + "item/#{item_id}.json")
|
27
30
|
end
|
28
31
|
|
29
32
|
def get_user(username)
|
30
|
-
send_get_request_to BASE_URL + "user/#{username}.json"
|
33
|
+
User.new(send_get_request_to BASE_URL + "user/#{username}.json")
|
31
34
|
end
|
32
35
|
|
33
36
|
def get_top_stories
|
data/lib/hnrb/item.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
class Item
|
2
|
+
|
3
|
+
PROPERTIES = [:id, :deleted, :type, :by, :time, :text, :dead, :parent, :kids, :url, :score, :title, :parts]
|
4
|
+
PROPERTIES.each do |p|
|
5
|
+
attr_accessor p
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(attributes = {})
|
9
|
+
attributes.each do |k, v|
|
10
|
+
self.send("#{k.to_sym}=", v) if PROPERTIES.member? k.to_sym
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
data/lib/hnrb/user.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
class User
|
2
|
+
|
3
|
+
PROPERTIES = [:id, :delay, :created, :karma, :about, :submitted]
|
4
|
+
PROPERTIES.each do |p|
|
5
|
+
attr_accessor p
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(attributes = {})
|
9
|
+
attributes.each do |k, v|
|
10
|
+
self.send("#{k.to_sym}=", v) if PROPERTIES.member? k.to_sym
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
data/lib/hnrb/version.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hnrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jingwen Chen
|
@@ -18,6 +18,9 @@ extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- lib/hnrb.rb
|
21
|
+
- lib/hnrb/item.rb
|
22
|
+
- lib/hnrb/user.rb
|
23
|
+
- lib/hnrb/version.rb
|
21
24
|
homepage: http://rubygems.org/gems/hnrb
|
22
25
|
licenses:
|
23
26
|
- MIT
|