Class: Ore::Dependency
- Inherits:
-
Object
- Object
- Ore::Dependency
- Defined in:
- lib/ore/dependency.rb
Overview
Represents a RubyGem dependency.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
The name of the dependency.
-
#versions ⇒ Object
readonly
The required versions.
Class Method Summary collapse
-
.parse(dependency) ⇒ Dependency
Parses a dependency string.
-
.parse_versions(name, versions) ⇒ Dependency
Parses a version string.
Instance Method Summary collapse
-
#initialize(name, *versions) ⇒ Dependency
constructor
Creates a new dependency.
Constructor Details
#initialize(name, *versions) ⇒ Dependency
Creates a new dependency.
22 23 24 25 |
# File 'lib/ore/dependency.rb', line 22 def initialize(name,*versions) @name = name @versions = versions end |
Instance Attribute Details
#name ⇒ Object (readonly)
The name of the dependency
8 9 10 |
# File 'lib/ore/dependency.rb', line 8 def name @name end |
#versions ⇒ Object (readonly)
The required versions
11 12 13 |
# File 'lib/ore/dependency.rb', line 11 def versions @versions end |
Class Method Details
.parse(dependency) ⇒ Dependency
Parses a dependency string.
61 62 63 64 65 |
# File 'lib/ore/dependency.rb', line 61 def self.parse(dependency) name, versions = dependency.strip.split(/\s+/,2) return parse_versions(name,versions) end |
.parse_versions(name, versions) ⇒ Dependency
Parses a version string.
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/ore/dependency.rb', line 39 def self.parse_versions(name,versions) versions = case versions when String versions.strip.split(/,\s*/) when Array versions.map { |v| v.to_s } else [] end return new(name,*versions) end |