clitasks 0.0.6 → 0.0.7
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 +4 -4
- data/Gemfile +6 -0
- data/Gemfile.lock +16 -0
- data/LICENSE +21 -0
- data/README.md +86 -0
- data/bin/task +0 -1
- data/clitasks.gemspec +27 -0
- data/examples/first_story.rb +18 -0
- data/examples/second_story.rb +22 -0
- data/lib/clitasks/link_builder.rb +1 -1
- data/lib/clitasks/version.rb +1 -1
- data/lib/clitasks.rb +2 -2
- metadata +57 -9
- data/lib/clitasks/string_ext.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00013787a9a3c911364f377a0547e73e5f658bb8
|
4
|
+
data.tar.gz: 9ee7258c4e655f8cc627f4728a91b391b66cd139
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6e6a08e04794725c48724ac4cadf5952f997520475786a646d16afd286d3e7d91b605f5c1716fa051b06bbfb2bfcdf9a4109e7b6a2f523ded8b25a88280be4d
|
7
|
+
data.tar.gz: 62c66aace63be1048f077ed67adb31001545e8bc2f73f108ae3a5488a4521eed6fd783bb33b1a2ca0b85bb445f02260a2f974b7d74c916aebc0bb84393057d48
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 Joshua Toyota
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
|
2
|
+
# CliTasks
|
3
|
+
|
4
|
+
CliTasks is a Command-Line Task/Project Manager
|
5
|
+
|
6
|
+
It is being developed with the following goals in mind:
|
7
|
+
|
8
|
+
* allow developers to view and manage tasks without breaking their workflow (leaving their terminal)
|
9
|
+
* decentralized - but can sync with a centralized master
|
10
|
+
* similar to how local-copies of git repos float around
|
11
|
+
* the list of "stories", who is working on what, and the status can follow the codebase or sync with a master repo
|
12
|
+
* clean document format - which is why I chose a custom Ruby DSL
|
13
|
+
|
14
|
+
# Usage
|
15
|
+
|
16
|
+
export PATH="./bin:$PATH"
|
17
|
+
|
18
|
+
task [stories_dir] # List stories saved in ./stories; stories_dir is optional
|
19
|
+
#> task examples
|
20
|
+
|
21
|
+
task list [stories_dir] # List stories saved in ./stories (the "list" is optional)
|
22
|
+
#> task list stories/index
|
23
|
+
|
24
|
+
task create 'update title tag on homepage to say Foo' # Create a new story with the title 'update ... Foo'
|
25
|
+
task create update title tag on homepage to say Foo # Quotes are optional if shell-safe characters are used
|
26
|
+
|
27
|
+
task edit 'queued' 'update.title' # Open stories matching all the regexps given
|
28
|
+
task edit queued update.title # Quotes are optional if shell-safe characters are used
|
29
|
+
|
30
|
+
task search queued 'update.title' # List stories matching regexps, quotes optional
|
31
|
+
task search -s queued update.title # List only the filenames of stories matching the regexps
|
32
|
+
task search --simple queued update.title # List only the filenames of stories matching the regexps
|
33
|
+
|
34
|
+
task rebuild # Rebuild the symlinks used for accessing stories via (tag|status|creator|owner)/story_name
|
35
|
+
|
36
|
+
# Example Story File:
|
37
|
+
|
38
|
+
story 'Change the Homepage title to say "Foo"' do
|
39
|
+
id 'ajsdfjsjs'
|
40
|
+
status queued # new is a reserved word
|
41
|
+
created_by :unix_superhero
|
42
|
+
assigned_to :unix_superhero, 'Foo Bar', :someone_else
|
43
|
+
tags :test, 'tag_two', :three
|
44
|
+
|
45
|
+
description <<-DESCRIPTION
|
46
|
+
Lorem ipsum, and stuff...
|
47
|
+
|
48
|
+
A long description can go here.
|
49
|
+
|
50
|
+
To Do:
|
51
|
+
* task one
|
52
|
+
* task two
|
53
|
+
DESCRIPTION
|
54
|
+
|
55
|
+
comment 'Unix Superhero', <<-COMMENT
|
56
|
+
Hai hai, sou desu ne?
|
57
|
+
COMMENT
|
58
|
+
|
59
|
+
comment 'Foo Bar', <<-COMMENT
|
60
|
+
When will this be done?
|
61
|
+
COMMENT
|
62
|
+
end
|
63
|
+
|
64
|
+
# Future Plans
|
65
|
+
|
66
|
+
* REPL-style interactive console for viewing/updating stories
|
67
|
+
* Some intuitive story navigator, list by type, open in vim, etc.
|
68
|
+
* Web-interface/hosting for non-developers
|
69
|
+
* Shell integration
|
70
|
+
* create new stories (task create 'change the title on the homepage')
|
71
|
+
* change their status (task start a2c45a)
|
72
|
+
* git/workflow integration (probably shouldn't be in the task-core)
|
73
|
+
* starting a story could create a feature branch
|
74
|
+
* finishing it, merge into master? --don't like this
|
75
|
+
* Main stories/ directory with every story in it
|
76
|
+
* rebuildable directory tree using symlinks
|
77
|
+
* assigned/josh/\*
|
78
|
+
* tag/homepage/\*
|
79
|
+
* tag/other/\*
|
80
|
+
* status/finished/\*
|
81
|
+
* Vim integration
|
82
|
+
* commands/mappings to:
|
83
|
+
* change a story's status, etc.
|
84
|
+
* create a comment
|
85
|
+
* netrw-style story navigation/organization
|
86
|
+
* who knows?
|
data/bin/task
CHANGED
data/clitasks.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path("../lib/clitasks/version", __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'clitasks'
|
5
|
+
s.summary = 'CLI Tasks'
|
6
|
+
s.description = 'File-based, command-line project manager.'
|
7
|
+
s.version = CliTasks::VERSION
|
8
|
+
s.date = '2014-04-26'
|
9
|
+
s.authors = ['Joshua "unixsuperhero" Toyota']
|
10
|
+
s.email = 'jearsh@gmail.com'
|
11
|
+
s.files = Dir['lib/**/*'] + Dir['test/**/*_test.rb'] + [
|
12
|
+
'bin/task',
|
13
|
+
'Rakefile',
|
14
|
+
]
|
15
|
+
s.files = Dir['**/*'].reject{|f|
|
16
|
+
/^(doc|stories|tmp)/.match(f)
|
17
|
+
}.keep_if{|f|
|
18
|
+
File.file?(f)
|
19
|
+
}
|
20
|
+
s.executables = ['task']
|
21
|
+
s.homepage = 'http://github.com/unixsuperhero/clitasks'
|
22
|
+
s.license = 'MIT'
|
23
|
+
|
24
|
+
s.add_runtime_dependency 'activesupport', ['~> 4.0']
|
25
|
+
s.add_development_dependency 'rake', ['~> 10.3']
|
26
|
+
s.add_development_dependency 'minitest', ['~> 5.3']
|
27
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
story 'name goes here' do
|
2
|
+
status queued
|
3
|
+
points 2
|
4
|
+
|
5
|
+
description <<-DESCRIPTION
|
6
|
+
The description for the first story goes here.
|
7
|
+
Not sure what I should put here.
|
8
|
+
DESCRIPTION
|
9
|
+
|
10
|
+
created_by :josh
|
11
|
+
assigned_to :josh
|
12
|
+
|
13
|
+
tags :one, 'two', 'three four'
|
14
|
+
|
15
|
+
comment :josh, <<-BODY.gsub(/^\s\s*/, '')
|
16
|
+
Hello world, this is a test.
|
17
|
+
BODY
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
story 'This is the second story' do
|
2
|
+
status started
|
3
|
+
points 6
|
4
|
+
created_by :josh
|
5
|
+
assigned_to :josh, :paul
|
6
|
+
tags 'hello', 'world'
|
7
|
+
description <<-DESCRIPTION
|
8
|
+
Here is the second story. Lorem ipsum, isn't this awesome?
|
9
|
+
Here is the second story. Lorem ipsum, isn't this awesome?
|
10
|
+
Here is the second story. Lorem ipsum, isn't this awesome?
|
11
|
+
Here is the second story. Lorem ipsum, isn't this awesome?
|
12
|
+
Here is the second story. Lorem ipsum, isn't this awesome?
|
13
|
+
DESCRIPTION
|
14
|
+
|
15
|
+
comment :josh, <<-BODY.gsub(/^\s\s*/, '')
|
16
|
+
this is the first comment
|
17
|
+
BODY
|
18
|
+
|
19
|
+
comment :josh, <<-BODY.gsub(/^\s\s*/, '')
|
20
|
+
this is another comment
|
21
|
+
BODY
|
22
|
+
end
|
data/lib/clitasks/version.rb
CHANGED
data/lib/clitasks.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'pathname'
|
3
|
-
require 'pp'
|
4
3
|
require 'singleton'
|
5
4
|
require 'yaml'
|
5
|
+
require 'active_support'
|
6
|
+
require 'active_support/core_ext'
|
6
7
|
|
7
|
-
require 'clitasks/string_ext'
|
8
8
|
require 'clitasks/configuration'
|
9
9
|
require 'clitasks/world'
|
10
10
|
require 'clitasks/simple_dsl'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clitasks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua "unixsuperhero" Toyota
|
@@ -9,7 +9,49 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2014-04-26 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
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.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.3'
|
13
55
|
description: File-based, command-line project manager.
|
14
56
|
email: jearsh@gmail.com
|
15
57
|
executables:
|
@@ -17,6 +59,16 @@ executables:
|
|
17
59
|
extensions: []
|
18
60
|
extra_rdoc_files: []
|
19
61
|
files:
|
62
|
+
- Gemfile
|
63
|
+
- Gemfile.lock
|
64
|
+
- LICENSE
|
65
|
+
- README.md
|
66
|
+
- Rakefile
|
67
|
+
- bin/task
|
68
|
+
- clitasks.gemspec
|
69
|
+
- examples/first_story.rb
|
70
|
+
- examples/second_story.rb
|
71
|
+
- lib/clitasks.rb
|
20
72
|
- lib/clitasks/commands.rb
|
21
73
|
- lib/clitasks/configuration.rb
|
22
74
|
- lib/clitasks/link_builder.rb
|
@@ -24,15 +76,11 @@ files:
|
|
24
76
|
- lib/clitasks/simple_dsl.rb
|
25
77
|
- lib/clitasks/story.rb
|
26
78
|
- lib/clitasks/story_reader.rb
|
27
|
-
- lib/clitasks/string_ext.rb
|
28
79
|
- lib/clitasks/version.rb
|
29
80
|
- lib/clitasks/viewer.rb
|
30
81
|
- lib/clitasks/world.rb
|
31
|
-
- lib/clitasks.rb
|
32
82
|
- test/unit/link_builder_test.rb
|
33
83
|
- test/unit/string_ext_test.rb
|
34
|
-
- bin/task
|
35
|
-
- Rakefile
|
36
84
|
homepage: http://github.com/unixsuperhero/clitasks
|
37
85
|
licenses:
|
38
86
|
- MIT
|
@@ -43,17 +91,17 @@ require_paths:
|
|
43
91
|
- lib
|
44
92
|
required_ruby_version: !ruby/object:Gem::Requirement
|
45
93
|
requirements:
|
46
|
-
- -
|
94
|
+
- - ">="
|
47
95
|
- !ruby/object:Gem::Version
|
48
96
|
version: '0'
|
49
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
98
|
requirements:
|
51
|
-
- -
|
99
|
+
- - ">="
|
52
100
|
- !ruby/object:Gem::Version
|
53
101
|
version: '0'
|
54
102
|
requirements: []
|
55
103
|
rubyforge_project:
|
56
|
-
rubygems_version: 2.
|
104
|
+
rubygems_version: 2.2.2
|
57
105
|
signing_key:
|
58
106
|
specification_version: 4
|
59
107
|
summary: CLI Tasks
|
data/lib/clitasks/string_ext.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'pp'
|
2
|
-
|
3
|
-
class String
|
4
|
-
def underscore
|
5
|
-
gsub(/(\W|_)+/, ?_)
|
6
|
-
end
|
7
|
-
|
8
|
-
def strip_chr(chrs)
|
9
|
-
gsub(%r{(^[#{chrs}]*|[#{chrs}]*$)}, '')
|
10
|
-
end
|
11
|
-
|
12
|
-
def sanitize
|
13
|
-
gsub(/\W+/, ' ')
|
14
|
-
end
|
15
|
-
|
16
|
-
def filenameify
|
17
|
-
downcase.underscore.strip_chr(?_)
|
18
|
-
end
|
19
|
-
end
|