sdoc_all 0.1.0 → 0.2.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.
@@ -1,32 +1,57 @@
1
1
  class SdocAll
2
2
  class Plugins < Base
3
- def self.each(plugins_path, &block)
4
- Dir[plugins_path + '*'].each(&block)
3
+ def initialize(config)
4
+ config ||= {}
5
+ config = {:path => config} unless config.is_a?(Hash)
6
+
7
+ config[:path] ||= sources_path
8
+
9
+ @config = {
10
+ :update => config.delete(:update) != false,
11
+ :path => Pathname.new(config.delete(:path)).expand_path,
12
+ :only => config_only_option(config),
13
+ :exclude => config_exclude_option(config),
14
+ }
15
+
16
+ unless @config[:path].directory?
17
+ raise ConfigError.new("path #{@config[:path]} is not a directory")
18
+ end
19
+
20
+ raise_unknown_options_if_not_blank!(config)
5
21
  end
6
22
 
7
- def self.update_sources(options = {})
8
- each(options[:plugins_path]) do |plugin|
9
- Dir.chdir(plugin) do
10
- system('git fetch origin && git reset --hard HEAD')
23
+ def add_tasks(options = {})
24
+ plugins = @config[:path].children.map do |path|
25
+ path if path.directory?
26
+ end.compact
27
+
28
+ plugins.delete_if{ |plugin| !config[:only].include?(plugin.basename.to_s.downcase) } if config[:only]
29
+ plugins.delete_if{ |plugin| config[:exclude].include?(plugin.basename.to_s.downcase) }
30
+
31
+ if config[:update] && options[:update]
32
+ plugins.each do |plugin|
33
+ if (plugin + '.git').directory?
34
+ Dir.chdir(plugin) do
35
+ Base.system('git fetch origin && git reset --hard origin')
36
+ end
37
+ end
11
38
  end
12
39
  end
13
- end
14
40
 
15
- def self.add_rdoc_tasks(options = {})
16
- each(options[:plugins_path]) do |plugin|
41
+ plugins.each do |plugin|
42
+ paths = Rake::FileList.new
17
43
  Dir.chdir(plugin) do
18
- pathes = Rake::FileList.new
19
- pathes.include('lib/**/*.rb')
20
- pathes.include('README*')
21
- pathes.include('CHANGELOG*')
22
- plugin_name = File.basename(plugin)
23
- add_rdoc_task(
24
- :name_parts => [plugin_name],
25
- :src_path => plugin,
26
- :doc_path => "plugins/#{plugin_name}",
27
- :pathes => pathes.resolve
28
- )
44
+ paths.include('lib/**/*.rb')
45
+ paths.include('README*')
46
+ paths.include('CHANGELOG*')
47
+ paths.resolve
29
48
  end
49
+ Base.add_task(
50
+ :src_path => plugin,
51
+ :doc_path => "plugins.#{plugin.basename}",
52
+ :paths => paths.to_a,
53
+ :title => "plugins: #{plugin.basename}"
54
+ )
30
55
  end
31
56
  end
32
57
  end
@@ -1,51 +1,69 @@
1
1
  class SdocAll
2
2
  class Rails < Base
3
- def self.each
4
- Gem.source_index.search(Gem::Dependency.new('rails', :all)).each do |spec|
5
- yield spec.full_name, spec.version.to_s
3
+ def initialize(config)
4
+ config ||= {}
5
+ config = {:version => config} unless config.is_a?(Hash)
6
+
7
+ if config[:version]
8
+ unless self.class.versions.include?(config[:version])
9
+ raise ConfigError.new("you don't have rails #{config[:version]} installed")
10
+ end
11
+ else
12
+ if self.class.versions.empty?
13
+ raise ConfigError.new("you don't have any rails versions installed")
14
+ end
6
15
  end
16
+
17
+ @config = {
18
+ :version => config.delete(:version) || self.class.versions.last,
19
+ }
20
+
21
+ raise_unknown_options_if_not_blank!(config)
7
22
  end
8
23
 
9
- def self.update_sources(options = {})
10
- to_clear = Dir['rails-*']
11
- each do |rails, version|
12
- to_clear.delete(rails)
13
- remove_if_present(rails) if options[:force]
14
- unless File.directory?(rails)
15
- with_env 'VERSION', version do
16
- system('rails', rails, '--freeze')
17
- end
24
+ def add_tasks(options = {})
25
+ version = @config[:version]
26
+ path = sources_path + version
27
+
28
+ unless path.directory?
29
+ Base.remove_if_present(sources_path)
30
+ sources_path
31
+ Base.with_env 'VERSION', version do
32
+ Base.system('rails', path, '--freeze')
18
33
  end
