class Factory
Attributes
gem_name[R]
type[R]
version[R]
versions[R]
Public Class Methods
new(options)
click to toggle source
# File lib/gem_velocity/velocitators/factory.rb, line 7 def initialize(options) # one ver passed if options[:gem_name] && options[:version] @gem_name = options[:gem_name] @version = options[:version] @type = type_from_version(@version) @versions = self.velocitator.versions elsif options[:full_name] @gem_name = name_from_full_name(options[:full_name]) @version = version_from_full_name(options[:full_name]) @type = type_from_version(@version) @versions = self.velocitator.versions end end
Public Instance Methods
velocitator()
click to toggle source
# File lib/gem_velocity/velocitators/factory.rb, line 23 def velocitator if @type == :aggregated @velocitator ||= AggregatedVelocitator.new(@gem_name, @version) elsif @type == :single @velocitator ||= SingleVelocitator.new(@gem_name, @version) else raise 'no velocitor found to generate!' end end
Private Instance Methods
name_from_full_name(str)
click to toggle source
# File lib/gem_velocity/velocitators/factory.rb, line 35 def name_from_full_name(str) str.split("-")[0..-2].join("-") end
type_from_version(str)
click to toggle source
# File lib/gem_velocity/velocitators/factory.rb, line 43 def type_from_version(str) if str.last.downcase == "x" :aggregated else :single end end
version_from_full_name(str)
click to toggle source
# File lib/gem_velocity/velocitators/factory.rb, line 39 def version_from_full_name(str) str.split("-").last end