bones 1.3.4 → 1.3.5
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/History.txt +9 -0
- data/Manifest.txt +2 -0
- data/README.txt +1 -0
- data/Rakefile +5 -7
- data/data/tasks/bones.rake +40 -0
- data/data/tasks/gem.rake +7 -1
- data/data/tasks/post_load.rake +6 -0
- data/data/tasks/setup.rb +1 -1
- data/data/tasks/spec.rake +2 -0
- data/lib/bones.rb +2 -2
- data/lib/bones/main.rb +4 -3
- data/tasks/bones.rake +40 -0
- data/tasks/gem.rake +7 -1
- data/tasks/post_load.rake +6 -0
- data/tasks/setup.rb +1 -1
- data/tasks/spec.rake +2 -0
- metadata +14 -4
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 1.3.5 / 2008-02
|
2
|
+
|
3
|
+
* 2 minor enhancements
|
4
|
+
- Added a bones:debug task to inspect the PROJ open struct or
|
5
|
+
a single attribute of the PROJ open struct
|
6
|
+
- Small adjustments to the gem and spec tasks
|
7
|
+
* 1 bug fix
|
8
|
+
- Project names can now contain dahes (my-proj)
|
9
|
+
|
1
10
|
== 1.3.4 / 2008-02-20
|
2
11
|
|
3
12
|
* 4 minor enhancements
|
data/Manifest.txt
CHANGED
@@ -13,6 +13,7 @@ data/spec/NAME_spec.rb.erb
|
|
13
13
|
data/spec/spec_helper.rb.erb
|
14
14
|
data/tasks/ann.rake
|
15
15
|
data/tasks/annotations.rake
|
16
|
+
data/tasks/bones.rake
|
16
17
|
data/tasks/doc.rake
|
17
18
|
data/tasks/gem.rake
|
18
19
|
data/tasks/manifest.rake
|
@@ -29,6 +30,7 @@ lib/bones/main.rb
|
|
29
30
|
lib/bones/smtp_tls.rb
|
30
31
|
tasks/ann.rake
|
31
32
|
tasks/annotations.rake
|
33
|
+
tasks/bones.rake
|
32
34
|
tasks/doc.rake
|
33
35
|
tasks/gem.rake
|
34
36
|
tasks/manifest.rake
|
data/README.txt
CHANGED
@@ -17,6 +17,7 @@ Mr Bones provides the following rake tasks:
|
|
17
17
|
ann # Alias to ann:announcement
|
18
18
|
ann:announcement # Create an announcement file
|
19
19
|
ann:email # Send an email announcement
|
20
|
+
bones:debug # Show the PROJ open struct
|
20
21
|
clean # Remove any temporary products.
|
21
22
|
clobber # Remove any generated file.
|
22
23
|
doc # Alias to doc:rdoc
|
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: Rakefile
|
1
|
+
# $Id: Rakefile 562 2008-02-28 04:36:33Z tim_pease $
|
2
2
|
|
3
3
|
$:.unshift('lib')
|
4
4
|
|
@@ -12,7 +12,7 @@ PROJ.url = 'http://codeforpeople.rubyforge.org/bones'
|
|
12
12
|
PROJ.rubyforge_name = 'codeforpeople'
|
13
13
|
PROJ.rdoc_remote_dir = 'bones'
|
14
14
|
PROJ.version = Bones::VERSION
|
15
|
-
PROJ.release_name = '
|
15
|
+
PROJ.release_name = 'Skeletor'
|
16
16
|
|
17
17
|
PROJ.rdoc_exclude << '^data/'
|
18
18
|
PROJ.annotation_exclude = %w(^README\.txt$ ^data/ ^tasks/setup.rb$)
|
@@ -33,17 +33,13 @@ PROJ.ann_paragraphs = %w[install synopsis features requirements]
|
|
33
33
|
PROJ.ann_text = <<-ANN
|
34
34
|
== FUN FACT
|
35
35
|
|
36
|
-
|
36
|
+
90% of New York City cab drivers are recently arrived immigrants.
|
37
37
|
|
38
38
|
== POST SCRIPT
|
39
39
|
|
40
40
|
Blessings,
|
41
41
|
TwP
|
42
42
|
|
43
|
-
== POST POST SCRIPT
|
44
|
-
|
45
|
-
The "Finite State Puppy" is the only known pet that is Touring complete.
|
46
|
-
|
47
43
|
#{PROJ.post_install_message}
|
48
44
|
ANN
|
49
45
|
|
@@ -52,4 +48,6 @@ task 'gem:package' => 'manifest:assert'
|
|
52
48
|
task(:titlize) {PROJ.name = 'Mr Bones'}
|
53
49
|
task 'ann:announcement' => :titlize
|
54
50
|
|
51
|
+
depend_on 'rake'
|
52
|
+
|
55
53
|
# EOF
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# $Id$
|
2
|
+
|
3
|
+
require 'pp'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
namespace :bones do
|
7
|
+
|
8
|
+
desc 'Show the PROJ open struct'
|
9
|
+
task :debug do |t|
|
10
|
+
atr = if ARGV.length == 2
|
11
|
+
t.application.top_level_tasks.pop
|
12
|
+
end
|
13
|
+
sio = StringIO.new
|
14
|
+
sep = "\n" + ' '*27
|
15
|
+
fmt = "%23s => %s"
|
16
|
+
|
17
|
+
if atr
|
18
|
+
PP.pp(PROJ.send(atr.to_sym), sio, 49)
|
19
|
+
sio.seek 0
|
20
|
+
val = sio.read
|
21
|
+
val = val.split("\n").join(sep)
|
22
|
+
|
23
|
+
puts fmt % [atr, val]
|
24
|
+
else
|
25
|
+
h = PROJ.instance_variable_get(:@table)
|
26
|
+
h.keys.map {|k| k.to_s}.sort.each do |k|
|
27
|
+
sio.truncate 0
|
28
|
+
PP.pp(h[k.to_sym], sio, 49)
|
29
|
+
sio.seek 0
|
30
|
+
val = sio.read
|
31
|
+
val = val.split("\n").join(sep)
|
32
|
+
|
33
|
+
puts fmt % [k, val]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end # namespace :bones
|
39
|
+
|
40
|
+
# EOF
|
data/data/tasks/gem.rake
CHANGED
@@ -95,9 +95,15 @@ namespace :gem do
|
|
95
95
|
|
96
96
|
desc 'Uninstall the gem'
|
97
97
|
task :uninstall do
|
98
|
-
|
98
|
+
installed_list = Gem.source_index.find_name(PROJ.name)
|
99
|
+
if installed_list and installed_list.collect { |s| s.version.to_s}.include?(PROJ.version) then
|
100
|
+
sh "#{SUDO} #{GEM} uninstall -v '#{PROJ.version}' -i -x #{PROJ.name}"
|
101
|
+
end
|
99
102
|
end
|
100
103
|
|
104
|
+
desc 'Reinstall the gem'
|
105
|
+
task :reinstall => [:uninstall, :install]
|
106
|
+
|
101
107
|
end # namespace :gem
|
102
108
|
|
103
109
|
desc 'Alias to gem:package'
|
data/data/tasks/post_load.rake
CHANGED
@@ -6,6 +6,12 @@
|
|
6
6
|
PROJ.rdoc_exclude << "^#{Regexp.escape(PROJ.manifest_file)}$"
|
7
7
|
PROJ.exclude << "^#{Regexp.escape(PROJ.ann_file)}$"
|
8
8
|
|
9
|
+
PROJ.instance_variable_get(:@table).each do |key,val|
|
10
|
+
next unless val.instance_of? Array
|
11
|
+
next if key == :dependencies
|
12
|
+
val.flatten!
|
13
|
+
end
|
14
|
+
|
9
15
|
PROJ.changes ||= paragraphs_of(PROJ.history_file, 0..1).join("\n\n")
|
10
16
|
|
11
17
|
PROJ.description ||= paragraphs_of(PROJ.readme_file, 'description').join("\n\n")
|
data/data/tasks/setup.rb
CHANGED
data/data/tasks/spec.rake
CHANGED
data/lib/bones.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# $Id: bones.rb
|
1
|
+
# $Id: bones.rb 558 2008-02-27 19:46:32Z tim_pease $
|
2
2
|
|
3
3
|
module Bones
|
4
4
|
|
5
5
|
# :stopdoc:
|
6
|
-
VERSION = '1.3.
|
6
|
+
VERSION = '1.3.5'
|
7
7
|
PATH = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
8
8
|
WIN32 = %r/win32/ =~ RUBY_PLATFORM
|
9
9
|
DEV_NULL = WIN32 ? 'NUL:' : '/dev/null'
|
data/lib/bones/main.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: main.rb
|
1
|
+
# $Id: main.rb 561 2008-02-27 23:28:19Z tim_pease $
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'optparse'
|
@@ -39,7 +39,8 @@ class Main
|
|
39
39
|
opts.on('-v', '--verbose',
|
40
40
|
'enable verbose output') {self.verbose = true}
|
41
41
|
opts.on('-d', '--directory DIRECTORY', String,
|
42
|
-
'project directory to create'
|
42
|
+
'project directory to create',
|
43
|
+
'(defaults to project_name)') {|dir| self.output_dir = dir}
|
43
44
|
|
44
45
|
opts.separator ''
|
45
46
|
opts.on('--freeze', 'freeze the project skeleton') {freeze; exit}
|
@@ -85,7 +86,7 @@ class Main
|
|
85
86
|
# name.
|
86
87
|
#
|
87
88
|
def classname
|
88
|
-
name.split('_').map {|x| x.capitalize}.join
|
89
|
+
name.tr('-','_').split('_').map {|x| x.capitalize}.join
|
89
90
|
end
|
90
91
|
|
91
92
|
# Create a new project from the bones/data project template.
|
data/tasks/bones.rake
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# $Id$
|
2
|
+
|
3
|
+
require 'pp'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
namespace :bones do
|
7
|
+
|
8
|
+
desc 'Show the PROJ open struct'
|
9
|
+
task :debug do |t|
|
10
|
+
atr = if ARGV.length == 2
|
11
|
+
t.application.top_level_tasks.pop
|
12
|
+
end
|
13
|
+
sio = StringIO.new
|
14
|
+
sep = "\n" + ' '*27
|
15
|
+
fmt = "%23s => %s"
|
16
|
+
|
17
|
+
if atr
|
18
|
+
PP.pp(PROJ.send(atr.to_sym), sio, 49)
|
19
|
+
sio.seek 0
|
20
|
+
val = sio.read
|
21
|
+
val = val.split("\n").join(sep)
|
22
|
+
|
23
|
+
puts fmt % [atr, val]
|
24
|
+
else
|
25
|
+
h = PROJ.instance_variable_get(:@table)
|
26
|
+
h.keys.map {|k| k.to_s}.sort.each do |k|
|
27
|
+
sio.truncate 0
|
28
|
+
PP.pp(h[k.to_sym], sio, 49)
|
29
|
+
sio.seek 0
|
30
|
+
val = sio.read
|
31
|
+
val = val.split("\n").join(sep)
|
32
|
+
|
33
|
+
puts fmt % [k, val]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end # namespace :bones
|
39
|
+
|
40
|
+
# EOF
|
data/tasks/gem.rake
CHANGED
@@ -95,9 +95,15 @@ namespace :gem do
|
|
95
95
|
|
96
96
|
desc 'Uninstall the gem'
|
97
97
|
task :uninstall do
|
98
|
-
|
98
|
+
installed_list = Gem.source_index.find_name(PROJ.name)
|
99
|
+
if installed_list and installed_list.collect { |s| s.version.to_s}.include?(PROJ.version) then
|
100
|
+
sh "#{SUDO} #{GEM} uninstall -v '#{PROJ.version}' -i -x #{PROJ.name}"
|
101
|
+
end
|
99
102
|
end
|
100
103
|
|
104
|
+
desc 'Reinstall the gem'
|
105
|
+
task :reinstall => [:uninstall, :install]
|
106
|
+
|
101
107
|
end # namespace :gem
|
102
108
|
|
103
109
|
desc 'Alias to gem:package'
|
data/tasks/post_load.rake
CHANGED
@@ -6,6 +6,12 @@
|
|
6
6
|
PROJ.rdoc_exclude << "^#{Regexp.escape(PROJ.manifest_file)}$"
|
7
7
|
PROJ.exclude << "^#{Regexp.escape(PROJ.ann_file)}$"
|
8
8
|
|
9
|
+
PROJ.instance_variable_get(:@table).each do |key,val|
|
10
|
+
next unless val.instance_of? Array
|
11
|
+
next if key == :dependencies
|
12
|
+
val.flatten!
|
13
|
+
end
|
14
|
+
|
9
15
|
PROJ.changes ||= paragraphs_of(PROJ.history_file, 0..1).join("\n\n")
|
10
16
|
|
11
17
|
PROJ.description ||= paragraphs_of(PROJ.readme_file, 'description').join("\n\n")
|
data/tasks/setup.rb
CHANGED
data/tasks/spec.rake
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bones
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Pease
|
@@ -9,10 +9,18 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-02-
|
12
|
+
date: 2008-02-27 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rake
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.8.1
|
23
|
+
version:
|
16
24
|
description: Mr Bones is a handy tool that builds a skeleton for your new Ruby projects. The skeleton contains some starter code and a collection of rake tasks to ease the management and deployment of your source code. Mr Bones is not viral -- all the code your project needs is included in the skeleton (no gem dependency required).
|
17
25
|
email: tim.pease@gmail.com
|
18
26
|
executables:
|
@@ -39,6 +47,7 @@ files:
|
|
39
47
|
- data/spec/spec_helper.rb.erb
|
40
48
|
- data/tasks/ann.rake
|
41
49
|
- data/tasks/annotations.rake
|
50
|
+
- data/tasks/bones.rake
|
42
51
|
- data/tasks/doc.rake
|
43
52
|
- data/tasks/gem.rake
|
44
53
|
- data/tasks/manifest.rake
|
@@ -55,6 +64,7 @@ files:
|
|
55
64
|
- lib/bones/smtp_tls.rb
|
56
65
|
- tasks/ann.rake
|
57
66
|
- tasks/annotations.rake
|
67
|
+
- tasks/bones.rake
|
58
68
|
- tasks/doc.rake
|
59
69
|
- tasks/gem.rake
|
60
70
|
- tasks/manifest.rake
|