class Gem::BuildTask
Attributes
gemspec_file[R]
options[R]
Public Class Methods
new(gemspec_file, options = {})
click to toggle source
# File lib/tasks/gem/build_task.rb, line 18 def initialize(gemspec_file, options = {}) @gemspec_file = gemspec_file @options = options end
Public Instance Methods
build_gem(gemspec_file)
click to toggle source
# File lib/tasks/gem/build_task.rb, line 34 def build_gem(gemspec_file) rubygems_output = Anvil::Rubygems.build(gemspec_file) gem_file = extract_gem_file(rubygems_output) FileUtils.mkdir_p('pkg') FileUtils.move(gem_file, 'pkg') File.expand_path("pkg/#{gem_file}") end
extract_gem_file(output)
click to toggle source
# File lib/tasks/gem/build_task.rb, line 44 def extract_gem_file(output) output.match(/File: (.*)$/)[1] end
install?()
click to toggle source
# File lib/tasks/gem/build_task.rb, line 48 def install? options.fetch(:install, true) end
task()
click to toggle source
# File lib/tasks/gem/build_task.rb, line 23 def task path = File.dirname(gemspec_file) Dir.chdir(path) do gem_file = build_gem(gemspec_file) Anvil::Rubygems.install gem_file if install? gem_file end end