class Bones::GemPackageTask
Attributes
gem_spec[RW]
Ruby GEM spec containing the metadata for this package. The name, version and package_files are automatically determined from the GEM spec and don’t need to be explicitly provided.
Public Instance Methods
define()
click to toggle source
Create the Rake tasks and actions specified by
this GemPackageTask.
(define is automatically called if a block is given to
new).
Calls superclass method
# File lib/bones/gem_package_task.rb, line 42 def define super task :prereqs task :package => ["#{package_dir_path}/#{gem_file}"] file "#{package_dir_path}/#{gem_file}" => [package_dir_path] + package_files do when_writing("Creating GEM") { chdir(package_dir_path) do if RUBY_VERSION >= "2" Gem::Package.build(gem_spec) else Gem::Builder.new(gem_spec).build end verbose(true) { mv gem_file, "../#{gem_file}" } end } end file package_dir_path => 'gem:prereqs' do mkdir_p package_dir rescue nil end end
gem_file()
click to toggle source
# File lib/bones/gem_package_task.rb, line 69 def gem_file if @gem_spec.platform == Gem::Platform::RUBY "#{package_name}.gem" else "#{package_name}-#{@gem_spec.platform}.gem" end end
init(gem)
click to toggle source
Initialization tasks without the “yield self” or define operations.
Calls superclass method
# File lib/bones/gem_package_task.rb, line 32 def init(gem) super(gem.name, gem.version) @gem_spec = gem @package_files += gem_spec.files if gem_spec.files end
Public Class Methods
new(gem_spec) { |self| ... }
click to toggle source
Create a GEM Package task library. Automatically define the gem if a block
is given. If no block is supplied, then define needs to be
called to define the task.
# File lib/bones/gem_package_task.rb, line 23 def initialize(gem_spec) init(gem_spec) yield self if block_given? define if block_given? end