bones 3.4.7 → 3.5.0
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 +6 -0
- data/Rakefile +1 -2
- data/lib/bones/app.rb +1 -1
- data/lib/bones/app/plugins.rb +92 -0
- data/lib/bones/plugins/gem.rb +2 -2
- data/version.txt +1 -1
- metadata +35 -18
- data/lib/bones/plugins/yard.rb +0 -86
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -13,7 +13,6 @@ Bones {
|
|
13
13
|
ruby_opts %w[-W0]
|
14
14
|
readme_file 'README.rdoc'
|
15
15
|
ignore_file '.gitignore'
|
16
|
-
rubyforge.name 'codeforpeople'
|
17
16
|
|
18
17
|
spec.opts << '--color'
|
19
18
|
notes.exclude %w[^README\.rdoc$ ^data/]
|
@@ -34,7 +33,7 @@ Bones {
|
|
34
33
|
|
35
34
|
depend_on 'rspec', :development => true
|
36
35
|
depend_on 'bones-git', :development => true
|
37
|
-
depend_on 'bones-
|
36
|
+
depend_on 'bones-rspec', :development => true
|
38
37
|
}
|
39
38
|
|
40
39
|
# don't want to depend on ourself
|
data/lib/bones/app.rb
CHANGED
@@ -0,0 +1,92 @@
|
|
1
|
+
|
2
|
+
module Bones::App
|
3
|
+
class Plugins < Command
|
4
|
+
|
5
|
+
def self.initialize_plugins
|
6
|
+
synopsis 'bones plugins [options]'
|
7
|
+
|
8
|
+
summary 'list available Mr Bones plugins'
|
9
|
+
|
10
|
+
description <<-__
|
11
|
+
Parse the installed gems and then search for Mr Bones plugins related to
|
12
|
+
those gems. Passing in the 'all' flag will show plugins even if the related
|
13
|
+
gems are not installed.
|
14
|
+
__
|
15
|
+
|
16
|
+
option('-a', '--all', 'Show all plugins.', lambda { config[:all] = true })
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
stdout.write 'Looking up avaialble Mr Bones plugins ... '
|
21
|
+
stdout.flush
|
22
|
+
plugins = find_bones_plugins
|
23
|
+
stdout.puts 'done!'
|
24
|
+
stdout.puts
|
25
|
+
|
26
|
+
if all?
|
27
|
+
plugins.each { |name, version| show_plugin(name, version) }
|
28
|
+
else
|
29
|
+
plugins.each { |name, version|
|
30
|
+
gemspecs.each { |gem_name, gem_version|
|
31
|
+
next unless name.downcase == gem_name.downcase
|
32
|
+
next if version && version != gem_version
|
33
|
+
show_plugin(name, version)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
stdout.puts
|
39
|
+
end
|
40
|
+
|
41
|
+
def all?
|
42
|
+
config[:all]
|
43
|
+
end
|
44
|
+
|
45
|
+
def show_plugin( name, version )
|
46
|
+
name = "bones-#{name}"
|
47
|
+
name << "-#{version}" if version
|
48
|
+
|
49
|
+
stdout.puts(" [%s] %s" % [installed?(name) ? 'installed' : 'available', name])
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def gemspecs
|
55
|
+
specs = Gem.source_index.map { |_, spec| spec }
|
56
|
+
|
57
|
+
specs.map! { |s| [s.name, s.version.segments.first] }
|
58
|
+
|
59
|
+
specs.sort! { |a, b|
|
60
|
+
names = a.first <=> b.first
|
61
|
+
next names if names.nonzero?
|
62
|
+
b.last <=> a.last
|
63
|
+
}
|
64
|
+
|
65
|
+
specs.uniq!
|
66
|
+
return specs
|
67
|
+
end
|
68
|
+
|
69
|
+
def find_bones_plugins
|
70
|
+
dep = Gem::Dependency.new(%r/^bones/i, Gem::Requirement.default)
|
71
|
+
|
72
|
+
fetcher = Gem::SpecFetcher.fetcher
|
73
|
+
specs = fetcher.find_matching dep
|
74
|
+
|
75
|
+
specs.map! { |(name, version, _), _|
|
76
|
+
next unless name =~ %r/^bones-(.*?)(?:-(\d+))?$/i
|
77
|
+
$2 ? [$1, $2.to_i] : $1
|
78
|
+
}
|
79
|
+
|
80
|
+
specs.compact!
|
81
|
+
specs.uniq!
|
82
|
+
return specs
|
83
|
+
end
|
84
|
+
|
85
|
+
def installed?( name, version = Gem::Requirement.default )
|
86
|
+
dep = Gem::Dependency.new name, version
|
87
|
+
!Gem.source_index.search(dep).empty?
|
88
|
+
end
|
89
|
+
|
90
|
+
end # class Plugins
|
91
|
+
end # module Bones::App
|
92
|
+
|
data/lib/bones/plugins/gem.rb
CHANGED
@@ -194,8 +194,8 @@ module Bones::Plugins::Gem
|
|
194
194
|
|
195
195
|
desc 'Write the gemspec '
|
196
196
|
task :spec => 'gem:prereqs' do
|
197
|
-
File.open(
|
198
|
-
f.write config.gem._spec.
|
197
|
+
File.open('.specification', 'w') do |f|
|
198
|
+
f.write config.gem._spec.to_yaml
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.5.0
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bones
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 3
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 3.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 3.5.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Tim Pease
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-10-17 00:00:00 -06:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: rake
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 49
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
- 8
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: little-plugger
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
43
|
- - ">="
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 23
|
41
46
|
segments:
|
42
47
|
- 1
|
43
48
|
- 1
|
@@ -49,56 +54,64 @@ dependencies:
|
|
49
54
|
name: loquacious
|
50
55
|
prerelease: false
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ">="
|
54
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 11
|
55
62
|
segments:
|
56
63
|
- 1
|
57
|
-
-
|
58
|
-
-
|
59
|
-
version: 1.
|
64
|
+
- 7
|
65
|
+
- 0
|
66
|
+
version: 1.7.0
|
60
67
|
type: :runtime
|
61
68
|
version_requirements: *id003
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: rspec
|
64
71
|
prerelease: false
|
65
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
75
|
- - ">="
|
68
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 25
|
69
78
|
segments:
|
70
79
|
- 1
|
71
80
|
- 3
|
72
|
-
-
|
73
|
-
version: 1.3.
|
81
|
+
- 1
|
82
|
+
version: 1.3.1
|
74
83
|
type: :development
|
75
84
|
version_requirements: *id004
|
76
85
|
- !ruby/object:Gem::Dependency
|
77
86
|
name: bones-git
|
78
87
|
prerelease: false
|
79
88
|
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
80
90
|
requirements:
|
81
91
|
- - ">="
|
82
92
|
- !ruby/object:Gem::Version
|
93
|
+
hash: 31
|
83
94
|
segments:
|
84
95
|
- 1
|
85
|
-
- 1
|
86
96
|
- 2
|
87
|
-
|
97
|
+
- 0
|
98
|
+
version: 1.2.0
|
88
99
|
type: :development
|
89
100
|
version_requirements: *id005
|
90
101
|
- !ruby/object:Gem::Dependency
|
91
|
-
name: bones-
|
102
|
+
name: bones-rspec
|
92
103
|
prerelease: false
|
93
104
|
requirement: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
94
106
|
requirements:
|
95
107
|
- - ">="
|
96
108
|
- !ruby/object:Gem::Version
|
109
|
+
hash: 21
|
97
110
|
segments:
|
98
111
|
- 1
|
99
|
-
-
|
100
|
-
-
|
101
|
-
version: 1.
|
112
|
+
- 0
|
113
|
+
- 1
|
114
|
+
version: 1.0.1
|
102
115
|
type: :development
|
103
116
|
version_requirements: *id006
|
104
117
|
description: |-
|
@@ -143,6 +156,7 @@ files:
|
|
143
156
|
- lib/bones/app/file_manager.rb
|
144
157
|
- lib/bones/app/freeze.rb
|
145
158
|
- lib/bones/app/info.rb
|
159
|
+
- lib/bones/app/plugins.rb
|
146
160
|
- lib/bones/app/unfreeze.rb
|
147
161
|
- lib/bones/colors.rb
|
148
162
|
- lib/bones/gem_package_task.rb
|
@@ -153,7 +167,6 @@ files:
|
|
153
167
|
- lib/bones/plugins/notes.rb
|
154
168
|
- lib/bones/plugins/rdoc.rb
|
155
169
|
- lib/bones/plugins/test.rb
|
156
|
-
- lib/bones/plugins/yard.rb
|
157
170
|
- lib/bones/smtp_tls.rb
|
158
171
|
- spec/bones/app/file_manager_spec.rb
|
159
172
|
- spec/bones/app_spec.rb
|
@@ -184,23 +197,27 @@ rdoc_options:
|
|
184
197
|
require_paths:
|
185
198
|
- lib
|
186
199
|
required_ruby_version: !ruby/object:Gem::Requirement
|
200
|
+
none: false
|
187
201
|
requirements:
|
188
202
|
- - ">="
|
189
203
|
- !ruby/object:Gem::Version
|
204
|
+
hash: 3
|
190
205
|
segments:
|
191
206
|
- 0
|
192
207
|
version: "0"
|
193
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
194
210
|
requirements:
|
195
211
|
- - ">="
|
196
212
|
- !ruby/object:Gem::Version
|
213
|
+
hash: 3
|
197
214
|
segments:
|
198
215
|
- 0
|
199
216
|
version: "0"
|
200
217
|
requirements: []
|
201
218
|
|
202
|
-
rubyforge_project:
|
203
|
-
rubygems_version: 1.3.
|
219
|
+
rubyforge_project: bones
|
220
|
+
rubygems_version: 1.3.7
|
204
221
|
signing_key:
|
205
222
|
specification_version: 3
|
206
223
|
summary: Mr Bones is a handy tool that creates new Ruby projects from a code skeleton
|
data/lib/bones/plugins/yard.rb
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
|
2
|
-
module Bones::Plugins::Yard
|
3
|
-
include ::Bones::Helpers
|
4
|
-
extend self
|
5
|
-
|
6
|
-
def initialize_yard
|
7
|
-
require 'yard'
|
8
|
-
require 'yard/rake/yardoc_task'
|
9
|
-
have?(:yard) { true }
|
10
|
-
|
11
|
-
::Bones.config {
|
12
|
-
desc 'Configuration settings for yard'
|
13
|
-
yard {
|
14
|
-
opts [], :desc => 'Array of yard options to use when generating documentation.'
|
15
|
-
|
16
|
-
include %w(^lib/ ^bin/ ^ext/ \.txt$ \.rdoc$), :desc => <<-__
|
17
|
-
An array of patterns that will be used to find the files for which
|
18
|
-
documentation should be generated. This is an array of strings that
|
19
|
-
will be converted in regular expressions.
|
20
|
-
__
|
21
|
-
|
22
|
-
exclude %w(extconf\.rb$), :desc => <<-__
|
23
|
-
An array of patterns that will be used to exclude files from yard
|
24
|
-
processing. This is an array of strings that will be converted in
|
25
|
-
regular expressions.
|
26
|
-
__
|
27
|
-
|
28
|
-
main nil, :desc => <<-__
|
29
|
-
The main yard file for the project. This defaults to the project's
|
30
|
-
README file.
|
31
|
-
__
|
32
|
-
|
33
|
-
dir 'doc', :desc => 'Output directory for generated documentation.'
|
34
|
-
}
|
35
|
-
}
|
36
|
-
rescue LoadError
|
37
|
-
have?(:yard) { false }
|
38
|
-
end
|
39
|
-
|
40
|
-
def post_load
|
41
|
-
return unless have? :yard
|
42
|
-
config = ::Bones.config
|
43
|
-
|
44
|
-
config.exclude << "^#{Regexp.escape(config.yard.dir)}/"
|
45
|
-
config.yard.main ||= config.readme_file
|
46
|
-
end
|
47
|
-
|
48
|
-
def define_tasks
|
49
|
-
return unless have?(:yard)
|
50
|
-
config = ::Bones.config
|
51
|
-
|
52
|
-
namespace :doc do
|
53
|
-
desc 'Generate Yard documentation'
|
54
|
-
YARD::Rake::YardocTask.new(:yard) do |yd|
|
55
|
-
yard = config.yard
|
56
|
-
|
57
|
-
incl = Regexp.new(yard.include.join('|'))
|
58
|
-
excl = Regexp.new(yard.exclude.join('|'))
|
59
|
-
yd.files = config.gem.files.find_all do |fn|
|
60
|
-
case fn
|
61
|
-
when excl; false
|
62
|
-
when incl; true
|
63
|
-
else false end
|
64
|
-
end
|
65
|
-
|
66
|
-
yd.options << '--main' << yard.main
|
67
|
-
yd.options << '--output-dir' << yard.dir
|
68
|
-
yd.options << '--title' << "#{config.name}-#{config.version} Documentation"
|
69
|
-
|
70
|
-
yd.options.concat(yard.opts)
|
71
|
-
end
|
72
|
-
|
73
|
-
task :clobber_yard do
|
74
|
-
rm_r config.yard.dir rescue nil
|
75
|
-
end
|
76
|
-
end # namespace :doc
|
77
|
-
|
78
|
-
desc 'Alias to doc:yard'
|
79
|
-
task :doc => 'doc:yard'
|
80
|
-
|
81
|
-
task :clobber => %w(doc:clobber_yard)
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
# EOF
|