diff options
author | Jarek Prokop <jprokop@redhat.com> | 2022-10-26 11:45:00 +0200 |
---|---|---|
committer | Jarek Prokop <jprokop@redhat.com> | 2022-10-26 11:45:00 +0200 |
commit | da71247f3da96894ea75f44245a33a64ae9eb0da (patch) | |
tree | 8bdd9ebf119b7c55ab334548378053048f46057b /lib/rubygems_plugin.rb | |
parent | eb072f5e22a18aa8b93d7952957d6f5bdced8659 (diff) | |
download | fedora_darkfish-rawhide.tar.gz fedora_darkfish-rawhide.tar.xz fedora_darkfish-rawhide.zip |
Diffstat (limited to 'lib/rubygems_plugin.rb')
-rw-r--r-- | lib/rubygems_plugin.rb | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/rubygems_plugin.rb b/lib/rubygems_plugin.rb new file mode 100644 index 0000000..f003ae3 --- /dev/null +++ b/lib/rubygems_plugin.rb @@ -0,0 +1,93 @@ +[:pre_install, :pre_reset, :pre_uninstall, :post_build, :post_install, :post_reset, :post_uninstall].each do |meth| + block = Proc.new { puts 'This is ' + meth.to_s } + Gem.send(meth, &block) +end + +# class RDoc::RubygemsHook::Fedora < Rdoc::RubygemsHook +# def document options, destination +# +# end +# end +Gem.pre_install do + module RDoc + class RubygemsHook + alias generate_default generate + + def self.load_rdoc + return if @fedora_darkfish_version + + require_relative 'rdoc/generator/fedora_darkfish' + + @fedora_darkfish_version = Gem::Version.new '1.0.0' + end + + # def generate + # if Gem.rpmbuild? + # generate_fedora + # else + # generate_default + # end + # end + + def generate #_fedora + # Unfortunately the generator option for RDoc is not parametrized so + # this has been Copied from RDoc::RubygemsHook#generate + # and darkfish was replaced with fedora at the end of this method. + return if @spec.default_gem? + return unless @generate_ri or @generate_rdoc + + setup + + options = nil + + args = @spec.rdoc_options + args.concat @spec.source_paths + args.concat @spec.extra_rdoc_files + + case config_args = Gem.configuration[:rdoc] + when String then + args = args.concat config_args.split(' ') + when Array then + args = args.concat config_args + end + + delete_legacy_args args + + Dir.chdir @spec.full_gem_path do + options = ::RDoc::Options.new + options.default_title = "#{@spec.full_name} Documentation" + options.parse args + end + + options.quiet = !Gem.configuration.really_verbose + + @rdoc = new_rdoc + @rdoc.options = options + + store = ::RDoc::Store.new + store.encoding = options.encoding + store.dry_run = options.dry_run + store.main = options.main_page + store.title = options.title + + @rdoc.store = store + + say "Parsing documentation for #{@spec.full_name}" + + Dir.chdir @spec.full_gem_path do + @rdoc.parse_files options.files + end + + document 'ri', options, @ri_dir if + @generate_ri and (@force or not File.exist? @ri_dir) + + document 'fedora', options, @rdoc_dir if + @generate_rdoc and (@force or not File.exist? @rdoc_dir) + end + end + end +end + +# Gem.post_install do +# puts require 'fedora_darkfish' +# end |