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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fef6a177a4489e85ee964c4fbfe4601239390a46
4
- data.tar.gz: 691cb878f65b0e74bc6e4de37281825c995422bf
3
+ metadata.gz: 00013787a9a3c911364f377a0547e73e5f658bb8
4
+ data.tar.gz: 9ee7258c4e655f8cc627f4728a91b391b66cd139
5
5
  SHA512:
6
- metadata.gz: 4612c329393835fbc6d719c15abd6b705773a095c7f7e5d42f3121075be97ad4f7adccc00fa7c5cdd9674066e785a179c1b7891ead70ed335f7b5925565328c1
7
- data.tar.gz: 2ff5fbb31cb38df073e470f56914cd8824d9cca33116ce76c3ce1e4433cc6d3500afedd785c8bf5ec23c7d583985c8c6b774cd7f551654f64170475b64146d10
6
+ metadata.gz: f6e6a08e04794725c48724ac4cadf5952f997520475786a646d16afd286d3e7d91b605f5c1716fa051b06bbfb2bfcdf9a4109e7b6a2f523ded8b25a88280be4d
7
+ data.tar.gz: 62c66aace63be1048f077ed67adb31001545e8bc2f73f108ae3a5488a4521eed6fd783bb33b1a2ca0b85bb445f02260a2f974b7d74c916aebc0bb84393057d48
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ ruby '2.1.1'
4
+
5
+ gemspec
6
+
data/Gemfile.lock ADDED
@@ -0,0 +1,16 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ minitest (5.3.3)
5
+ prettyprint (0.0.1)
6
+ thor
7
+ rake (10.3.1)
8
+ thor (0.19.1)
9
+
10
+ PLATFORMS
11
+ ruby
12
+
13
+ DEPENDENCIES
14
+ minitest
15
+ prettyprint
16
+ rake
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
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'pp'
4
3
  require 'clitasks'
5
4
 
6
5
  command = ARGV.shift
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
@@ -64,7 +64,7 @@ module CliTasks
64
64
 
65
65
  def sanitize(name)
66
66
  return unless name.is_a?(String) || name.is_a?(Symbol)
67
- String(name).gsub(/(\W|_)+/, '_')
67
+ String(name).gsub(/(\W|_)+/, '_').sub(/^_*/, '').sub(/_*$/, '')
68
68
  end
69
69
 
70
70
  def link(story, dest)
@@ -1,3 +1,3 @@
1
1
  module CliTasks
2
- VERSION = '0.0.6' unless const_defined? :VERSION
2
+ VERSION = '0.0.7' unless const_defined? :VERSION
3
3
  end
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.6
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.0.3
104
+ rubygems_version: 2.2.2
57
105
  signing_key:
58
106
  specification_version: 4
59
107
  summary: CLI Tasks
@@ -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