Skip to content

Commit e46faaa

Browse files
uetchyoame
authored andcommitted
Add new command: qiita my
1 parent 1355c81 commit e46faaa

File tree

4 files changed

+103
-22
lines changed

4 files changed

+103
-22
lines changed

Qiita.alfredworkflow

21.3 KB
Binary file not shown.

commands/my.rb

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# encoding: utf-8
2+
require 'time'
3+
4+
QUERY = ARGV[0].to_s.strip
5+
6+
require_relative "../lib/qiita"
7+
8+
begin
9+
config = Qiita::Config.new
10+
rescue Qiita::FileMissingError
11+
config.save
12+
end
13+
14+
unless config.token
15+
Qiita::Alfred.message "RUN: 'qiita setup' command first"
16+
exit
17+
end
18+
19+
data = Qiita::API.items(:token => config.token)
20+
data.select!{|a| a['title'].scan(QUERY).size > 0 } if QUERY
21+
22+
results = []
23+
data.each do |q|
24+
subtitle = q['stock_count'].to_s + " Stocks, " + q['comment_count'].to_s + " Comments, " + Time.parse(q['created_at']).strftime("%Y/%m/%d %H:%M:%S") + " Created"
25+
26+
item = {
27+
:uid => nil,
28+
:arg => q['url'],
29+
:title => q['title'],
30+
:subtitle => subtitle,
31+
:icon => 'icon.png'
32+
}
33+
34+
results << item
35+
end
36+
37+
puts Qiita::Alfred.to_alfred(results)

info.plist

Lines changed: 61 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@
5050
<string></string>
5151
</dict>
5252
</array>
53+
<key>D74C6310-657D-4DDD-99E3-1B8F97A8EA49</key>
54+
<array>
55+
<dict>
56+
<key>destinationuid</key>
57+
<string>69080009-C277-4E69-B3E0-4E7122F480FD</string>
58+
<key>modifiers</key>
59+
<integer>0</integer>
60+
<key>modifiersubtext</key>
61+
<string></string>
62+
</dict>
63+
</array>
5364
</dict>
5465
<key>createdby</key>
5566
<string>o_ame</string>
@@ -64,17 +75,25 @@
6475
<dict>
6576
<key>config</key>
6677
<dict>
67-
<key>escaping</key>
68-
<integer>0</integer>
69-
<key>script</key>
70-
<string>ruby ./commands/setup.rb "{query}"</string>
71-
<key>type</key>
78+
<key>lastpathcomponent</key>
79+
<false/>
80+
<key>onlyshowifquerypopulated</key>
81+
<true/>
82+
<key>output</key>
7283
<integer>0</integer>
84+
<key>removeextension</key>
85+
<false/>
86+
<key>sticky</key>
87+
<false/>
88+
<key>text</key>
89+
<string>{query}</string>
90+
<key>title</key>
91+
<string>Qiita</string>
7392
</dict>
7493
<key>type</key>
75-
<string>alfred.workflow.action.script</string>
94+
<string>alfred.workflow.output.notification</string>
7695
<key>uid</key>
77-
<string>2310843B-B161-45E3-85DC-2E6012E5F32B</string>
96+
<string>CE609731-0A54-412A-A280-60EF147C38BD</string>
7897
<key>version</key>
7998
<integer>0</integer>
8099
</dict>
@@ -102,25 +121,17 @@
102121
<dict>
103122
<key>config</key>
104123
<dict>
105-
<key>lastpathcomponent</key>
106-
<false/>
107-
<key>onlyshowifquerypopulated</key>
108-
<true/>
109-
<key>output</key>
124+
<key>escaping</key>
125+
<integer>0</integer>
126+
<key>script</key>
127+
<string>ruby ./commands/setup.rb "{query}"</string>
128+
<key>type</key>
110129
<integer>0</integer>
111-
<key>removeextension</key>
112-
<false/>
113-
<key>sticky</key>
114-
<false/>
115-
<key>text</key>
116-
<string>{query}</string>
117-
<key>title</key>
118-
<string>Qiita</string>
119130
</dict>
120131
<key>type</key>
121-
<string>alfred.workflow.output.notification</string>
132+
<string>alfred.workflow.action.script</string>
122133
<key>uid</key>
123-
<string>CE609731-0A54-412A-A280-60EF147C38BD</string>
134+
<string>2310843B-B161-45E3-85DC-2E6012E5F32B</string>
124135
<key>version</key>
125136
<integer>0</integer>
126137
</dict>
@@ -199,6 +210,29 @@
199210
<key>version</key>
200211
<integer>0</integer>
201212
</dict>
213+
<dict>
214+
<key>config</key>
215+
<dict>
216+
<key>argumenttype</key>
217+
<integer>1</integer>
218+
<key>escaping</key>
219+
<integer>0</integer>
220+
<key>keyword</key>
221+
<string>qiita my</string>
222+
<key>script</key>
223+
<string>ruby ./commands/my.rb "{query}"</string>
224+
<key>type</key>
225+
<integer>0</integer>
226+
<key>withspace</key>
227+
<true/>
228+
</dict>
229+
<key>type</key>
230+
<string>alfred.workflow.input.scriptfilter</string>
231+
<key>uid</key>
232+
<string>D74C6310-657D-4DDD-99E3-1B8F97A8EA49</string>
233+
<key>version</key>
234+
<integer>0</integer>
235+
</dict>
202236
</array>
203237
<key>readme</key>
204238
<string></string>
@@ -234,6 +268,11 @@
234268
<key>ypos</key>
235269
<real>40</real>
236270
</dict>
271+
<key>D74C6310-657D-4DDD-99E3-1B8F97A8EA49</key>
272+
<dict>
273+
<key>ypos</key>
274+
<real>410</real>
275+
</dict>
237276
</dict>
238277
<key>webaddress</key>
239278
<string>http://randompaper.co</string>

lib/qiita/api.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ def self.search(query, args={})
2020
fetch uri, {:q => query}.update(args)
2121
end
2222

23+
def self.items(args={})
24+
uri = URI.join(ENDPOINT, 'items')
25+
fetch uri, args
26+
end
27+
2328
def self.fetch(uri, params={}, *args)
2429
defaults = { method: :get, limit: 10 }
2530
opt = args.last.kind_of?(Hash)? defaults.update(args.pop) : defaults

0 commit comments

Comments
 (0)