module GemReleaseHelper::Tasks::Common
Attributes
options[R]
Public Class Methods
included(klass)
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 24 def self.included(klass) Tasks.register(klass) end
new(options = {})
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 18 def initialize(options = {}) raise "options should be a Hash, given #{options.class}: #{options} " unless options.is_a?(Hash) @options = options validate_options end
Public Instance Methods
embulk_versions()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 65 def embulk_versions embulk_tags.map{|tag| Gem::Version.new(tag["name"][/v(.*)/, 1])}.sort end
gemfiles_dir()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 53 def gemfiles_dir root_dir.join("gemfiles") end
gemspec_path()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 45 def gemspec_path Pathname.new(File.expand_path(options[:gemspec])) end
install_tasks()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 28 def install_tasks raise NotImplementedError end
logger()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 41 def logger ::Logger.new(STDERR) end
required_options()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 57 def required_options [] # Implement this in subclass if needed end
root_dir()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 49 def root_dir gemspec_path.dirname end
validate_options()
click to toggle source
# File lib/gem_release_helper/tasks/common.rb, line 32 def validate_options raise OptionError, "gemspec file path is required" unless options[:gemspec] raise OptionError, "gemspec file '#{options[:gemspec]}' is not found" unless File.exists?(options[:gemspec]) required_options.map(&:to_sym).each do |opt| raise OptionError, "#{opt} is required" unless options[opt] end end