19
34
  end
20
- to_clear.each do |rails|
21
- remove_if_present(rails)
22
- end
23
- end
24
35
 
25
- def self.add_rdoc_tasks(options = {})
26
- each do |rails, version|
27
- if File.directory?(rails)
28
- Dir.chdir(rails) do
29
- pathes = Rake::FileList.new
30
- File.open('vendor/rails/railties/lib/tasks/documentation.rake') do |f|
31
- true until f.readline['Rake::RDocTask.new("rails")']
32
- until (line = f.readline.strip) == '}'
33
- if line['rdoc.rdoc_files.include']
34
- pathes.include(line[/'(.*)'/, 1])
35
- elsif line['rdoc.rdoc_files.exclude']
36
- pathes.exclude(line[/'(.*)'/, 1])
37
- end
38
- end
36
+ paths = Rake::FileList.new
37
+ Dir.chdir(path) do
38
+ File.open('vendor/rails/railties/lib/tasks/documentation.rake') do |f|
39
+ true until f.readline['Rake::RDocTask.new("rails")']
40
+ until (line = f.readline.strip) == '}'
41
+ if line['rdoc.rdoc_files.include']
42
+ paths.include(line[/'(.*)'/, 1])
43
+ elsif line['rdoc.rdoc_files.exclude']
44
+ paths.exclude(line[/'(.*)'/, 1])
39
45
  end
40
- add_rdoc_task(
41
- :name_parts => [version],
42
- :src_path => rails,
43
- :doc_path => rails,
44
- :pathes => pathes.resolve
45
- )
46
46
  end
47
47
  end
48
+ paths.resolve
49
+ end
50
+ Base.add_task(
51
+ :src_path => path,
52
+ :doc_path => "rails-#{version}",
53
+ :paths => paths.to_a,
54
+ :title => "rails-#{version}"
55
+ )
56
+ end
57
+
58
+ module ClassMethods
59
+ def versions
60
+ [].tap do |versions|
61
+ Gem.source_index.search(Gem::Dependency.new('rails', :all)).each do |spec|
62
+ versions << spec.version
63
+ end
64
+ end.sort.map(&:to_s)
48
65
  end
49
66
  end
67
+ extend ClassMethods
50
68
  end
51
69
  end
data/lib/sdoc_all/ruby.rb CHANGED
@@ -2,58 +2,107 @@ require 'net/ftp'
2
2
 
3
3
  class SdocAll
4
4
  class Ruby < Base
5
- def self.tars
6
- Dir['ruby-*.tar.bz2']
5
+ def initialize(config)
6
+ config ||= {}
7
+ config = {:version => config} unless config.is_a?(Hash)
8
+
9
+ @config = {
10
+ :update => config.delete(:update) != false,
11
+ :version => config.delete(:version),
12
+ }
13
+
14
+ version = @config[:version]
15
+ unless version.present?
16
+ raise ConfigError.new("specify version of ruby (place archive to 'sources' directory or it will be download from ftp://ftp.ruby-lang.org/)")
17
+ end
18
+ self.class.find_or_download_matching_archive(version)
19
+
20
+ raise_unknown_options_if_not_blank!(config)
7
21
  end
8
22
 
9
- def self.rubys
10
- Dir['ruby-*'].select{ |path| File.directory?(path) }
23
+ def add_tasks(options = {})
24
+ archive = self.class.find_or_download_matching_archive(config[:version], :update => config[:update] && options[:update])
25
+ version = archive.full_version
26
+ path = sources_path + version
27
+
28
+ unless path.directory?
29
+ Base.remove_if_present(sources_path)
30
+ case archive.extension
31
+ when 'tar.bz2'
32
+ Base.system('tar', '-xjf', archive.path, '-C', sources_path)
33
+ when 'tar.gz'
34
+ Base.system('tar', '-xzf', archive.path, '-C', sources_path)
35
+ when 'zip'
36
+ Base.system('unzip', '-q', archive.path, '-d', sources_path)
37
+ end
38
+ File.rename(sources_path + "ruby-#{version}", path)
39
+ end
40
+
41
+ Base.add_task(
42
+ :src_path => path,
43
+ :doc_path => "ruby-#{version}",
44
+ :title => "ruby-#{version}"
45
+ )
11
46
  end
12
47
 
