prigner 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +12 -2
- data/doc/releases/v0.3.0.rdoc +10 -0
- data/doc/releases/v0.3.1.rdoc +11 -0
- data/lib/prigner.rb +2 -2
- data/lib/prigner/cli.rb +1 -1
- data/lib/prigner/cli/copy.rb +10 -1
- data/lib/prigner/cli/list.rb +76 -27
- data/lib/prigner/template.rb +2 -1
- data/prigner.gemspec +5 -3
- data/share/templates/ruby/sinatra/models/Rakefile +6 -5
- data/share/templates/ruby/sinatra/models/module.rb +2 -2
- data/share/templates/ruby/sinatra/specfile +1 -1
- metadata +9 -7
data/CHANGELOG
CHANGED
@@ -1,8 +1,18 @@
|
|
1
|
-
= Prigner v0.3.
|
1
|
+
= Prigner v0.3.1 (2010-11-26) - Changelog
|
2
|
+
|
3
|
+
== 2010-11-26
|
4
|
+
|
5
|
+
* Releasing of version 0.3.1.
|
6
|
+
* Improvements in listing of the templates.
|
7
|
+
* Details of templates can be showed in list.
|
8
|
+
* The list show if user has customized templates.
|
9
|
+
* Small improvements in code.
|
10
|
+
* Fixes in Ruby/Sinatra template.
|
2
11
|
|
3
12
|
== 2010-11-25
|
4
13
|
|
5
|
-
*
|
14
|
+
* Releasing of version 0.3.0.
|
15
|
+
* Adding of command to copy templates.
|
6
16
|
* Fixes in the templates that includes test.
|
7
17
|
|
8
18
|
== 2010-11-19
|
@@ -0,0 +1,10 @@
|
|
1
|
+
= Prigner v0.3.0
|
2
|
+
|
3
|
+
Bug fixes and new commands for line interface.
|
4
|
+
|
5
|
+
* Fixes in the shared templates that includes test.
|
6
|
+
* Adding of command to copy templates to user home directory.
|
7
|
+
* Small updates in documentation.
|
8
|
+
|
9
|
+
For more informations about this release, please see the CHANGELOG file.
|
10
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
= Prigner v0.3.1
|
2
|
+
|
3
|
+
Improvements in command line interface.
|
4
|
+
|
5
|
+
* Details of templates can be showed in list.
|
6
|
+
* The list show if user has customized templates.
|
7
|
+
* Small improvements in code.
|
8
|
+
* Fixes in Ruby/Sinatra template.
|
9
|
+
|
10
|
+
For more informations about this release, please see the CHANGELOG file.
|
11
|
+
|
data/lib/prigner.rb
CHANGED
data/lib/prigner/cli.rb
CHANGED
data/lib/prigner/cli/copy.rb
CHANGED
@@ -27,7 +27,16 @@ begin
|
|
27
27
|
|
28
28
|
arguments.separator "Options:"
|
29
29
|
|
30
|
-
arguments.on("-
|
30
|
+
arguments.on("-h", "--help", nil, "Show this message.") do
|
31
|
+
puts arguments
|
32
|
+
exit 0
|
33
|
+
end
|
34
|
+
|
35
|
+
arguments.on("-f", "--force", TrueClass, "Force copy.") do
|
36
|
+
noforce = false
|
37
|
+
end
|
38
|
+
|
39
|
+
arguments.separator ""
|
31
40
|
|
32
41
|
unless ARGV.empty?
|
33
42
|
arguments.parse!
|
data/lib/prigner/cli/list.rb
CHANGED
@@ -5,48 +5,97 @@ require "prigner"
|
|
5
5
|
|
6
6
|
program = :prign
|
7
7
|
command = File.basename(__FILE__, ".rb")
|
8
|
-
@options = {}
|
9
8
|
|
10
|
-
def templates_by_namespace(indent)
|
11
|
-
|
9
|
+
def templates_by_namespace(options = { :indent => nil, :details => false })
|
10
|
+
puts "#{Prigner::Version}"
|
11
|
+
puts "\nThe templates tagged with '*' are customized by user."
|
12
12
|
message = []
|
13
|
-
|
14
|
-
message << "
|
15
|
-
list.map do |template|
|
16
|
-
|
13
|
+
Prigner::Template.all.map do |namespace, list|
|
14
|
+
message << "#{namespace}:"
|
15
|
+
list.map do |template, custom|
|
16
|
+
formatting = "#{options[:indent]}#{custom ? :* : :-} %s (%s)"
|
17
|
+
attributes = [template.name, template.spec.version]
|
18
|
+
if options[:details]
|
19
|
+
formatting = "#{options[:indent]}#{custom ? :* : :-} %s (%s)\n" +
|
20
|
+
"#{options[:indent]} %s\n" +
|
21
|
+
"#{options[:indent]} Written by %s <%s>\n"
|
22
|
+
attributes = [
|
23
|
+
template.name,
|
24
|
+
template.spec.version,
|
25
|
+
template.spec.description,
|
26
|
+
template.spec.author,
|
27
|
+
template.spec.email
|
28
|
+
]
|
29
|
+
end
|
30
|
+
message << (formatting % attributes)
|
17
31
|
end
|
18
32
|
end
|
19
|
-
message.join("\n")
|
20
|
-
end
|
21
|
-
|
22
|
-
def show(message)
|
23
|
-
puts "#{Prigner::Version}"
|
24
|
-
puts "\n#{message}"
|
33
|
+
puts "\n#{message.join("\n")}"
|
25
34
|
end
|
26
35
|
|
27
36
|
begin
|
37
|
+
ARGV.options do |arguments|
|
38
|
+
|
39
|
+
arguments.summary_indent = " "
|
40
|
+
arguments.summary_width = 24
|
41
|
+
arguments.banner = <<-end_banner.gsub /^[ ]{4}/, ''
|
42
|
+
#{Prigner::Version}
|
28
43
|
|
29
|
-
|
44
|
+
List all templates.
|
30
45
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
#{Prigner::Version}
|
46
|
+
Usage:
|
47
|
+
#{program} #{command} <namespace>[:template] [options]
|
48
|
+
#{program} #{command} [options]
|
35
49
|
|
36
|
-
|
50
|
+
end_banner
|
37
51
|
|
38
|
-
|
39
|
-
|
52
|
+
arguments.separator "Options:"
|
53
|
+
|
54
|
+
options = {
|
55
|
+
:indent => arguments.summary_indent,
|
56
|
+
:details => false
|
57
|
+
}
|
58
|
+
|
59
|
+
arguments.on("-h", "--help", nil, "Show this message.") do
|
60
|
+
puts arguments
|
61
|
+
exit 0
|
62
|
+
end
|
63
|
+
|
64
|
+
arguments.on("-d", "--details", nil, "Show template details.") do
|
65
|
+
options[:details] = true
|
66
|
+
end
|
40
67
|
|
41
|
-
|
68
|
+
arguments.separator ""
|
42
69
|
|
43
|
-
if ARGV.empty?
|
44
|
-
show(templates_by_namespace(arguments.summary_indent))
|
45
|
-
exit 0
|
46
|
-
else
|
47
70
|
arguments.parse!
|
71
|
+
|
72
|
+
unless ARGV.empty?
|
73
|
+
name = ARGV.shift
|
74
|
+
|
75
|
+
if template = Prigner::Template.load(*name.split(":"))
|
76
|
+
arguments.banner = <<-end_banner.gsub /^[ ]{10}/, ''
|
77
|
+
#{Prigner::Version}
|
78
|
+
|
79
|
+
Template:
|
80
|
+
#{template.mask} v#{template.spec.version}
|
81
|
+
|
82
|
+
#{template.spec.description}
|
83
|
+
|
84
|
+
Written by #{template.spec.author} <#{template.spec.email}>.
|
85
|
+
|
86
|
+
Usage:
|
87
|
+
#{program} #{command} #{template.mask} <path> [options]
|
88
|
+
|
89
|
+
end_banner
|
90
|
+
else
|
91
|
+
raise RuntimeError, "unable to load template '#{name}'"
|
92
|
+
end
|
93
|
+
else
|
94
|
+
templates_by_namespace(options)
|
95
|
+
exit 0
|
96
|
+
end
|
97
|
+
|
48
98
|
end
|
49
|
-
end
|
50
99
|
|
51
100
|
rescue => error
|
52
101
|
puts "\n#{program}: #{command}: #{error.message} (#{error.class})"
|
data/lib/prigner/template.rb
CHANGED
@@ -86,8 +86,9 @@ class Prigner::Template
|
|
86
86
|
all_template_paths.map do |path|
|
87
87
|
new(path)
|
88
88
|
end.inject({}) do |group, template|
|
89
|
+
customized = template.path.to_s =~ %r/#{Prigner.user_home_basedir}/
|
89
90
|
group[template.namespace] ||= []
|
90
|
-
group[template.namespace] << template
|
91
|
+
group[template.namespace] << [ template, customized ]
|
91
92
|
group
|
92
93
|
end
|
93
94
|
end
|
data/prigner.gemspec
CHANGED
@@ -3,7 +3,7 @@ Gem::Specification.new do |spec|
|
|
3
3
|
|
4
4
|
#about
|
5
5
|
spec.name = "prigner"
|
6
|
-
spec.summary = "Project
|
6
|
+
spec.summary = "Prigner is a Project Design Kit (a.k.a. project builder)."
|
7
7
|
spec.description = "Prigner is a Project Design Kit (a.k.a. project builder). That is, it is a tool which builds your projects using templates."
|
8
8
|
spec.authors = ["Hallison Batista"]
|
9
9
|
spec.email = "hallison@codigorama.com"
|
@@ -14,8 +14,8 @@ Gem::Specification.new do |spec|
|
|
14
14
|
#
|
15
15
|
|
16
16
|
#version
|
17
|
-
spec.version = "0.3.
|
18
|
-
spec.date = "2010-11-
|
17
|
+
spec.version = "0.3.1"
|
18
|
+
spec.date = "2010-11-26"
|
19
19
|
#
|
20
20
|
|
21
21
|
#dependencies
|
@@ -34,6 +34,8 @@ Gem::Specification.new do |spec|
|
|
34
34
|
"doc/releases/v0.2.0.rdoc",
|
35
35
|
"doc/releases/v0.2.1.rdoc",
|
36
36
|
"doc/releases/v0.2.2.rdoc",
|
37
|
+
"doc/releases/v0.3.0.rdoc",
|
38
|
+
"doc/releases/v0.3.1.rdoc",
|
37
39
|
"doc/templates.rdoc",
|
38
40
|
"lib/prigner.rb",
|
39
41
|
"lib/prigner/builder.rb",
|
@@ -28,7 +28,7 @@ end
|
|
28
28
|
def tag
|
29
29
|
git(:tag).split("\n").last
|
30
30
|
end
|
31
|
-
|
31
|
+
<%if option.gem.enabled%>
|
32
32
|
def specfile
|
33
33
|
@specfile ||= Pathname.new("<%=project.name%>.gemspec")
|
34
34
|
end
|
@@ -36,7 +36,7 @@ end
|
|
36
36
|
def gemspec
|
37
37
|
@gemspec ||= eval(specfile.read)
|
38
38
|
end
|
39
|
-
|
39
|
+
<%end%>
|
40
40
|
# Test
|
41
41
|
# =============================================================================
|
42
42
|
|
@@ -45,14 +45,14 @@ Rake::TestTask.new do |test|
|
|
45
45
|
test.test_files = FileList["test/*_test.rb"]
|
46
46
|
test.verbose = true
|
47
47
|
end
|
48
|
-
|
48
|
+
<%if option.gem.enabled%>
|
49
49
|
# Packaging
|
50
50
|
# =============================================================================
|
51
51
|
|
52
52
|
Rake::GemPackageTask.new gemspec do |spec|
|
53
53
|
spec.need_tar = true
|
54
54
|
end
|
55
|
-
|
55
|
+
<%end%>
|
56
56
|
# Documentation
|
57
57
|
# =============================================================================
|
58
58
|
|
@@ -96,6 +96,7 @@ namespace :version do
|
|
96
96
|
puts version.to_hash.to_yaml
|
97
97
|
end
|
98
98
|
end
|
99
|
+
<%if option.gem.enabled%>
|
99
100
|
#
|
100
101
|
# Packaging
|
101
102
|
# =============================================================================
|
@@ -138,7 +139,7 @@ desc "Uninstall gem package #{gemspec.file_name}."
|
|
138
139
|
task :uninstall do
|
139
140
|
sh "gem uninstall #{gemspec.name} --version #{gemspec.version}"
|
140
141
|
end
|
141
|
-
|
142
|
+
<%end%>
|
142
143
|
# Default
|
143
144
|
# =============================================================================
|
144
145
|
|
@@ -15,10 +15,10 @@ module <%=project.upper_camel_case_namespace%>
|
|
15
15
|
# Standard library requirements
|
16
16
|
require "pathname"
|
17
17
|
require "yaml"
|
18
|
-
|
18
|
+
<%if option.mvc.enabled%>
|
19
19
|
# Internal requirements
|
20
20
|
require "<%=project.name%>/config"
|
21
|
-
|
21
|
+
<%end%>
|
22
22
|
# Return the current version.
|
23
23
|
def self.version
|
24
24
|
@version ||= Version.current
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prigner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Hallison Batista
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-26 00:00:00 -04:00
|
19
19
|
default_executable: prign
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -40,6 +40,8 @@ files:
|
|
40
40
|
- doc/releases/v0.2.0.rdoc
|
41
41
|
- doc/releases/v0.2.1.rdoc
|
42
42
|
- doc/releases/v0.2.2.rdoc
|
43
|
+
- doc/releases/v0.3.0.rdoc
|
44
|
+
- doc/releases/v0.3.1.rdoc
|
43
45
|
- doc/templates.rdoc
|
44
46
|
- lib/prigner.rb
|
45
47
|
- lib/prigner/builder.rb
|
@@ -128,7 +130,7 @@ licenses: []
|
|
128
130
|
|
129
131
|
post_install_message: |
|
130
132
|
------------------------------------------------------------------------------
|
131
|
-
Prigner v0.3.
|
133
|
+
Prigner v0.3.1
|
132
134
|
|
133
135
|
Thanks for use Prigner. See all shared templates running:
|
134
136
|
|
@@ -143,7 +145,7 @@ rdoc_options:
|
|
143
145
|
- --main
|
144
146
|
- Prigner
|
145
147
|
- --title
|
146
|
-
- Prigner v0.3.
|
148
|
+
- Prigner v0.3.1 API Documentation
|
147
149
|
require_paths:
|
148
150
|
- lib
|
149
151
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -170,6 +172,6 @@ rubyforge_project: prigner
|
|
170
172
|
rubygems_version: 1.3.7
|
171
173
|
signing_key:
|
172
174
|
specification_version: 3
|
173
|
-
summary: Project
|
175
|
+
summary: Prigner is a Project Design Kit (a.k.a. project builder).
|
174
176
|
test_files: []
|
175
177
|
|