taskmapper-cli 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/README.rdoc +94 -0
  2. data/bin/tm +184 -0
  3. data/lib/tm.rb +32 -0
  4. data/lib/tm/version.rb +3 -0
  5. data/tm.rdoc +5 -0
  6. metadata +432 -0
@@ -0,0 +1,94 @@
1
+ = tm - Command line interface for TaskMapper[http://github.com/hybridgroup/taskmapper]
2
+
3
+ This application provides an easy to use interface to interact with any TaskMapper
4
+ provider in an standard way.
5
+
6
+ = Install:
7
+
8
+ gem install tm
9
+
10
+ Also it will be include with TaskMapper so no need to install it alone.
11
+
12
+ == Use
13
+
14
+ === Authentication
15
+
16
+ tm --provider kanbanpad --authentication 'token:kdkdjdkd,username:username'
17
+
18
+ Refer to particular providers documentation to know which fields they need for authentication.
19
+ After using this mechanism for authentication is better to pass the `initconfig` command to not
20
+ be writing the credentials for each command. This will use the specified provider name as default.
21
+
22
+ === Project command
23
+
24
+ ==== List projects
25
+
26
+ Available options
27
+ * --format=pretty|csv|table (Default: pretty)
28
+ * --no-color
29
+
30
+ This is the default operation on projects. It will list all the projects for a given user.
31
+ (Default: --list=all)
32
+
33
+ tm project --list=all --format=table
34
+
35
+ http://dl.dropbox.com/u/576024/2013-03-27-173542_952x116_scrot.png
36
+
37
+ tm project --list=single --search-attribute='name:Project'
38
+
39
+ http://dl.dropbox.com/u/576024/2013-03-27-173642_842x113_scrot.png"
40
+
41
+ === Task command
42
+
43
+ ==== List tasks
44
+
45
+ Available options
46
+ * --format=pretty|csv|table (Default: pretty)
47
+ * --no-color
48
+
49
+ This is the default operation on tasks. It will list all the tasks for a given project.
50
+
51
+ Note: For the --project-attribute option you should send an attribute for the project to search,
52
+ ex. 'name:test-project'
53
+ (Default --list=all)
54
+
55
+ tm task --project-attribute='name:test-project'
56
+
57
+ http://dl.dropbox.com/u/576024/2013-04-02-164829_1099x269_scrot.png
58
+
59
+ tm task --list=first --project-attribute='name:test-project'
60
+
61
+ http://dl.dropbox.com/u/576024/2013-04-02-165558_976x133_scrot.png
62
+
63
+ tm task --list=last --project-attribute='name:test-project'
64
+
65
+ http://dl.dropbox.com/u/576024/2013-04-02-165840_1011x124_scrot.png
66
+
67
+ tm task --list=single --project-attribute='name:test-project' --search-attribute='title:test-task'
68
+
69
+ http://dl.dropbox.com/u/576024/2013-04-02-170111_950x124_scrot.png
70
+
71
+ === Comment command
72
+
73
+ ==== List comments
74
+
75
+ Available options
76
+ * --format=pretty|csv|table (Default: pretty)
77
+ * --no-color
78
+
79
+ This is the default operation on comments. It will list all the comments for a given task.
80
+
81
+ Note: This command is dependant of two other options, --project-attribute and --task-attribute.
82
+ The --project-attribute is the same as the task command, it's needed to figure out which project
83
+ the command will execute upon, the --task-attribute is needed to figure out on which particular task
84
+ the user will retrieve the comments. (ex. 'title:test-task')
85
+
86
+ tm comment --project-attribute='name:test-project' --task-attribute='title:test-task'
87
+
88
+ http://dl.dropbox.com/u/576024/2013-04-04-143242_1196x148_scrot.png
89
+
90
+ For more help
91
+
92
+ tm help
93
+ tm help <command>
94
+
data/bin/tm ADDED
@@ -0,0 +1,184 @@
1
+ #!/usr/bin/env ruby
2
+ $LOAD_PATH << File.expand_path(File.dirname(__FILE__) + '/../lib')
3
+ require 'gli'
4
+ require 'tm'
5
+
6
+ include TM
7
+
8
+ begin # XXX: Remove this begin/rescue before distributing your app
9
+ require 'tm'
10
+ rescue LoadError
11
+ STDERR.puts "In development, you need to use `bundle exec bin/tm` to run your app"
12
+ STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
13
+ STDERR.puts "Feel free to remove this message from bin/tm now"
14
+ exit 64
15
+ end
16
+
17
+ include GLI::App
18
+
19
+ output_formats = {
20
+ 'csv' => TM::Format::CSV.new,
21
+ 'pretty' => TM::Format::Pretty.new,
22
+ 'table' => TM::Format::Table.new
23
+ }
24
+
25
+ program_desc 'Command line interface for Taskmapper'
26
+ config_file File.join(ENV['HOME'], '.taskmapper.rc.yml')
27
+
28
+ version Tm::VERSION
29
+
30
+ desc 'Provider name'
31
+ arg_name "ex. kanbanpad, github, etc"
32
+ flag [:p, :provider]
33
+
34
+ desc 'Authentication for provider'
35
+ arg_name "'token:password, username:user'"
36
+ flag [:a, :authentication]
37
+
38
+ desc 'Manage iteration with projects'
39
+ arg_name 'Command for managing projects'
40
+ command :project do |c|
41
+ project_commands = {
42
+ 'all' => TM::Commands::ListAllProjects,
43
+ 'first' => TM::Commands::FirstProject,
44
+ 'last' => TM::Commands::LastProject,
45
+ 'single' => TM::Commands::SingleProject
46
+ }
47
+ c.desc 'List projects'
48
+ c.long_desc """
49
+ List projects possible arguments 'all', 'single', 'first', 'last'. Default 'all'.
50
+ The single flag needs attributes to search for a particular project
51
+ """
52
+ c.default_value 'all'
53
+ c.arg_name project_commands.keys.join("|")
54
+ c.flag [:l, :list]
55
+
56
+ c.desc 'Format of the output'
57
+ c.arg_name output_formats.keys.join("|")
58
+ c.default_value 'pretty'
59
+ c.flag :format
60
+
61
+ c.desc 'Disable color'
62
+ c.switch 'no-color'
63
+
64
+ c.desc 'Attributes for --list=single. ex "name:ProjectName"'
65
+ c.flag 'search-attribute'
66
+
67
+ c.action do |global_options, options, args|
68
+ Sickill::Rainbow.enabled = false if options[:'no-color']
69
+ formatter = output_formats[options[:format]]
70
+ command = project_commands[options[:list]]
71
+ search_attributes = options[:'search-attribute']
72
+ command.new(TM::ProviderHandler.build_handler(
73
+ global_options[:provider],
74
+ global_options[:authentication]), formatter, search_attributes).execute
75
+ end
76
+ end
77
+
78
+ desc 'Manage iteration with tickets, depends on a project name'
79
+ command :task do |c|
80
+ ticket_commands = {
81
+ 'all' => TM::Commands::ListAllTasks,
82
+ 'first' => TM::Commands::FirstTask,
83
+ 'last' => TM::Commands::LastTask,
84
+ 'single' => TM::Commands::SingleTask
85
+ }
86
+
87
+ c.desc 'Name of the project to execute tickets operations on'
88
+ c.arg_name 'name:test-project'
89
+ c.flag 'project-attribute'
90
+
91
+ c.desc 'List tasks'
92
+ c.long_desc """
93
+ List tasks possible arguments 'all', 'first', 'last', 'single'. Default 'all'.
94
+ """
95
+ c.default_value 'all'
96
+ c.arg_name ticket_commands.keys.join("|")
97
+ c.flag [:l, :list]
98
+
99
+ c.desc 'Format of the output'
100
+ c.arg_name output_formats.keys.join("|")
101
+ c.default_value 'pretty'
102
+ c.flag :format
103
+
104
+ c.desc 'Attributes for --list=single. ex "name:TaskName"'
105
+ c.flag 'search-attribute'
106
+
107
+ c.desc 'Disable color'
108
+ c.switch 'no-color'
109
+
110
+ c.action do |global_options, options, args|
111
+ Sickill::Rainbow.enabled = false if options[:'no-color']
112
+ formatter = output_formats[options[:format]]
113
+ command = ticket_commands[options[:list]]
114
+ command.new(TM::ProviderHandler.build_handler(
115
+ global_options[:provider],
116
+ global_options[:authentication]),
117
+ formatter,
118
+ options[:'project-attribute']).execute(options[:'search-attribute'])
119
+ end
120
+ end
121
+
122
+ desc 'Manage iteration with comments, depends on a project and task'
123
+ command :comment do |c|
124
+ comment_commands = {
125
+ 'all' => TM::Commands::ListAllCommentsForTask
126
+ }
127
+
128
+ c.desc 'Name of the project to execute comments operations on'
129
+ c.arg_name 'name:test-project'
130
+ c.flag 'project-attribute'
131
+
132
+ c.desc 'List tasks'
133
+ c.long_desc """
134
+ List tasks possible arguments 'all'.
135
+ """
136
+ c.default_value 'all'
137
+ c.arg_name comment_commands.keys.join("|")
138
+ c.flag [:l, :list]
139
+
140
+ c.desc 'Format of the output'
141
+ c.arg_name output_formats.keys.join("|")
142
+ c.default_value 'pretty'
143
+ c.flag :format
144
+
145
+ c.desc 'Use to find the task to search for comments Ex. "name:TaskName"'
146
+ c.flag 'task-attribute'
147
+
148
+ c.desc 'Disable color'
149
+ c.switch 'no-color'
150
+
151
+ c.action do |global_options, options, args|
152
+ Sickill::Rainbow.enabled = false if options[:'no-color']
153
+ formatter = output_formats[options[:format]]
154
+ command = comment_commands[options[:list]]
155
+ command.new(TM::ProviderHandler.build_handler(
156
+ global_options[:provider],
157
+ global_options[:authentication]),
158
+ formatter,
159
+ options[:'project-attribute']).execute(options[:'task-attribute'])
160
+ end
161
+ end
162
+
163
+ pre do |global,command,options,args|
164
+ # Pre logic here
165
+ # Return true to proceed; false to abort and not call the
166
+ # chosen command
167
+ # Use skips_pre before a command to skip this block
168
+ # on that command only
169
+ true
170
+ end
171
+
172
+ post do |global,command,options,args|
173
+ # Post logic here
174
+ # Use skips_post before a command to skip this
175
+ # block on that command only
176
+ end
177
+
178
+ on_error do |exception|
179
+ # Error logic here
180
+ # return false to skip default error handling
181
+ true
182
+ end
183
+
184
+ exit run(ARGV)
@@ -0,0 +1,32 @@
1
+ require 'tm/version.rb'
2
+
3
+ require 'tm/string_extensions'
4
+
5
+ # Taskmapper provider handler
6
+ require 'tm/provider_handler'
7
+
8
+ # Commands
9
+ require 'tm/commands/command'
10
+ require 'tm/commands/list_all_projects'
11
+ require 'tm/commands/first_project'
12
+ require 'tm/commands/last_project'
13
+ require 'tm/commands/single_project'
14
+ require 'tm/commands/list_all_tasks'
15
+ require 'tm/commands/first_task'
16
+ require 'tm/commands/last_task'
17
+ require 'tm/commands/single_task'
18
+
19
+ # Formatters
20
+ require 'tm/commands/list_all_comments_for_task'
21
+
22
+ require 'tm/format/format'
23
+ require 'tm/format/csv'
24
+ require 'tm/format/pretty'
25
+ require 'tm/format/table'
26
+
27
+ require 'tm/exceptions'
28
+
29
+ module TM
30
+
31
+ end
32
+
@@ -0,0 +1,3 @@
1
+ module Tm
2
+ VERSION = '0.0.1'
3
+ end
data/tm.rdoc ADDED
@@ -0,0 +1,5 @@
1
+ = tm
2
+
3
+ Generate this with
4
+ tm rdoc
5
+ After you have described your command line interface
metadata ADDED
@@ -0,0 +1,432 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: taskmapper-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rafael George
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-04-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: taskmapper
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: taskmapper-kanbanpad
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: taskmapper-github
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: taskmapper-basecamp
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: taskmapper-bugherd
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: taskmapper-bugzilla
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: taskmapper-fogbugz
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: taskmapper-github
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: taskmapper-kanbanpad
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: taskmapper-lighthouse
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: taskmapper-pivotal
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: taskmapper-rally
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :runtime
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: taskmapper-redmine
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :runtime
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: taskmapper-trac
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: taskmapper-unfuddle
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :runtime
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: taskmapper-zendesk
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :runtime
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: rainbow
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :runtime
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ - !ruby/object:Gem::Dependency
287
+ name: terminal-table
288
+ requirement: !ruby/object:Gem::Requirement
289
+ none: false
290
+ requirements:
291
+ - - ! '>='
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ type: :runtime
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ! '>='
300
+ - !ruby/object:Gem::Version
301
+ version: '0'
302
+ - !ruby/object:Gem::Dependency
303
+ name: rake
304
+ requirement: !ruby/object:Gem::Requirement
305
+ none: false
306
+ requirements:
307
+ - - ! '>='
308
+ - !ruby/object:Gem::Version
309
+ version: '0'
310
+ type: :development
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ none: false
314
+ requirements:
315
+ - - ! '>='
316
+ - !ruby/object:Gem::Version
317
+ version: '0'
318
+ - !ruby/object:Gem::Dependency
319
+ name: rdoc
320
+ requirement: !ruby/object:Gem::Requirement
321
+ none: false
322
+ requirements:
323
+ - - ! '>='
324
+ - !ruby/object:Gem::Version
325
+ version: '0'
326
+ type: :development
327
+ prerelease: false
328
+ version_requirements: !ruby/object:Gem::Requirement
329
+ none: false
330
+ requirements:
331
+ - - ! '>='
332
+ - !ruby/object:Gem::Version
333
+ version: '0'
334
+ - !ruby/object:Gem::Dependency
335
+ name: rspec
336
+ requirement: !ruby/object:Gem::Requirement
337
+ none: false
338
+ requirements:
339
+ - - ! '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ none: false
346
+ requirements:
347
+ - - ! '>='
348
+ - !ruby/object:Gem::Version
349
+ version: '0'
350
+ - !ruby/object:Gem::Dependency
351
+ name: aruba
352
+ requirement: !ruby/object:Gem::Requirement
353
+ none: false
354
+ requirements:
355
+ - - ! '>='
356
+ - !ruby/object:Gem::Version
357
+ version: '0'
358
+ type: :development
359
+ prerelease: false
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ none: false
362
+ requirements:
363
+ - - ! '>='
364
+ - !ruby/object:Gem::Version
365
+ version: '0'
366
+ - !ruby/object:Gem::Dependency
367
+ name: gli
368
+ requirement: !ruby/object:Gem::Requirement
369
+ none: false
370
+ requirements:
371
+ - - '='
372
+ - !ruby/object:Gem::Version
373
+ version: 2.5.5
374
+ type: :runtime
375
+ prerelease: false
376
+ version_requirements: !ruby/object:Gem::Requirement
377
+ none: false
378
+ requirements:
379
+ - - '='
380
+ - !ruby/object:Gem::Version
381
+ version: 2.5.5
382
+ description:
383
+ email: george.rafael@gmail.com
384
+ executables:
385
+ - tm
386
+ extensions: []
387
+ extra_rdoc_files:
388
+ - README.rdoc
389
+ - tm.rdoc
390
+ files:
391
+ - bin/tm
392
+ - lib/tm/version.rb
393
+ - lib/tm.rb
394
+ - README.rdoc
395
+ - tm.rdoc
396
+ homepage: http://github.com/cored
397
+ licenses: []
398
+ post_install_message:
399
+ rdoc_options:
400
+ - --title
401
+ - tm
402
+ - --main
403
+ - README.rdoc
404
+ - -ri
405
+ require_paths:
406
+ - lib
407
+ - lib
408
+ required_ruby_version: !ruby/object:Gem::Requirement
409
+ none: false
410
+ requirements:
411
+ - - ! '>='
412
+ - !ruby/object:Gem::Version
413
+ version: '0'
414
+ segments:
415
+ - 0
416
+ hash: -3180869278577975679
417
+ required_rubygems_version: !ruby/object:Gem::Requirement
418
+ none: false
419
+ requirements:
420
+ - - ! '>='
421
+ - !ruby/object:Gem::Version
422
+ version: '0'
423
+ segments:
424
+ - 0
425
+ hash: -3180869278577975679
426
+ requirements: []
427
+ rubyforge_project:
428
+ rubygems_version: 1.8.25
429
+ signing_key:
430
+ specification_version: 3
431
+ summary: Command line interface for TaskMapper
432
+ test_files: []