13
- def self.update_sources(options = {})
14
- to_clear = tars
15
- Net::FTP.open('ftp.ruby-lang.org') do |ftp|
16
- remote_path = Pathname.new('/pub/ruby')
17
- ftp.debug_mode = true
18
- ftp.passive = true
19
- ftp.login
20
- ftp.chdir(remote_path)
21
- ftp.list('ruby-*.tar.bz2').each do |line|
22
- tar_path, tar = File.split(line.split.last)
23
- to_clear.delete(tar)
24
- remove_if_present(tar) if options[:force]
25
- unless File.exist?(tar) && File.size(tar) == ftp.size(remote_path + tar_path + tar)
26
- ftp.getbinaryfile(remote_path + tar_path + tar)
48
+ private
49
+
50
+ ArchiveInfo = Struct.new(:path, :name, :full_version, :extension, :version)
51
+ module ClassMethods
52
+ def match_ruby_archive(path)
53
+ name = File.basename(path)
54
+ if match = /^ruby-((\d+\.\d+\.\d+)-p(\d+))(?:\.(tar\.(?:gz|bz2)|zip))$/.match(name)
55
+ ArchiveInfo.new.tap do |i|
56
+ i.path = path
57
+ i.name = name
58
+ i.full_version = match[1]
59
+ i.extension = match[4]
60
+ i.version = match[2].split('.').map(&:to_i) << match[3].to_i
27
61
  end
28
62
  end
29
63
  end
30
- to_clear.each do |tar|
31
- remove_if_present(tar)
32
- end
33
64
 
34
- to_clear = rubys
35
- tars.each do |tar|
36
- ruby = File.basename(tar, '.tar.bz2')
37
- to_clear.delete(ruby)
38
- remove_if_present(ruby) if options[:force]
39
- unless File.directory?(ruby)
40
- system('tar', '-xjf', tar)
65
+ def last_matching_ruby_archive(version, paths)
66
+ paths.map do |path|
67
+ match_ruby_archive(path)
68
+ end.compact.sort_by(&:version).reverse.find do |tar_info|
69
+ tar_info.full_version.starts_with?(version)
41
70
  end
42
71
  end
43
- to_clear.each do |ruby|
44
- remove_if_present(ruby)
72
+
73
+ def find_matching_archive(version)
74
+ paths = sources_path.parent.children.select(&:file?)
75
+ last_matching_ruby_archive(version, paths)
45
76
  end
46
- end
47
77
 
48
- def self.add_rdoc_tasks(options = {})
49
- rubys.each do |ruby|
50
- version = ruby.split('-', 2)[1]
51
- add_rdoc_task(
52
- :name_parts => [version],
53
- :src_path => ruby,
54
- :doc_path => ruby
55
- )
78
+ def download_matching_archive(version)
79
+ Net::FTP.open('ftp.ruby-lang.org') do |ftp|
80
+ remote_path = '/pub/ruby'
81
+ ftp.debug_mode = true
82
+ ftp.passive = true
83
+ ftp.login
84
+ ftp.chdir(remote_path)
85
+ paths = ftp.list('ruby-*.tar.bz2').map{ |line| "#{remote_path}/#{line.split.last}" }
86
+
87
+ if tar = last_matching_ruby_archive(version, paths)
88
+ dest = sources_path.parent + tar.name
89
+ unless File.exist?(dest) && File.size(dest) == ftp.size(tar.path)
90
+ ftp.getbinaryfile(tar.path, dest)
91
+ end
92
+ end
93
+ end
94
+ end
95
+
96
+ def find_or_download_matching_archive(version, options = {})
97
+ if options[:update] || (archive = find_matching_archive(version)).nil?
98
+ download_matching_archive(version)
99
+ if (archive = find_matching_archive(version)).nil?
100
+ raise ConfigError.new("could not find version of ruby matching #{version.inspect}")
101
+ end
102
+ end
103
+ archive
56
104
  end
57
105
  end
106
+ extend ClassMethods
58
107
  end
59
108
  end
