Sha256: 609ab22c8587e52791b970d63a7d1175d73425c9c80ccd3d2c69988fccfe1899
Contents?: true
Size: 1.66 KB
Versions: 4
Compression:
Stored size: 1.66 KB
Contents
class Require class Gemspec def clean_paths(paths, more=nil) paths.collect { |p| p.gsub("#{root}/#{more}", '') } end def executables clean_paths Dir["#{root}/bin/*"], 'bin/' end def extra_doc_files clean_paths Dir["#{root}/README.*"] end def files ignore = File.read("#{root}/.gitignore").split("\n").collect do |path| "#{root}/#{path.strip}" end clean_paths (Dir["#{root}/**/*"] - Dir[*ignore]) end def instance raise "Require must be called with a root path parameter" unless root defaults = { :executables => executables, :extra_rdoc_files => extra_doc_files, :files => files, :has_rdoc => false, :platform => Gem::Platform::RUBY, :require_path => 'lib' } ::Gem::Specification.new do |s| Require.get(:gemspec).all.each do |(option, value)| case option when :dependencies then value.all(:gem).each do |dependency| gem = Require.get(:gem, dependency.name) version = dependency.version || (gem.version rescue nil) s.add_dependency(dependency.name.to_s, version) end else if s.respond_to?("#{option}=") s.send "#{option}=", value || defaults[option] defaults[option] = nil end end end defaults.each do |option, value| s.send("#{option}=", value) if value end end end def name Require.get(:gemspec).get(:name)[1] rescue nil end def root Require.root end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
require-0.1.8 | lib/require/gemspec.rb |
require-0.1.7 | lib/require/gemspec.rb |
require-0.1.6 | lib/require/gemspec.rb |
require-0.1.5 | lib/require/gemspec.rb |