rack-thor 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/rack-thor.rb +28 -0
  3. metadata +286 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 27606d4d27371980f227728b467c6e03ac6634b2
4
+ data.tar.gz: 4ed253d22952411c46e16b6539f87e0e725015de
5
+ SHA512:
6
+ metadata.gz: 74eab3b532c17e6d43f2b630bb2b21fd9f9ebf103b040e1c4d8a306c87a695ffbe77761f3c0cf52ac09471a5de40579fb7c1fa2b820b1898037747dbab4eaae1
7
+ data.tar.gz: 68d40740e49a91c7c8f58a62e0358ac05119fe071dd30a0fe16464fedcb3b71aa6733bacdb8e70194a087deee318d8035f8d73dc552a725166e2a1bb2e1a36a7
@@ -0,0 +1,28 @@
1
+ require 'hanami/router'
2
+ require 'stringio'
3
+
4
+ class RackThor
5
+ attr_reader :router
6
+
7
+ def initialize(cli)
8
+ @cli = cli
9
+ @router = Hanami::Router.new
10
+ cli.all_commands.each do |name, c|
11
+ @router.post "/#{name}", to: ->(env) do
12
+ req = Rack::Request.new(env)
13
+ begin
14
+ $stdout = StringIO.new
15
+ command = @cli.all_commands[name]
16
+ @cli.new([], req.params['options'] || {}, {
17
+ current_command: command,
18
+ command_options: command.options
19
+ }).invoke(name, req.params['args'] || [])
20
+ $stdout.close
21
+ [200, {}, [$stdout.string]]
22
+ ensure
23
+ $stdout = STDOUT
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,286 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-thor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Mior
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-02-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hanami-router
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.1.0
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.1.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.0
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: rack
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 2.0.4
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.0.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 2.0.4
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: rake
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 12.3.0
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 12.3.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 12.3.0
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 12.3.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: pry-nav
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 0.2.4
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.2.4
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.2.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: pry-rescue
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 1.4.4
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.4.0
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 1.4.4
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.4.0
113
+ - !ruby/object:Gem::Dependency
114
+ name: rack-test
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 0.6.3
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 0.6.0
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.6.3
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 0.6.0
133
+ - !ruby/object:Gem::Dependency
134
+ name: rspec
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 3.5.0
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 3.5.0
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: 3.5.0
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.5.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-core
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 3.5.4
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 3.5.0
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: 3.5.4
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 3.5.0
173
+ - !ruby/object:Gem::Dependency
174
+ name: rspec-collection_matchers
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: 1.1.2
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.1.0
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: 1.1.2
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 1.1.0
193
+ - !ruby/object:Gem::Dependency
194
+ name: scrutinizer-ocular
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: 1.0.1
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 1.0.0
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: 1.0.1
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 1.0.0
213
+ - !ruby/object:Gem::Dependency
214
+ name: simplecov
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: 0.12.0
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - "~>"
225
+ - !ruby/object:Gem::Version
226
+ version: 0.12.0
227
+ - !ruby/object:Gem::Dependency
228
+ name: thor
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ - !ruby/object:Gem::Dependency
242
+ name: yard
243
+ requirement: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - "~>"
246
+ - !ruby/object:Gem::Version
247
+ version: 0.9.4
248
+ type: :development
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - "~>"
253
+ - !ruby/object:Gem::Version
254
+ version: 0.9.4
255
+ description:
256
+ email: mmior@uwaterloo.ca
257
+ executables: []
258
+ extensions: []
259
+ extra_rdoc_files: []
260
+ files:
261
+ - lib/rack-thor.rb
262
+ homepage: https://github.com/michaelmior/rack-thor/
263
+ licenses:
264
+ - GPL-3.0
265
+ metadata: {}
266
+ post_install_message:
267
+ rdoc_options: []
268
+ require_paths:
269
+ - lib
270
+ required_ruby_version: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ version: '0'
275
+ required_rubygems_version: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ requirements: []
281
+ rubyforge_project:
282
+ rubygems_version: 2.5.1
283
+ signing_key:
284
+ specification_version: 4
285
+ summary: Schema design for NoSQL applications
286
+ test_files: []