@@ -0,0 +1,28 @@
1
+ class SdocAll
2
+ class Task
3
+ attr_reader :src_path, :doc_path, :paths, :main, :title
4
+ def initialize(options = {})
5
+ @src_path = Pathname.new(options[:src_path]).expand_path
6
+ @doc_path = options[:doc_path]
7
+ @paths = options[:paths]
8
+ @main = options[:main]
9
+ @title = options[:title]
10
+ end
11
+
12
+ def run(options = {})
13
+ cmd = %w(sdoc)
14
+ cmd << '-o' << Base.docs_path + doc_path
15
+ cmd << '-t' << title
16
+ cmd << '-T' << 'direct'
17
+
18
+ if src_path.directory?
19
+ Dir.chdir(src_path) do
20
+ cmd << '-m' << main if main
21
+ Base.system(*cmd + paths)
22
+ end
23
+ else
24
+ Base.system(*cmd + [src_path])
25
+ end
26
+ end
27
+ end
28
+ end
data/lib/sdoc_all.rb CHANGED
@@ -11,77 +11,173 @@ require 'progress'
11
11
  __DIR__ = File.dirname(__FILE__)
12
12
  $:.unshift(__DIR__) unless $:.include?(__DIR__) || $:.include?(File.expand_path(__DIR__))
13
13
 
14
- class SdocAll
15
- def self.run(options = {})
16
- add_default_options!(options)
14
+ class Array
15
+ def sort_by!(&block)
16
+ replace(sort_by(&block))
17
+ end
18
+ end
17
19
 
18
- Base.update_all_sources(options)
20
+ class SdocAll
21
+ module ClassMethods
22
+ def update?
23
+ @update.nil? || @update
24
+ end
19
25
 
20
- tasks = Base.rdoc_tasks(options)
26
+ def last_build_sdoc_version_path
27
+ Base.base_path + 'sdoc.version'
28
+ end
21
29
 
22
- selected_tasks = []
23
- selected_tasks << tasks.find_or_last_ruby(options[:ruby])
24
- selected_tasks << tasks.find_or_last_rails(options[:rails])
25
- tasks.gems.group_by{ |task| task.name_parts[0] }.sort_by{ |name, versions| name.downcase }.each do |name, versions|
26
- selected_tasks << versions.sort_by{ |version| version.name_parts[1] }.last
30
+ def last_build_sdoc_version
31
+ last_build_sdoc_version_path.read rescue nil
27
32
  end
28
- tasks.plugins.sort_by{ |task| task.name_parts[0] }.each do |task|
29
- selected_tasks << task
33
+
34
+ def current_sdoc_version
35
+ Gem.searcher.find('sdoc').version.to_s
30
36
  end
31
37
 
32
- if options[:exclude].is_a?(Array)
33
- selected_tasks.delete_if do |task|
34
- options[:exclude].any?{ |exclude| task.doc_path[exclude] }
38
+ def store_current_sdoc_version
39
+ last_build_sdoc_version_path.open('w') do |f|
40
+ f.write(current_sdoc_version)
35
41
  end
36
42
  end
37
43
 
38
- selected_tasks.each_with_progress('Building documentation') do |task|
39
- task.run(options)
40
- end
44
+ def run(options = {})
45
+ begin
46
+ read_config
47
+ tasks = Base.tasks(:update => update? || options[:update])
48
+
49
+ if last_build_sdoc_version.nil? || last_build_sdoc_version != current_sdoc_version
50
+ Base.remove_if_present(Base.docs_path)
51
+ else
52
+ Dir.chdir(Base.docs_path) do
53
+ to_delete = Dir.glob('*')
54
+ tasks.each do |task|
55
+ to_delete.delete(task.doc_path)
56
+ end
57
+ to_delete.each do |path|
58
+ Base.remove_if_present(path)
59
+ end
60
+ end
61
+
62
+ tasks.each do |task|
63
+ doc_path = Base.docs_path + task.doc_path
64
+ src_path = task.src_path
65
+ if doc_path.exist?
66
+ latest = [src_path.mtime, src_path.ctime].max
67
+
68
+ created = Time.parse(File.read(doc_path + 'created.rid')) rescue nil
69
+ if created && latest < created
70
+ src_path.find do |path|
71
+ Find.prune if path.directory? && path.basename.to_s[0] == ?.
72
+ latest = [latest, src_path.mtime, src_path.ctime].max
73
+ break unless latest < created
74
+ end
75
+ end
76
+ if created.nil? || latest >= created
77
+ Base.remove_if_present(doc_path)
78
+ end
79
+ end
80
+ end
81
+ end
82
+
83
+ merge = false
84
+ tasks.each_with_progress('docs') do |task|
85
+ unless (Base.docs_path + task.doc_path).directory?
86
+ puts
87
+ merge = true
88
+ task.run(options)
89
+ end
90
+ end
41
91
 
