class Bunup::Gem
Easily access gem attributes
Constants
- ALLOWED_CHARACTERS
- NAME_PATTERN
- SPECIAL_CHARACTERS
Gem
name patterns taken from github.com/rubygems/rubygems.org/blob/master/lib/patterns.rb
Attributes
installed_version[RW]
name[RW]
newest_version[RW]
Public Class Methods
new(name: nil, installed_version: nil, newest_version: nil)
click to toggle source
# File lib/bunup/gem.rb, line 15 def initialize(name: nil, installed_version: nil, newest_version: nil) @name = name @installed_version = Values::Version.new(installed_version) @newest_version = Values::Version.new(newest_version) validate end
Public Instance Methods
installed_from_git?()
click to toggle source
# File lib/bunup/gem.rb, line 22 def installed_from_git? installed_version.from_git? || newest_version.from_git? end
Private Instance Methods
valid_name?()
click to toggle source
# File lib/bunup/gem.rb, line 38 def valid_name? name =~ NAME_PATTERN end
validate()
click to toggle source
# File lib/bunup/gem.rb, line 28 def validate abort "Invalid gem name: #{name}" unless valid_name? unless installed_version.valid? abort "Invalid version for #{name}: #{installed_version}" end unless newest_version.valid? abort "Invalid version for #{name}: #{newest_version}" end end