HNsearch 1.0 → 1.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 +15 -0
- data/README.md +20 -1
- data/lib/HNsearch.rb +41 -4
- data/lib/HNsearch/version.rb +1 -1
- metadata +5 -25
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
NmEwOTFiNDUyNTc4ODc4MWQ0N2Q2YTI0OTBkYTFiOWJkMzAwM2U0Mw==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
ZmQ0MDhmZGY3MjYwNjIzNDNmNWE2OWU0OTI0MzZiZGU4MjdkNjFjZg==
|
|
7
|
+
!binary "U0hBNTEy":
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
MjJlMDdhNTM3ZjcwNzNlYThkNzIwMWVhNzNhYjE4ODQxNDgzODRjM2U4NWYw
|
|
10
|
+
NGZkMWI2N2U5Mzg0ZTI4YmNlMjhhZjkyOWNmYTEwNDg3NGY5NWY5N2UwMTM2
|
|
11
|
+
NTIxZDU0NWEzN2QwY2ZhN2ExNDkzOGFmNTUzOTJhZWE3NWIwNTY=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
MDkyZTQ4MWY3YmYxZTU0NWQyN2ZiOWM5MWIwNDA0MDdiODE5NjBjOGY2NjA5
|
|
14
|
+
MTRjOGQ5ZWQ3MmUzMTYxY2Q2OWRmNTJmZjU2MmFhZTkzOTkxZTEzZmQ4ZmEz
|
|
15
|
+
OGY3NjZkM2M1ZmRlNzJhYmUyY2QyN2RjMDAzNjlkYzY3YjA1NzE=
|
data/README.md
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
HNsearch
|
|
2
2
|
========
|
|
3
3
|
|
|
4
|
-
A Ruby Gem for searching Hacker News via your terminal
|
|
4
|
+
A Ruby Gem for searching Hacker News via your terminal.
|
|
5
|
+
|
|
6
|
+
## How to install?
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
gem install HNsearch
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## How to use?
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
HNsearch commands:
|
|
16
|
+
HNsearch help [COMMAND] # Describe available commands or one specific command
|
|
17
|
+
HNsearch items [QUERY] # returns information of queried item
|
|
18
|
+
HNsearch users [QUERY] # returns information of queried user
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Info
|
|
22
|
+
|
|
23
|
+
This is not an official [hnsearch.com](http://hnsearch.com) gem.
|
data/lib/HNsearch.rb
CHANGED
|
@@ -1,21 +1,58 @@
|
|
|
1
1
|
require "HNsearch/version"
|
|
2
2
|
require "HNsearch/HNsearch_api"
|
|
3
3
|
|
|
4
|
+
# The driver
|
|
4
5
|
module HNsearch
|
|
6
|
+
# Use this to search for users
|
|
7
|
+
|
|
8
|
+
# Example:
|
|
9
|
+
# >> HNsearch.users("aniketpant")
|
|
10
|
+
# => Returns JSON object of the result and then runs print_users
|
|
11
|
+
#
|
|
12
|
+
# Arguments:
|
|
13
|
+
# query: (String)
|
|
14
|
+
|
|
5
15
|
def self.users(query)
|
|
6
16
|
result = HNsearchAPI.new.query_users(query)
|
|
7
17
|
print_users filter(result)
|
|
8
18
|
end
|
|
9
19
|
|
|
20
|
+
# Use this to search for items
|
|
21
|
+
|
|
22
|
+
# Example:
|
|
23
|
+
# >> HNsearch.items("awesome")
|
|
24
|
+
# => Returns JSON object of the result and then runs print_items
|
|
25
|
+
#
|
|
26
|
+
# Arguments:
|
|
27
|
+
# query: (String)
|
|
28
|
+
|
|
10
29
|
def self.items(query)
|
|
11
30
|
result = HNsearchAPI.new.query_items(query)
|
|
12
31
|
print_items filter(result)
|
|
13
32
|
end
|
|
14
33
|
|
|
34
|
+
# This function fetches the results part of the JSON object
|
|
35
|
+
|
|
36
|
+
# Example:
|
|
37
|
+
# >> HNsearch.filter(some_json_object)
|
|
38
|
+
# => Returns result key-value from the JSON object
|
|
39
|
+
#
|
|
40
|
+
# Arguments:
|
|
41
|
+
# result: (JSON object)
|
|
42
|
+
|
|
15
43
|
def self.filter(result)
|
|
16
44
|
return result.fetch("results")
|
|
17
45
|
end
|
|
18
46
|
|
|
47
|
+
# This function fetches the results part of the JSON object
|
|
48
|
+
|
|
49
|
+
# Example:
|
|
50
|
+
# >> HNsearch.filter(some_json_object)
|
|
51
|
+
# => Returns result key-value from the JSON object
|
|
52
|
+
#
|
|
53
|
+
# Arguments:
|
|
54
|
+
# result: (JSON object)
|
|
55
|
+
|
|
19
56
|
def self.print_users(result)
|
|
20
57
|
result.each {
|
|
21
58
|
|e|
|
|
@@ -24,8 +61,8 @@ module HNsearch
|
|
|
24
61
|
karma = e.fetch("karma")
|
|
25
62
|
|
|
26
63
|
out = []
|
|
27
|
-
out.push "Username:
|
|
28
|
-
out.push "Karma:
|
|
64
|
+
out.push "Username: #{username}"
|
|
65
|
+
out.push "Karma: #{karma}"
|
|
29
66
|
out.push "Profile URL: https://news.ycombinator.com/user?id=#{username}"
|
|
30
67
|
|
|
31
68
|
puts out.join("\n")
|
|
@@ -42,8 +79,8 @@ module HNsearch
|
|
|
42
79
|
username = e.fetch("username")
|
|
43
80
|
|
|
44
81
|
out = []
|
|
45
|
-
out.push "Title: "
|
|
46
|
-
out.push "URL: "
|
|
82
|
+
out.push "Title: #{title}"
|
|
83
|
+
out.push "URL: #{url}"
|
|
47
84
|
out.push "Posted by: https://news.ycombinator.com/user?id=#{username} (#{username})"
|
|
48
85
|
|
|
49
86
|
puts out.join("\n")
|
data/lib/HNsearch/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: HNsearch
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 1.0.1
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Aniket Pant
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-05-
|
|
11
|
+
date: 2013-05-20 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: bundler
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ~>
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
@@ -22,7 +20,6 @@ dependencies:
|
|
|
22
20
|
type: :development
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ~>
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
@@ -30,7 +27,6 @@ dependencies:
|
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: rake
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ! '>='
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
@@ -38,7 +34,6 @@ dependencies:
|
|
|
38
34
|
type: :development
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
38
|
- - ! '>='
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
@@ -46,7 +41,6 @@ dependencies:
|
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: rspec
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
45
|
- - ! '>='
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
@@ -54,7 +48,6 @@ dependencies:
|
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
52
|
- - ! '>='
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
@@ -62,7 +55,6 @@ dependencies:
|
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: nestful
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
59
|
- - ! '>='
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
@@ -70,7 +62,6 @@ dependencies:
|
|
|
70
62
|
type: :runtime
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
66
|
- - ! '>='
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
@@ -78,7 +69,6 @@ dependencies:
|
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
70
|
name: thor
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
73
|
- - ! '>='
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
@@ -86,7 +76,6 @@ dependencies:
|
|
|
86
76
|
type: :runtime
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
80
|
- - ! '>='
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
@@ -94,7 +83,6 @@ dependencies:
|
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
84
|
name: json
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
87
|
- - ! '>='
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
@@ -102,7 +90,6 @@ dependencies:
|
|
|
102
90
|
type: :runtime
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
94
|
- - ! '>='
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
@@ -130,32 +117,25 @@ files:
|
|
|
130
117
|
homepage: ''
|
|
131
118
|
licenses:
|
|
132
119
|
- MIT
|
|
120
|
+
metadata: {}
|
|
133
121
|
post_install_message:
|
|
134
122
|
rdoc_options: []
|
|
135
123
|
require_paths:
|
|
136
124
|
- lib
|
|
137
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
|
-
none: false
|
|
139
126
|
requirements:
|
|
140
127
|
- - ! '>='
|
|
141
128
|
- !ruby/object:Gem::Version
|
|
142
129
|
version: '0'
|
|
143
|
-
segments:
|
|
144
|
-
- 0
|
|
145
|
-
hash: -4321139604156623722
|
|
146
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
|
-
none: false
|
|
148
131
|
requirements:
|
|
149
132
|
- - ! '>='
|
|
150
133
|
- !ruby/object:Gem::Version
|
|
151
134
|
version: '0'
|
|
152
|
-
segments:
|
|
153
|
-
- 0
|
|
154
|
-
hash: -4321139604156623722
|
|
155
135
|
requirements: []
|
|
156
136
|
rubyforge_project:
|
|
157
|
-
rubygems_version:
|
|
137
|
+
rubygems_version: 2.0.3
|
|
158
138
|
signing_key:
|
|
159
|
-
specification_version:
|
|
139
|
+
specification_version: 4
|
|
160
140
|
summary: HNsearch
|
|
161
141
|
test_files: []
|