42
- Dir.chdir(options[:docs_path]) do
43
- Base.remove_if_present(options[:public_path])
44
-
45
- pathes = []
46
- titles = []
47
- urls = []
48
- selected_tasks.each do |rdoc_task|
49
- doc_path = options[:docs_path] + rdoc_task.doc_path
50
- if File.file?(doc_path + 'index.html')
51
- pathes << rdoc_task.doc_path
52
- titles << rdoc_task.title
53
- urls << "/docs/#{rdoc_task.doc_path}"
92
+ if merge || !Base.public_path.exist?
93
+ Dir.chdir(Base.docs_path) do
94
+ paths = []
95
+ titles = []
96
+ urls = []
97
+ tasks.each do |task|
98
+ doc_path = Base.docs_path + task.doc_path
99
+ if File.file?(doc_path + 'index.html')
100
+ paths << task.doc_path
101
+ titles << task.title
102
+ urls << "/docs/#{task.doc_path}"
103
+ end
104
+ end
105
+
106
+ if paths.present?
107
+ Base.remove_if_present(Base.public_path)
108
+
109
+ cmd = %w(sdoc-merge)
110
+ cmd << '-o' << Base.public_path
111
+ cmd << '-t' << 'all'
112
+ cmd << '-n' << titles.join(',')
113
+ cmd << '-u' << urls.join(' ')
114
+ Base.system(*cmd + paths)
115
+
116
+ File.symlink(Base.docs_path, Base.public_path + 'docs')
117
+ end
118
+ end
54
119
  end
120
+ store_current_sdoc_version
121
+ rescue ConfigError => e
122
+ STDERR.puts e.to_s
55
123
  end
124
+ end
56
125
 
57
- cmd = %w(sdoc-merge)
58
- cmd << '-o' << options[:public_path]
59
- cmd << '-t' << 'all'
60
- cmd << '-n' << titles.join(',')
61
- cmd << '-u' << urls.join(' ')
62
- system(*cmd + pathes)
126
+ def read_config
127
+ Base.clear
128
+ config = YAML.load_file('config.yml').symbolize_keys rescue {}
129
+
130
+ min_update_interval = if config[:min_update_interval].to_s[/(\d+)\s*(.*)/]
131
+ value = $1.to_i
132
+ case $2
133
+ when /^d/
134
+ value.days
135
+ when /^h/
136
+ value.hours
137
+ when /^m/
138
+ value.minutes
139
+ else
140
+ value.seconds
141
+ end
142
+ else
143
+ 1.hour
144
+ end
63
145
 
64
- File.symlink(options[:docs_path], options[:public_path] + 'docs')
146
+ created = last_build_sdoc_version_path.mtime rescue nil
147
+ @update = created.nil? || created < min_update_interval.ago
148
+
149
+ if config[:sdoc] && config[:sdoc].is_a?(Array) && config[:sdoc].length > 0
150
+ errors = []
151
+ config[:sdoc].each do |entry|
152
+ begin
153
+ if entry.is_a?(Hash)
154
+ if entry.length == 1
155
+ Base.to_document(*entry.shift)
156
+ else
157
+ raise ConfigError.new("config entry #{entry.inspect} can not be understood - watch ident")
158
+ end
159
+ else
160
+ Base.to_document(entry, {})
161
+ end
162
+ rescue ConfigError => e
163
+ errors << e
164
+ end
165
+ end
166
+ if errors.present?
167
+ raise ConfigError.new(errors)
168
+ end
169
+ else
170
+ raise ConfigError.new("config did not specify what to document")
171
+ end
65
172
  end
66
173
  end
174
+ extend ClassMethods
175
+ end
67
176
 
68
- private
69
-
70
- def self.add_default_options!(options)
71
- options[:base_path] = Pathname.new(Dir.pwd).freeze
72
- options[:public_path] = Pathname.new(options[:base_path] + 'public').freeze
73
- options[:docs_path] = Pathname.new(options[:base_path] + 'docs').freeze
74
- options[:sources_path] = Pathname.new(options[:base_path] + 'sources').freeze
177
+ require 'sdoc_all/base.rb'
178
+ require 'sdoc_all/task.rb'
179
+ require 'sdoc_all/config_error.rb'
75
180
 
76
- options[:exclude] ||= %w(gems/actionmailer gems/actionpack gems/activerecord gems/activeresource gems/activesupport gems/rails)
77
- options[:plugins_path] = Pathname.new(options[:plugins_path] || File.expand_path('~/.plugins')).freeze
78
- end
181
+ Dir.entries("#{__DIR__}/sdoc_all").grep(/\.rb$/).each do |file|
182
+ require "sdoc_all/#{file}"
79
183
  end
