ditz-str 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.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +24 -0
- data/LICENSE +674 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/README.txt +143 -0
- data/Rakefile +55 -0
- data/VERSION +1 -0
- data/bin/ditz-str +189 -0
- data/bugs/issue-02615b8c3dd0382c92f350ce2158ecfe94d11ef8.yaml +22 -0
- data/bugs/issue-06a3bbf35a60c4da2d8ea0fdc86164263126d6b2.yaml +22 -0
- data/bugs/issue-0c00c1d7fdffaad304e62d79d9b3d5e92547055b.yaml +38 -0
- data/bugs/issue-20dad4b4533d6d76d496fe5970098f1eb8efd561.yaml +26 -0
- data/bugs/issue-360ae6529dbc66358fde6b532cbea79ece37a670.yaml +22 -0
- data/bugs/issue-5177d61bf3c2783f71ef63e6e2c5e720247ef699.yaml +18 -0
- data/bugs/issue-695b564c210da1965a2bb38eef782178aead6952.yaml +26 -0
- data/bugs/issue-7d0ce6429a9fb5fa09ce3376a8921a5ecb7ecfe5.yaml +34 -0
- data/bugs/issue-a04462fa22ab6e1b02cfdd052d1f6c6f491f08f5.yaml +22 -0
- data/bugs/issue-bca54ca5107eabc3b281701041cc36ea0641cbdd.yaml +26 -0
- data/bugs/issue-d0c7d04b014d705c5fd865e4d487b5e5b6983c33.yaml +26 -0
- data/bugs/issue-f94b879842aa0274aa74fc2833252d4a06ec65cc.yaml +22 -0
- data/bugs/project.yaml +18 -0
- data/data/ditz-str/blue-check.png +0 -0
- data/data/ditz-str/close.rhtml +39 -0
- data/data/ditz-str/component.rhtml +38 -0
- data/data/ditz-str/dropdown.css +11 -0
- data/data/ditz-str/dropdown.js +58 -0
- data/data/ditz-str/edit_issue.rhtml +53 -0
- data/data/ditz-str/green-bar.png +0 -0
- data/data/ditz-str/green-check.png +0 -0
- data/data/ditz-str/header.gif +0 -0
- data/data/ditz-str/header_over.gif +0 -0
- data/data/ditz-str/index.rhtml +148 -0
- data/data/ditz-str/issue.rhtml +152 -0
- data/data/ditz-str/issue_table.rhtml +28 -0
- data/data/ditz-str/new_component.rhtml +28 -0
- data/data/ditz-str/new_issue.rhtml +57 -0
- data/data/ditz-str/new_release.rhtml +29 -0
- data/data/ditz-str/plugins/git-sync.rb +83 -0
- data/data/ditz-str/plugins/git.rb +153 -0
- data/data/ditz-str/plugins/issue-claiming.rb +174 -0
- data/data/ditz-str/red-check.png +0 -0
- data/data/ditz-str/release.rhtml +111 -0
- data/data/ditz-str/style.css +236 -0
- data/data/ditz-str/unassigned.rhtml +37 -0
- data/data/ditz-str/yellow-bar.png +0 -0
- data/ditz-str.gemspec +121 -0
- data/lib/ditzstr/brick.rb +251 -0
- data/lib/ditzstr/file-storage.rb +54 -0
- data/lib/ditzstr/hook.rb +67 -0
- data/lib/ditzstr/html.rb +104 -0
- data/lib/ditzstr/lowline.rb +201 -0
- data/lib/ditzstr/model-objects.rb +346 -0
- data/lib/ditzstr/model.rb +265 -0
- data/lib/ditzstr/operator.rb +593 -0
- data/lib/ditzstr/trollop.rb +614 -0
- data/lib/ditzstr/util.rb +61 -0
- data/lib/ditzstr/view.rb +16 -0
- data/lib/ditzstr/views.rb +157 -0
- data/lib/ditzstr.rb +69 -0
- data/man/ditz.1 +38 -0
- data/test/helper.rb +18 -0
- data/test/test_ditz-str.rb +7 -0
- metadata +219 -0
@@ -0,0 +1,157 @@
|
|
1
|
+
require 'ditzstr/view'
|
2
|
+
require 'ditzstr/html'
|
3
|
+
|
4
|
+
module DitzStr
|
5
|
+
|
6
|
+
class ScreenView < View
|
7
|
+
def initialize project, config, device=$stdout
|
8
|
+
@device = device
|
9
|
+
@config = config
|
10
|
+
end
|
11
|
+
|
12
|
+
def format_log_events events
|
13
|
+
return "none" if events.empty?
|
14
|
+
events.reverse.map do |time, who, what, comment|
|
15
|
+
"- #{what} (#{who.shortened_email}, #{time.ago} ago)" +
|
16
|
+
(comment =~ /\S/ ? "\n" + comment.gsub(/^/, " > ") : "")
|
17
|
+
end.join("\n")
|
18
|
+
end
|
19
|
+
private :format_log_events
|
20
|
+
|
21
|
+
def render_issue issue
|
22
|
+
status = case issue.status
|
23
|
+
when :closed
|
24
|
+
"#{issue.status_string}: #{issue.disposition_string}"
|
25
|
+
else
|
26
|
+
issue.status_string
|
27
|
+
end
|
28
|
+
desc = if issue.desc.size < 80 - "Description: ".length
|
29
|
+
issue.desc
|
30
|
+
else
|
31
|
+
"\n" + issue.desc.gsub(/^/, " ") + "\n"
|
32
|
+
end
|
33
|
+
@device.puts <<EOS
|
34
|
+
#{"Issue #{issue.name}".underline}
|
35
|
+
Title: #{issue.title}
|
36
|
+
Description: #{desc}
|
37
|
+
Type: #{issue.type}
|
38
|
+
Status: #{status}
|
39
|
+
Creator: #{issue.reporter}
|
40
|
+
Age: #{issue.creation_time.ago}
|
41
|
+
Release: #{issue.release}
|
42
|
+
References: #{issue.references.listify " "}
|
43
|
+
Identifier: #{issue.id}
|
44
|
+
EOS
|
45
|
+
|
46
|
+
self.class.view_additions_for(:issue_summary).each { |b| @device.print(b[issue, @config] || next) }
|
47
|
+
puts
|
48
|
+
self.class.view_additions_for(:issue_details).each { |b| @device.print(b[issue, @config] || next) }
|
49
|
+
|
50
|
+
@device.puts <<EOS
|
51
|
+
Event log:
|
52
|
+
#{format_log_events issue.log_events}
|
53
|
+
EOS
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
class HtmlView < View
|
58
|
+
SUPPORT_FILES = %w(style.css blue-check.png red-check.png green-check.png green-bar.png yellow-bar.png)
|
59
|
+
|
60
|
+
def initialize project, config, dir
|
61
|
+
@project = project
|
62
|
+
@config = config
|
63
|
+
@dir = dir
|
64
|
+
@template_dir = File.dirname DitzStr::find_ditz_file("index.rhtml")
|
65
|
+
end
|
66
|
+
|
67
|
+
def generate_issue_html_str links, issue, brickargs={}
|
68
|
+
|
69
|
+
extra_summary = self.class.view_additions_for(:issue_summary).map { |b| b[issue, @config] }.compact
|
70
|
+
extra_details = self.class.view_additions_for(:issue_details).map { |b| b[issue, @config] }.compact
|
71
|
+
|
72
|
+
erb = ErbHtml.new(@template_dir, links, :issue => issue,
|
73
|
+
:release => (issue.release ? @project.release_for(issue.release) : nil),
|
74
|
+
:component => @project.component_for(issue.component),
|
75
|
+
:project => @project,:commands=>{},:brickargs=>brickargs)
|
76
|
+
|
77
|
+
extra_summary_html = extra_summary.map { |string, extra_binding| erb.render_string string, extra_binding }.join
|
78
|
+
extra_details_html = extra_details.map { |string, extra_binding| erb.render_string string, extra_binding }.join
|
79
|
+
|
80
|
+
erb.render_template("issue", { :extra_summary_html => extra_summary_html, :extra_details_html => extra_details_html })
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
def generate_release_html_str links, r, brickargs={}
|
85
|
+
ErbHtml.new(@template_dir, links, :release => r,
|
86
|
+
:issues => @project.issues_for_release(r), :project => @project, :brickargs=>brickargs).
|
87
|
+
render_template("release")
|
88
|
+
end
|
89
|
+
|
90
|
+
def generate_index_html_str links, brickargs={}
|
91
|
+
past_rels, upcoming_rels = @project.releases.partition { |r| r.released? }
|
92
|
+
ErbHtml.new(@template_dir, links, :project => @project,
|
93
|
+
:past_releases => past_rels, :upcoming_releases => upcoming_rels,
|
94
|
+
:components => @project.components, :brickargs=>brickargs).
|
95
|
+
render_template("index")
|
96
|
+
end
|
97
|
+
|
98
|
+
def generate_unassigned_html_str links, brickargs={}
|
99
|
+
ErbHtml.new(@template_dir, links, :brickargs=>brickargs,
|
100
|
+
:issues => @project.unassigned_issues, :project => @project).
|
101
|
+
render_template("unassigned")
|
102
|
+
end
|
103
|
+
|
104
|
+
def generate_component_html_str links, c, brickargs={}
|
105
|
+
ErbHtml.new(@template_dir, links, :component => c, :brickargs=>brickargs,
|
106
|
+
:issues => @project.issues_for_component(c), :project => @project).
|
107
|
+
render_template("component")
|
108
|
+
end
|
109
|
+
|
110
|
+
def generate_links
|
111
|
+
## build up links
|
112
|
+
links = {}
|
113
|
+
@project.releases.each { |r| links[r] = "release-#{r.name}.html" }
|
114
|
+
@project.issues.each { |i| links[i] = "issue-#{i.id}.html" }
|
115
|
+
@project.components.each { |c| links[c] = "component-#{c.name}.html" }
|
116
|
+
links["unassigned"] = "unassigned.html" # special case: unassigned
|
117
|
+
links["index"] = "index.html" # special case: index
|
118
|
+
|
119
|
+
links
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
def render_all
|
124
|
+
Dir.mkdir @dir unless File.exists? @dir
|
125
|
+
SUPPORT_FILES.each { |f| FileUtils.cp File.join(@template_dir, f), @dir }
|
126
|
+
|
127
|
+
links = generate_links
|
128
|
+
|
129
|
+
@project.issues.each do |issue|
|
130
|
+
fn = File.join @dir, links[issue]
|
131
|
+
File.open(fn, "w") { |f| f.puts generate_issue_html_str links, issue}
|
132
|
+
end
|
133
|
+
|
134
|
+
@project.releases.each do |r|
|
135
|
+
fn = File.join @dir, links[r]
|
136
|
+
File.open(fn, "w") { |f| f.puts generate_release_html_str links, r}
|
137
|
+
end
|
138
|
+
|
139
|
+
@project.components.each do |c|
|
140
|
+
fn = File.join @dir, links[c]
|
141
|
+
File.open(fn, "w") { |f| f.puts generate_component_html_str links, c}
|
142
|
+
end
|
143
|
+
|
144
|
+
fn = File.join @dir, links["unassigned"]
|
145
|
+
File.open(fn, "w") do |f|
|
146
|
+
f.puts generate_unassigned_html_str links
|
147
|
+
end
|
148
|
+
|
149
|
+
fn = File.join @dir, links["index"]
|
150
|
+
File.open(fn, "w") do |f|
|
151
|
+
f.puts generate_index_html_str links
|
152
|
+
end
|
153
|
+
puts "Local generated URL: file://#{File.expand_path(fn)}"
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
data/lib/ditzstr.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
module DitzStr
|
2
|
+
|
3
|
+
VERSION = "0.5"
|
4
|
+
|
5
|
+
def debug s
|
6
|
+
puts "# #{s}" if $verbose
|
7
|
+
end
|
8
|
+
module_function :debug
|
9
|
+
|
10
|
+
def self.has_readline?
|
11
|
+
@has_readline
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.has_readline= val
|
15
|
+
@has_readline = val
|
16
|
+
end
|
17
|
+
|
18
|
+
begin
|
19
|
+
DitzStr::has_readline = false
|
20
|
+
require 'readline'
|
21
|
+
DitzStr::has_readline = true
|
22
|
+
rescue LoadError
|
23
|
+
# do nothing
|
24
|
+
end
|
25
|
+
|
26
|
+
def home_dir
|
27
|
+
@home ||=
|
28
|
+
ENV["HOME"] || (ENV["HOMEDRIVE"] && ENV["HOMEPATH"] ? ENV["HOMEDRIVE"] + ENV["HOMEPATH"] : nil) || begin
|
29
|
+
$stderr.puts "warning: can't determine home directory, using '.'"
|
30
|
+
"."
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
## helper for recursive search
|
35
|
+
def find_dir_containing target, start=Pathname.new(".")
|
36
|
+
return start if (start + target).exist?
|
37
|
+
unless start.parent.realpath == start.realpath
|
38
|
+
find_dir_containing target, start.parent
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
## my brilliant solution to the 'gem datadir' problem
|
43
|
+
def find_ditz_file fn
|
44
|
+
#dir = $:.find { |p| File.exist? File.expand_path(File.join(p, fn)) }
|
45
|
+
dir = File.exist? File.expand_path(File.join(Gem.datadir("ditz-str"), fn))
|
46
|
+
raise "can't find #{fn} in any load path (tried #{File.join(Gem.datadir("ditz-str"),fn)}" unless dir
|
47
|
+
File.expand_path File.join(Gem.datadir("ditz-str"), fn)
|
48
|
+
end
|
49
|
+
|
50
|
+
def load_plugins fn
|
51
|
+
DitzStr::debug "loading plugins from #{fn}"
|
52
|
+
plugins = YAML::load_file $opts[:plugins_file]
|
53
|
+
plugins.each do |p|
|
54
|
+
fn = DitzStr::find_ditz_file "plugins/#{p}.rb"
|
55
|
+
DitzStr::debug "loading plugin #{p.inspect} from #{fn}"
|
56
|
+
require File.expand_path(fn)
|
57
|
+
end
|
58
|
+
plugins
|
59
|
+
end
|
60
|
+
|
61
|
+
module_function :home_dir, :find_dir_containing, :find_ditz_file, :load_plugins
|
62
|
+
end
|
63
|
+
|
64
|
+
require 'ditzstr/model-objects'
|
65
|
+
require 'ditzstr/operator'
|
66
|
+
require 'ditzstr/views'
|
67
|
+
require 'ditzstr/hook'
|
68
|
+
require 'ditzstr/file-storage'
|
69
|
+
require 'ditzstr/brick'
|
data/man/ditz.1
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
.TH "ditz" "1" "0.5" "" ""
|
2
|
+
.SH "NAME"
|
3
|
+
ditz \- simple, light\-weight distributed issue tracker
|
4
|
+
.SH "SYNOPSIS"
|
5
|
+
\fBditz\fR [ \fIoptions\fR ] \fIcommand\fR [ \fIarguments\fR ]
|
6
|
+
|
7
|
+
To list all available commands, use \fBditz help\fR. To get help for a specific command, use \fBditz help
|
8
|
+
command\fR.
|
9
|
+
.SH "DESCRIPTION"
|
10
|
+
Ditz is a simple, light\-weight distributed issue tracker designed to work with
|
11
|
+
distributed version control systems like darcs and git. Ditz maintains an issue
|
12
|
+
database directory on disk, with files written in a line\-based and human\-
|
13
|
+
editable format. This directory is kept under version control alongside
|
14
|
+
project code. Changes in issue state is handled by version control like code
|
15
|
+
change: included as part of a commit, merged with changes from other
|
16
|
+
developers, conflict\-resolved in the standard manner, etc.
|
17
|
+
|
18
|
+
Ditz provides a simple, console\-based interface for creating and updating the
|
19
|
+
issue database files, and some rudimentary HTML generation capabilities for
|
20
|
+
producing world\-readable status pages. It offers no central public method of
|
21
|
+
bug submission.
|
22
|
+
.SH "AUTHOR"
|
23
|
+
ditz was written by William Morgan <\fIwmorgan\-ditz@masanjin.net\fR>.
|
24
|
+
|
25
|
+
This manpage was written for the Debian package of ditz by Christian Garbs
|
26
|
+
<\fIdebian@cgarbs.de\fR>.
|
27
|
+
.SH "LICENSE"
|
28
|
+
Copyright (c) 2008 William Morgan.
|
29
|
+
|
30
|
+
This program is free software: you can redistribute it and/or modify
|
31
|
+
it under the terms of the GNU General Public License as published by
|
32
|
+
the Free Software Foundation, either version 3 of the License, or
|
33
|
+
(at your option) any later version.
|
34
|
+
|
35
|
+
This program is distributed in the hope that it will be useful,
|
36
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
37
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
38
|
+
GNU General Public License for more details.
|
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'ditz-str'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,219 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ditz-str
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Nils F. Sandell
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-12-03 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
|
+
type: :development
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
version_requirements: *id001
|
33
|
+
name: shoulda
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
prerelease: false
|
36
|
+
type: :development
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 23
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 0
|
46
|
+
- 0
|
47
|
+
version: 1.0.0
|
48
|
+
version_requirements: *id002
|
49
|
+
name: bundler
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
prerelease: false
|
52
|
+
type: :development
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ~>
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 7
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 6
|
62
|
+
- 4
|
63
|
+
version: 1.6.4
|
64
|
+
version_requirements: *id003
|
65
|
+
name: jeweler
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 3
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
version: "0"
|
78
|
+
version_requirements: *id004
|
79
|
+
name: rcov
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
prerelease: false
|
82
|
+
type: :development
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
90
|
+
- 0
|
91
|
+
version: "0"
|
92
|
+
version_requirements: *id005
|
93
|
+
name: rdoc
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
prerelease: false
|
96
|
+
type: :runtime
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 29
|
103
|
+
segments:
|
104
|
+
- 1
|
105
|
+
- 9
|
106
|
+
version: "1.9"
|
107
|
+
version_requirements: *id006
|
108
|
+
name: trollop
|
109
|
+
description: Modification of the ditz issue tracking originally created by William Morgan. First new feature is a portable web server for interacting with the issue system.
|
110
|
+
email: nils.sandell@systemstechnologyresearch.com
|
111
|
+
executables:
|
112
|
+
- ditz-str
|
113
|
+
extensions: []
|
114
|
+
|
115
|
+
extra_rdoc_files:
|
116
|
+
- LICENSE
|
117
|
+
- LICENSE.txt
|
118
|
+
- README.rdoc
|
119
|
+
- README.txt
|
120
|
+
files:
|
121
|
+
- .document
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
124
|
+
- LICENSE
|
125
|
+
- LICENSE.txt
|
126
|
+
- README.rdoc
|
127
|
+
- README.txt
|
128
|
+
- Rakefile
|
129
|
+
- VERSION
|
130
|
+
- bin/ditz-str
|
131
|
+
- bugs/issue-02615b8c3dd0382c92f350ce2158ecfe94d11ef8.yaml
|
132
|
+
- bugs/issue-06a3bbf35a60c4da2d8ea0fdc86164263126d6b2.yaml
|
133
|
+
- bugs/issue-0c00c1d7fdffaad304e62d79d9b3d5e92547055b.yaml
|
134
|
+
- bugs/issue-20dad4b4533d6d76d496fe5970098f1eb8efd561.yaml
|
135
|
+
- bugs/issue-360ae6529dbc66358fde6b532cbea79ece37a670.yaml
|
136
|
+
- bugs/issue-5177d61bf3c2783f71ef63e6e2c5e720247ef699.yaml
|
137
|
+
- bugs/issue-695b564c210da1965a2bb38eef782178aead6952.yaml
|
138
|
+
- bugs/issue-7d0ce6429a9fb5fa09ce3376a8921a5ecb7ecfe5.yaml
|
139
|
+
- bugs/issue-a04462fa22ab6e1b02cfdd052d1f6c6f491f08f5.yaml
|
140
|
+
- bugs/issue-bca54ca5107eabc3b281701041cc36ea0641cbdd.yaml
|
141
|
+
- bugs/issue-d0c7d04b014d705c5fd865e4d487b5e5b6983c33.yaml
|
142
|
+
- bugs/issue-f94b879842aa0274aa74fc2833252d4a06ec65cc.yaml
|
143
|
+
- bugs/project.yaml
|
144
|
+
- data/ditz-str/blue-check.png
|
145
|
+
- data/ditz-str/close.rhtml
|
146
|
+
- data/ditz-str/component.rhtml
|
147
|
+
- data/ditz-str/dropdown.css
|
148
|
+
- data/ditz-str/dropdown.js
|
149
|
+
- data/ditz-str/edit_issue.rhtml
|
150
|
+
- data/ditz-str/green-bar.png
|
151
|
+
- data/ditz-str/green-check.png
|
152
|
+
- data/ditz-str/header.gif
|
153
|
+
- data/ditz-str/header_over.gif
|
154
|
+
- data/ditz-str/index.rhtml
|
155
|
+
- data/ditz-str/issue.rhtml
|
156
|
+
- data/ditz-str/issue_table.rhtml
|
157
|
+
- data/ditz-str/new_component.rhtml
|
158
|
+
- data/ditz-str/new_issue.rhtml
|
159
|
+
- data/ditz-str/new_release.rhtml
|
160
|
+
- data/ditz-str/plugins/git-sync.rb
|
161
|
+
- data/ditz-str/plugins/git.rb
|
162
|
+
- data/ditz-str/plugins/issue-claiming.rb
|
163
|
+
- data/ditz-str/red-check.png
|
164
|
+
- data/ditz-str/release.rhtml
|
165
|
+
- data/ditz-str/style.css
|
166
|
+
- data/ditz-str/unassigned.rhtml
|
167
|
+
- data/ditz-str/yellow-bar.png
|
168
|
+
- ditz-str.gemspec
|
169
|
+
- lib/ditzstr.rb
|
170
|
+
- lib/ditzstr/brick.rb
|
171
|
+
- lib/ditzstr/file-storage.rb
|
172
|
+
- lib/ditzstr/hook.rb
|
173
|
+
- lib/ditzstr/html.rb
|
174
|
+
- lib/ditzstr/lowline.rb
|
175
|
+
- lib/ditzstr/model-objects.rb
|
176
|
+
- lib/ditzstr/model.rb
|
177
|
+
- lib/ditzstr/operator.rb
|
178
|
+
- lib/ditzstr/trollop.rb
|
179
|
+
- lib/ditzstr/util.rb
|
180
|
+
- lib/ditzstr/view.rb
|
181
|
+
- lib/ditzstr/views.rb
|
182
|
+
- man/ditz.1
|
183
|
+
- test/helper.rb
|
184
|
+
- test/test_ditz-str.rb
|
185
|
+
homepage: http://github.com/nsandell/ditz-str
|
186
|
+
licenses:
|
187
|
+
- GPL
|
188
|
+
post_install_message:
|
189
|
+
rdoc_options: []
|
190
|
+
|
191
|
+
require_paths:
|
192
|
+
- lib
|
193
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
hash: 3
|
199
|
+
segments:
|
200
|
+
- 0
|
201
|
+
version: "0"
|
202
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
hash: 3
|
208
|
+
segments:
|
209
|
+
- 0
|
210
|
+
version: "0"
|
211
|
+
requirements: []
|
212
|
+
|
213
|
+
rubyforge_project:
|
214
|
+
rubygems_version: 1.7.2
|
215
|
+
signing_key:
|
216
|
+
specification_version: 3
|
217
|
+
summary: Customized STR version of ditz issue tracking system (original by William Morgan).
|
218
|
+
test_files: []
|
219
|
+
|