class Jeweler
A Jeweler helps you craft the perfect Rubygem. Give him a gemspec, and he takes care of the rest.
def build_gem
def build_gem Jeweler::Commands::BuildGem.build_for(self).run end
def bump_major_version()
Bumps the major version.
def bump_major_version() Jeweler::Commands::Version::BumpMajor.build_for(self).run end
def bump_minor_version()
Bumps the minor version.
def bump_minor_version() Jeweler::Commands::Version::BumpMinor.build_for(self).run end
def bump_patch_version()
Bumps the patch version.
def bump_patch_version() Jeweler::Commands::Version::BumpPatch.build_for(self).run end
def fill_in_gemspec_defaults(gemspec)
def fill_in_gemspec_defaults(gemspec) if gemspec.files.nil? || gemspec.files.empty? gemspec.files = FileList["[A-Z]*.*", "{bin,generators,lib,test,spec}/**/*"] end if gemspec.executables.nil? || gemspec.executables.empty? gemspec.executables = Dir["#{@base_dir}/bin/*"].map do |f| File.basename(f) end end gemspec.has_rdoc = true gemspec.rdoc_options << '--inline-source' << '--charset=UTF-8' if gemspec.extra_rdoc_files.nil? || gemspec.extra_rdoc_files.empty? gemspec.extra_rdoc_files = FileList["README*", "ChangeLog*", "LICENSE*"] end gemspec end
def in_git_repo?
def in_git_repo? File.exists?(File.join(self.base_dir, '.git')) end
def initialize(gemspec, base_dir = '.')
def initialize(gemspec, base_dir = '.') raise(GemspecError, "Can't create a Jeweler with a nil gemspec") if gemspec.nil? @base_dir = base_dir @gemspec = fill_in_gemspec_defaults(gemspec) @repo = Git.open(base_dir) if in_git_repo? @version_helper = Jeweler::VersionHelper.new(@base_dir) @output = $stdout @commit = true @gemspec_helper = GemSpecHelper.new(@gemspec, base_dir) @rubyforge = RubyForge.new end
def install_gem
def install_gem Jeweler::Commands::InstallGem.build_for(self).run end
def major_version
Major version, as defined by the gemspec's Version module.
def major_version @version_helper.major end
def minor_version
Minor version, as defined by the gemspec's Version module.
def minor_version @version_helper.minor end
def patch_version
Patch version, as defined by the gemspec's Version module.
def patch_version @version_helper.patch end
def release
def release Jeweler::Commands::Release.build_for(self).run end
def release_gem_to_rubyforge
def release_gem_to_rubyforge Jeweler::Commands::ReleaseToRubyforge.build_for(self).run end
def setup_rubyforge
def setup_rubyforge Jeweler::Commands::SetupRubyforge.build_for(self).run end
def valid_gemspec?
def valid_gemspec? gemspec_helper.valid? end
def validate_gemspec
Validates the project's gemspec from disk in an environment similar to how
def validate_gemspec Jeweler::Commands::ValidateGemspec.build_for(self).run end
def version
def version @version_helper.to_s end
def write_gemspec
def write_gemspec Jeweler::Commands::WriteGemspec.build_for(self).run end
def write_version(major, minor, patch, options = {})
def write_version(major, minor, patch, options = {}) command = Jeweler::Commands::Version::Write.build_for(self) command.major = major command.minor = minor command.patch = patch command.run end