80
-
81
- require 'sdoc_all/base'
82
- require 'sdoc_all/ruby'
83
- require 'sdoc_all/gems'
84
- require 'sdoc_all/rails'
85
- require 'sdoc_all/plugins'
86
- require 'sdoc_all/rdoc_task'
87
- require 'sdoc_all/rdoc_tasks'
@@ -0,0 +1,15 @@
1
+ require 'sdoc_all'
2
+
3
+ task :default => :run
4
+
5
+ desc "Build/update documentation"
6
+ task :run do
7
+ SdocAll.run
8
+ end
9
+
10
+ namespace :run do
11
+ desc "Force update sources, before building/updating"
12
+ task :force do
13
+ SdocAll.run(:update => true)
14
+ end
15
+ end
data/sdoc_all.gemspec CHANGED
@@ -2,44 +2,41 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{sdoc_all}
5
- s.version = "0.1.0"
5
+ s.version = "0.2.0.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["toy"]
9
- s.date = %q{2009-04-22}
9
+ s.date = %q{2009-04-27}
10
10
  s.default_executable = %q{sdoc-all}
11
11
  s.description = %q{Command line tool to get documentation for ruby, rails, gems and plugins in one place}
12
- s.email = %q{}
12
+ s.email = %q{ivan@workisfun.ru}
13
13
  s.executables = ["sdoc-all"]
14
- s.extra_rdoc_files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/generator/sdoc_all/templates/sdoc.config.yml.erb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/rdoc_task.rb", "lib/sdoc_all/rdoc_tasks.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all.rb", "README.rdoc"]
15
- s.files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/generator/sdoc_all/templates/sdoc.config.yml.erb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/rdoc_task.rb", "lib/sdoc_all/rdoc_tasks.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all.rb", "Manifest", "Rakefile", "README.rdoc", "VERSION.yml", "sdoc_all.gemspec"]
14
+ s.extra_rdoc_files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/config_error.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/config.yml", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/paths.rb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all/task.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all_rake.rb", "LICENSE", "README.rdoc"]
15
+ s.files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/config_error.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/config.yml", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/paths.rb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all/task.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all_rake.rb", "LICENSE", "Manifest", "Rakefile", "README.rdoc", "spec/sdoc_all/gems_spec.rb", "spec/sdoc_all/paths_spec.rb", "spec/sdoc_all/plugins_spec.rb", "spec/sdoc_all/rails_spec.rb", "spec/sdoc_all/ruby_spec.rb", "spec/sdoc_all_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "VERSION.yml", "sdoc_all.gemspec"]
16
16
  s.has_rdoc = true
17
17
  s.homepage = %q{http://github.com/toy/sdoc_all}
18
18
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sdoc_all", "--main", "README.rdoc"]
19
19
  s.require_paths = ["lib"]
20
20
  s.rubyforge_project = %q{toytoy}
21
21
  s.rubygems_version = %q{1.3.2}
22
- s.summary = %q{Command line tool to get documentation for ruby, rails, gems and plugins in one place}
22
+ s.summary = %q{documentation for everything}
23
23
 
24
24
  if s.respond_to? :specification_version then
25
25
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
26
  s.specification_version = 3
27
27
 
28
28
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_runtime_dependency(%q<sdoc>, [">= 0"])
30
29
  s.add_runtime_dependency(%q<activesupport>, [">= 0"])
31
30
  s.add_runtime_dependency(%q<rake>, [">= 0"])
32
- s.add_runtime_dependency(%q<progress>, [">= 0"])
31
+ s.add_runtime_dependency(%q<progress>, [">= 0", "= 0.0.8"])
33
32
  else
34
- s.add_dependency(%q<sdoc>, [">= 0"])
35
33
  s.add_dependency(%q<activesupport>, [">= 0"])
36
34
  s.add_dependency(%q<rake>, [">= 0"])
37
- s.add_dependency(%q<progress>, [">= 0"])
35
+ s.add_dependency(%q<progress>, [">= 0", "= 0.0.8"])
38
36
  end
39
37
  else
40
- s.add_dependency(%q<sdoc>, [">= 0"])
41
38
  s.add_dependency(%q<activesupport>, [">= 0"])
42
39
  s.add_dependency(%q<rake>, [">= 0"])
43
- s.add_dependency(%q<progress>, [">= 0"])
40
+ s.add_dependency(%q<progress>, [">= 0", "= 0.0.8"])
44
41
  end
45
42
  end