cielo24-cli 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/bin/cielo24 +15 -0
- data/lib/cielo24_command.rb +5 -0
- data/lib/cielo24_command/application.rb +403 -0
- data/lib/cielo24_command/version.rb +3 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9877a4c6719897593af314d57fd47f42c1faac88
|
4
|
+
data.tar.gz: 7fd0d83c54a89858a7eaa18418ddbc5cd5ccfd52
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 39e7de0e3f2dc273289cd8b91281b2b7f1103241d38705330696f488b1e1bb860a8cbbc2b2ffcd11211f031176b12236baf8e719ccf60422b7c0c765fe209ceb
|
7
|
+
data.tar.gz: ec84ea2ccb79debcfb8535ded3bd99d07f2f04902a35ddd7a4f824fd81b49fbf60b7819db1990e20ed82fd01f3e01efec0ba1eebd28626a95850b64a9f161fcf
|
data/bin/cielo24
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'cielo24'
|
4
|
+
require_relative "../lib/cielo24_command/application"
|
5
|
+
include Cielo24Command
|
6
|
+
|
7
|
+
begin
|
8
|
+
Application.start(ARGV)
|
9
|
+
rescue ArgumentError => e
|
10
|
+
puts "ERROR: " + e.message
|
11
|
+
exit(1)
|
12
|
+
rescue Cielo24::WebError => e
|
13
|
+
puts "ERROR: " + e.message
|
14
|
+
exit(1)
|
15
|
+
end
|
@@ -0,0 +1,403 @@
|
|
1
|
+
module Cielo24Command
|
2
|
+
|
3
|
+
require 'thor'
|
4
|
+
require 'cielo24'
|
5
|
+
|
6
|
+
class Application < Thor
|
7
|
+
|
8
|
+
include Cielo24
|
9
|
+
|
10
|
+
ENV["THOR_COLUMNS"] = "300" # Otherwise descriptions/help gets truncated (...)
|
11
|
+
|
12
|
+
# ALWAYS REQUIRED:
|
13
|
+
username_option = [:u, :required => false, :desc => "cielo24 username", :type => :string, :banner => "username", :hide => true]
|
14
|
+
password_option = [:p, :required => false, :desc => "cielo24 password", :banner => "password", :hide => true]
|
15
|
+
securekey_option = [:k, :required => false, :desc => "The API Secure Key", :banner => "securekey", :hide => true]
|
16
|
+
api_token_option = [:N, :required => false, :desc => "The API token of the current session", :banner => "token", :hide => true]
|
17
|
+
server_url_option =[:s, :required => false, :desc => "cielo24 server URL [https://api.cielo24.com]", :banner => "server_url", :hide => true, :default => "http://api.cielo24.com"]
|
18
|
+
# JOB CONTROL:
|
19
|
+
job_id_option = [:j, :required => true, :desc => "Job Id", :banner => "jobid"]
|
20
|
+
media_url_option = [:m, :required => false, :desc => "Media URL", :banner => "mediaurl"]
|
21
|
+
media_file_option = [:M, :required => false, :desc => "Local media file", :banner => "filepath"]
|
22
|
+
# OTHER OPTIONS:
|
23
|
+
header_option = [:H, :required => false, :desc => "Use headers", :default => false, :type => :boolean]
|
24
|
+
fidelity_option = [:f, :required => false, :desc => "Fidelity " + Fidelity.all, :banner => "fidelity", :default => Fidelity.PREMIUM]
|
25
|
+
priority_option = [:P, :required => false, :desc => "Priority " + Priority.all, :banner => "priority", :default => Priority.STANDARD]
|
26
|
+
source_language_option = [:l, :required => false, :desc => "Source language " + Language.all, :banner => "source", :default => Language.English]
|
27
|
+
target_language_option = [:t, :required => false, :desc => "Target language " + Language.all, :banner => "target", :default => Language.English]
|
28
|
+
job_name_option = [:n, :required => false, :desc => "Job name", :banner => "jobname"]
|
29
|
+
job_options_option = [:J, :required => false, :desc => "Job option (list key:value pairs after -J)", :banner => 'key:value', :type => :hash]
|
30
|
+
caption_options_option = [:O, :required => false, :desc => "Caption/transcript options (list key:value pairs after -O)", :banner => 'key:value', :type => :hash]
|
31
|
+
turn_around_hours_option = [:T, :required => false, :desc => "Turn around hours", :banner => "hours"]
|
32
|
+
callback_url_option = [:C, :required => false, :desc => "Callback URL", :banner => "callback"]
|
33
|
+
caption_format_option = [:c, :required => true, :desc => "Caption format " + CaptionFormat.all, :banner => "format", :default => CaptionFormat.SRT]
|
34
|
+
elementlist_version_option = [:e, :required => false, :desc => "ElementList Version", :banner => "version"]
|
35
|
+
force_new_option = [:F, :required => false, :desc => "Force new key", :default => false]
|
36
|
+
new_password_option = [:d, :required => true, :desc => "New password", :banner => "newpass"]
|
37
|
+
verbose_option = [:v, :require => false, :desc => "Verbose mode", :hide => true, :default => false, :type => :boolean]
|
38
|
+
|
39
|
+
class_option *server_url_option # Server URL can be specified for any action
|
40
|
+
class_option *verbose_option # Verbose mode can be specified for any action
|
41
|
+
|
42
|
+
desc "login", 'Performs a login action'
|
43
|
+
option :u, :required => true, :desc => "cielo24 username", :type => :string, :banner => "username"
|
44
|
+
option :p, :required => false, :desc => "cielo24 password", :banner => "password"
|
45
|
+
option :k, :required => false, :desc => "The API Secure Key", :banner => "securekey"
|
46
|
+
option *header_option
|
47
|
+
def login
|
48
|
+
puts "Performing a login action..."
|
49
|
+
actions = initialize_actions
|
50
|
+
token = actions.login(options[:u], options[:p], options[:k], options[:h])
|
51
|
+
print_url()
|
52
|
+
puts "API token: " + token
|
53
|
+
end
|
54
|
+
|
55
|
+
desc "logout", 'Performs a logout action'
|
56
|
+
option :N, :required => true, :desc => "The API token of the current session", :banner => "token"
|
57
|
+
def logout
|
58
|
+
puts "Performing a logout action..."
|
59
|
+
actions = initialize_actions
|
60
|
+
actions.logout(options[:N])
|
61
|
+
print_url()
|
62
|
+
puts "Logged out successfully"
|
63
|
+
end
|
64
|
+
|
65
|
+
desc "create", 'Creates a job'
|
66
|
+
option *fidelity_option
|
67
|
+
option *priority_option
|
68
|
+
option *source_language_option
|
69
|
+
option *target_language_option
|
70
|
+
option *media_url_option
|
71
|
+
option *media_file_option
|
72
|
+
option *job_name_option
|
73
|
+
option *job_options_option
|
74
|
+
option *turn_around_hours_option
|
75
|
+
option *callback_url_option
|
76
|
+
# always required (hidden)
|
77
|
+
option *username_option
|
78
|
+
option *password_option
|
79
|
+
option *securekey_option
|
80
|
+
option *api_token_option
|
81
|
+
def create
|
82
|
+
|
83
|
+
if options[:m].nil? and options[:M].nil?
|
84
|
+
puts "Media URL or local file path mus be supplied"
|
85
|
+
exit(1)
|
86
|
+
end
|
87
|
+
|
88
|
+
puts "Creating job..."
|
89
|
+
actions = initialize_actions
|
90
|
+
token = get_token(actions)
|
91
|
+
mash = actions.create_job(token, options[:n], options[:l])
|
92
|
+
puts "Job ID: " + mash.JobId
|
93
|
+
puts "Task ID: " + mash.TaskId
|
94
|
+
print_url()
|
95
|
+
|
96
|
+
puts "Adding media..."
|
97
|
+
if !options[:m].nil?
|
98
|
+
task_id = actions.add_media_to_job_url(token, mash.JobId, options[:m])
|
99
|
+
else !options[:M].nil?
|
100
|
+
file = File.new(File.absolute_path(options[:M]), "r")
|
101
|
+
task_id = actions.add_media_to_job_file(token, mash.JobId, file)
|
102
|
+
end
|
103
|
+
puts "Task ID: " + task_id
|
104
|
+
print_url()
|
105
|
+
|
106
|
+
puts "Performing transcription..."
|
107
|
+
|
108
|
+
# Parse option hash
|
109
|
+
jobopts = PerformTranscriptionOptions.new
|
110
|
+
jobopts.populate_from_hash(options[:J])
|
111
|
+
|
112
|
+
task_id = actions.perform_transcription(token, mash.JobId, options[:f], options[:P], options[:c], options[:T], options[:t], jobopts)
|
113
|
+
puts "Task ID: " + task_id
|
114
|
+
print_url()
|
115
|
+
end
|
116
|
+
|
117
|
+
desc "delete", 'Delete a job'
|
118
|
+
option *job_id_option
|
119
|
+
# always required (hidden)
|
120
|
+
option *username_option
|
121
|
+
option *password_option
|
122
|
+
option *securekey_option
|
123
|
+
option *api_token_option
|
124
|
+
def delete
|
125
|
+
puts "Deleting job..."
|
126
|
+
actions = initialize_actions
|
127
|
+
token = get_token(actions)
|
128
|
+
task_id = actions.delete_job(token, options[:j])
|
129
|
+
puts "Task ID: " + task_id
|
130
|
+
print_url()
|
131
|
+
end
|
132
|
+
|
133
|
+
desc "authorize", 'Authorize a job'
|
134
|
+
option *job_id_option
|
135
|
+
# always required (hidden)
|
136
|
+
option *username_option
|
137
|
+
option *password_option
|
138
|
+
option *securekey_option
|
139
|
+
option *api_token_option
|
140
|
+
def authorize
|
141
|
+
puts "Authorizing job..."
|
142
|
+
actions = initialize_actions
|
143
|
+
token = get_token(actions)
|
144
|
+
actions.authorize_job(token, options[:j])
|
145
|
+
print_url()
|
146
|
+
puts "Authorized successfully"
|
147
|
+
end
|
148
|
+
|
149
|
+
desc "add_media_to_job", 'Add media to job'
|
150
|
+
option *job_id_option
|
151
|
+
option *media_url_option
|
152
|
+
option *media_file_option
|
153
|
+
# always required (hidden)
|
154
|
+
option *username_option
|
155
|
+
option *password_option
|
156
|
+
option *securekey_option
|
157
|
+
option *api_token_option
|
158
|
+
def add_media_to_job
|
159
|
+
puts "Adding media to job..."
|
160
|
+
actions = initialize_actions
|
161
|
+
token = get_token(actions)
|
162
|
+
if !options[:m].nil?
|
163
|
+
task_id = actions.add_media_to_job_url(token, options[:j], options[:m])
|
164
|
+
elsif !options[:M].nil?
|
165
|
+
file = File.new(File.absolute_path(options[:M]), "r")
|
166
|
+
task_id = actions.add_media_to_job_file(token, options[:j], file)
|
167
|
+
else
|
168
|
+
raise ArgumentError.new("Media URL or local file path must be supplied")
|
169
|
+
end
|
170
|
+
puts "Task ID: " + task_id
|
171
|
+
print_url()
|
172
|
+
end
|
173
|
+
|
174
|
+
desc "add_embedded_media_to_job", 'Add embedded media to job'
|
175
|
+
option *job_id_option
|
176
|
+
option :m, :required => true, :desc => "Media URL", :banner => "mediaurl"
|
177
|
+
# always required (hidden)
|
178
|
+
option *username_option
|
179
|
+
option *password_option
|
180
|
+
option *securekey_option
|
181
|
+
option *api_token_option
|
182
|
+
def add_embedded_media_to_job
|
183
|
+
puts "Adding embedded media to job..."
|
184
|
+
actions = initialize_actions
|
185
|
+
token = get_token(actions)
|
186
|
+
task_id = actions.add_media_to_job_embedded(token, options[:j], options[:m])
|
187
|
+
puts "Task ID: " + task_id
|
188
|
+
print_url()
|
189
|
+
end
|
190
|
+
|
191
|
+
desc "list", 'Lists current jobs'
|
192
|
+
# always required (hidden)
|
193
|
+
option *username_option
|
194
|
+
option *password_option
|
195
|
+
option *securekey_option
|
196
|
+
option *api_token_option
|
197
|
+
def list
|
198
|
+
puts "Retrieving list..."
|
199
|
+
actions = initialize_actions
|
200
|
+
token = get_token(actions)
|
201
|
+
mash = actions.get_job_list(token)
|
202
|
+
print_url()
|
203
|
+
puts JSON.pretty_generate(JSON.parse(mash.to_json(nil)))
|
204
|
+
end
|
205
|
+
|
206
|
+
desc "list_elementlists", 'List ElementLists'
|
207
|
+
option *job_id_option
|
208
|
+
# always required (hidden)
|
209
|
+
option *username_option
|
210
|
+
option *password_option
|
211
|
+
option *securekey_option
|
212
|
+
option *api_token_option
|
213
|
+
def list_elementlists
|
214
|
+
puts "Listing Element Lists..."
|
215
|
+
actions = initialize_actions
|
216
|
+
token = get_token(actions)
|
217
|
+
array = actions.get_list_of_element_lists(token, options[:j])
|
218
|
+
print_url()
|
219
|
+
puts JSON.pretty_generate(array)
|
220
|
+
end
|
221
|
+
|
222
|
+
desc "get_caption", 'Get Caption'
|
223
|
+
option *job_id_option
|
224
|
+
option *caption_format_option
|
225
|
+
option *elementlist_version_option
|
226
|
+
option *caption_options_option
|
227
|
+
# always required (hidden)
|
228
|
+
option *username_option
|
229
|
+
option *password_option
|
230
|
+
option *securekey_option
|
231
|
+
option *api_token_option
|
232
|
+
def get_caption
|
233
|
+
puts "Getting caption..."
|
234
|
+
actions = initialize_actions
|
235
|
+
token = get_token(actions)
|
236
|
+
|
237
|
+
# Parse options
|
238
|
+
caption_opts = CaptionOptions.new
|
239
|
+
caption_opts.populate_from_hash(options[:O])
|
240
|
+
|
241
|
+
caption = actions.get_caption(token, options[:j], options[:c], caption_opts)
|
242
|
+
print_url()
|
243
|
+
puts caption
|
244
|
+
end
|
245
|
+
|
246
|
+
desc "get_transcript", 'Get Transcript'
|
247
|
+
option *job_id_option
|
248
|
+
option *elementlist_version_option
|
249
|
+
option *caption_options_option
|
250
|
+
# always required (hidden)
|
251
|
+
option *username_option
|
252
|
+
option *password_option
|
253
|
+
option *securekey_option
|
254
|
+
option *api_token_option
|
255
|
+
def get_transcript
|
256
|
+
puts "Getting transcript..."
|
257
|
+
actions = initialize_actions
|
258
|
+
token = get_token(actions)
|
259
|
+
|
260
|
+
# Parse options
|
261
|
+
transcription_opts = TranscriptionOptions.new
|
262
|
+
transcription_opts.populate_from_hash(options[:O])
|
263
|
+
|
264
|
+
transcript = actions.get_transcript(token, options[:j], transcription_opts)
|
265
|
+
print_url()
|
266
|
+
puts transcript
|
267
|
+
end
|
268
|
+
|
269
|
+
desc "get_elementlist", 'Get ElementList for JobId'
|
270
|
+
option *job_id_option
|
271
|
+
# always required (hidden)
|
272
|
+
option *username_option
|
273
|
+
option *password_option
|
274
|
+
option *securekey_option
|
275
|
+
option *api_token_option
|
276
|
+
def get_elementlist
|
277
|
+
puts "Getting ELement List..."
|
278
|
+
actions = initialize_actions
|
279
|
+
token = get_token(actions)
|
280
|
+
mash = actions.get_element_list(token, options[:j])
|
281
|
+
print_url()
|
282
|
+
puts JSON.pretty_generate(JSON.parse(mash.to_json(nil)))
|
283
|
+
end
|
284
|
+
|
285
|
+
desc "get_media", 'Get Media'
|
286
|
+
option *job_id_option
|
287
|
+
# always required (hidden)
|
288
|
+
option *username_option
|
289
|
+
option *password_option
|
290
|
+
option *securekey_option
|
291
|
+
option *api_token_option
|
292
|
+
def get_media
|
293
|
+
puts "Getting media..."
|
294
|
+
actions = initialize_actions
|
295
|
+
token = get_token(actions)
|
296
|
+
url = actions.get_media(token, options[:j])
|
297
|
+
print_url()
|
298
|
+
puts url
|
299
|
+
end
|
300
|
+
|
301
|
+
desc "generate_api_key", 'Generate API Secure Key'
|
302
|
+
option *force_new_option
|
303
|
+
# always required (hidden)
|
304
|
+
option *username_option
|
305
|
+
option *password_option
|
306
|
+
option *securekey_option
|
307
|
+
option *api_token_option
|
308
|
+
def generate_api_key
|
309
|
+
puts "Generating API key..."
|
310
|
+
actions = initialize_actions
|
311
|
+
token = get_token(actions)
|
312
|
+
key = actions.generate_api_key(token, options[:u], options[:F])
|
313
|
+
print_url()
|
314
|
+
puts "API Secure Key: " + key
|
315
|
+
end
|
316
|
+
|
317
|
+
desc "remove_api_key", 'Remove API Secure Key'
|
318
|
+
option :api_key, :aliases => 'k', :required => true, :desc => "The API Key to remove"
|
319
|
+
# always required (hidden)
|
320
|
+
option *username_option
|
321
|
+
option *password_option
|
322
|
+
option *securekey_option
|
323
|
+
option *api_token_option
|
324
|
+
def remove_api_key
|
325
|
+
puts "Removing API key..."
|
326
|
+
actions = initialize_actions
|
327
|
+
token = get_token(actions)
|
328
|
+
actions.remove_api_key(token, options[:k])
|
329
|
+
print_url()
|
330
|
+
puts "The key was successfully removed."
|
331
|
+
end
|
332
|
+
|
333
|
+
desc "update_password", 'Update Password'
|
334
|
+
option *new_password_option
|
335
|
+
# always required (hidden)
|
336
|
+
option *username_option
|
337
|
+
option *password_option
|
338
|
+
option *securekey_option
|
339
|
+
option *api_token_option
|
340
|
+
def update_password
|
341
|
+
puts "Updating password..."
|
342
|
+
actions = initialize_actions
|
343
|
+
token = get_token(actions)
|
344
|
+
actions.update_password(token, options[:d])
|
345
|
+
print_url()
|
346
|
+
puts "Password was updated successfully."
|
347
|
+
end
|
348
|
+
|
349
|
+
desc "job_info", 'Get Job Info'
|
350
|
+
option *job_id_option
|
351
|
+
# always required (hidden)
|
352
|
+
option *username_option
|
353
|
+
option *password_option
|
354
|
+
option *securekey_option
|
355
|
+
option *api_token_option
|
356
|
+
def job_info
|
357
|
+
puts "Getting Job Info..."
|
358
|
+
actions = initialize_actions
|
359
|
+
token = get_token(actions)
|
360
|
+
mash = actions.get_job_info(token, options[:j])
|
361
|
+
print_url()
|
362
|
+
puts JSON.pretty_generate(JSON.parse(mash.to_json(nil)))
|
363
|
+
end
|
364
|
+
|
365
|
+
# Method override, so that an "always required" message can be printed out before everything else
|
366
|
+
def help(arg=nil, arg2=nil)
|
367
|
+
super(arg, arg2)
|
368
|
+
puts "\nAlways required options:"
|
369
|
+
puts " -u=username \# cielo24 username"
|
370
|
+
puts " [-s=serverurl] \# cielo24 server URL"
|
371
|
+
puts " \# Default: https://api.cielo24.com"
|
372
|
+
puts "\n ++Either one of the following:"
|
373
|
+
puts " --------------------------------------------"
|
374
|
+
puts " -p=password \# cielo24 password"
|
375
|
+
puts " -k=securekey \# The API Secure Key"
|
376
|
+
puts " -N=token \# The API token of the current session"
|
377
|
+
puts " --------------------------------------------"
|
378
|
+
end
|
379
|
+
|
380
|
+
no_commands{
|
381
|
+
def private_login(actions, username, password, securekey)
|
382
|
+
raise ArgumentError.new("Username was not supplied.") if username.nil?
|
383
|
+
return actions.login(username, password, securekey, true)
|
384
|
+
end
|
385
|
+
|
386
|
+
def initialize_actions
|
387
|
+
actions = Actions.new
|
388
|
+
actions.base_url = options[:s] if !options[:s].nil?
|
389
|
+
return actions
|
390
|
+
end
|
391
|
+
|
392
|
+
def get_token(actions)
|
393
|
+
return (options[:N].nil?) ? private_login(actions, options[:u], options[:p], options[:k]) : options[:N]
|
394
|
+
end
|
395
|
+
|
396
|
+
def print_url
|
397
|
+
if(options[:v])
|
398
|
+
puts WebUtils.LAST_URL
|
399
|
+
end
|
400
|
+
end
|
401
|
+
}
|
402
|
+
end
|
403
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cielo24-cli
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Evgeny Chistyakov
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cielo24
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: thor
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Command line interface that allows you to make web API calls using cielo24
|
70
|
+
gem.
|
71
|
+
email:
|
72
|
+
- support@cielo24.com
|
73
|
+
executables:
|
74
|
+
- cielo24
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- lib/cielo24_command/application.rb
|
79
|
+
- lib/cielo24_command/version.rb
|
80
|
+
- lib/cielo24_command.rb
|
81
|
+
- bin/cielo24
|
82
|
+
homepage: http://cielo24.com
|
83
|
+
licenses:
|
84
|
+
- MIT
|
85
|
+
metadata: {}
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options: []
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
requirements: []
|
101
|
+
rubyforge_project:
|
102
|
+
rubygems_version: 2.0.14
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: Command line interface to cielo24 gem.
|
106
|
+
test_files: []
|