Class: Librarian::Manifest
- Inherits:
-
Object
- Object
- Librarian::Manifest
show all
- Defined in:
- lib/librarian/manifest.rb,
lib/librarian/manifest/version.rb,
lib/librarian/manifest/pre_release_version.rb
Defined Under Namespace
Classes: PreReleaseVersion, Version
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(source, name, extra = nil) ⇒ Manifest
Returns a new instance of Manifest.
11
12
13
14
15
16
17
|
# File 'lib/librarian/manifest.rb', line 11
def initialize(source, name, = nil)
assert_name_valid! name
self.source = source
self.name = name
self. =
end
|
Instance Attribute Details
Returns the value of attribute extra.
8
9
10
|
# File 'lib/librarian/manifest.rb', line 8
def
@extra
end
|
#name ⇒ Object
Returns the value of attribute name.
8
9
10
|
# File 'lib/librarian/manifest.rb', line 8
def name
@name
end
|
#source ⇒ Object
Returns the value of attribute source.
8
9
10
|
# File 'lib/librarian/manifest.rb', line 8
def source
@source
end
|
Instance Method Details
#dependencies ⇒ Object
45
46
47
|
# File 'lib/librarian/manifest.rb', line 45
def dependencies
defined_dependencies || fetched_dependencies
end
|
#dependencies=(dependencies) ⇒ Object
49
50
51
|
# File 'lib/librarian/manifest.rb', line 49
def dependencies=(dependencies)
self.defined_dependencies = _normalize_dependencies(dependencies)
end
|
#dependencies? ⇒ Boolean
53
54
55
56
57
58
59
|
# File 'lib/librarian/manifest.rb', line 53
def dependencies?
return unless defined_dependencies
defined_dependencies.zip(fetched_dependencies).all? do |(a, b)|
a.name == b.name && a.requirement == b.requirement
end
end
|
#exclude_dependencies!(exclusions) ⇒ Object
Remove dependencies excluded, and return them
62
63
64
65
66
|
# File 'lib/librarian/manifest.rb', line 62
def exclude_dependencies!(exclusions)
included, excluded = dependencies.partition { |d| !exclusions.include? d.name }
self.dependencies = included
excluded
end
|
#install! ⇒ Object
72
73
74
|
# File 'lib/librarian/manifest.rb', line 72
def install!
source.install!(self)
end
|
#latest ⇒ Object
37
38
39
|
# File 'lib/librarian/manifest.rb', line 37
def latest
@latest ||= source.manifests(name).first
end
|
#outdated? ⇒ Boolean
41
42
43
|
# File 'lib/librarian/manifest.rb', line 41
def outdated?
latest.version > version
end
|
#satisfies?(dependency) ⇒ Boolean
68
69
70
|
# File 'lib/librarian/manifest.rb', line 68
def satisfies?(dependency)
dependency.requirement.satisfied_by?(version)
end
|
#to_s ⇒ Object
19
20
21
|
# File 'lib/librarian/manifest.rb', line 19
def to_s
"#{name}/#{version} <#{source}>"
end
|
#version ⇒ Object
23
24
25
|
# File 'lib/librarian/manifest.rb', line 23
def version
defined_version || fetched_version
end
|
#version=(version) ⇒ Object
27
28
29
|
# File 'lib/librarian/manifest.rb', line 27
def version=(version)
self.defined_version = _normalize_version(version)
end
|
#version? ⇒ Boolean
31
32
33
34
35
|
# File 'lib/librarian/manifest.rb', line 31
def version?
return unless defined_version
defined_version == fetched_version
end
|