Class: Orchid::Package
- Inherits:
-
Object
- Object
- Orchid::Package
- Defined in:
- lib/orchid/package.rb
Instance Attribute Summary collapse
-
#dependencies ⇒ Object
readonly
Returns the value of attribute dependencies.
-
#deps ⇒ Object
Returns the value of attribute deps.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#vapi ⇒ Object
readonly
Returns the value of attribute vapi.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name, vapi = nil, deps = nil) ⇒ Package
constructor
A new instance of Package.
- #to_param ⇒ Object
Constructor Details
#initialize(name, vapi = nil, deps = nil) ⇒ Package
Returns a new instance of Package.
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/orchid/package.rb', line 62 def initialize(name, vapi = nil, deps = nil) @name = name.to_s @vapi = vapi.to_s if vapi if deps @deps = deps.to_s resolve_dependencies end if !@vapi vapifile = Pathname.new(Orchid::DIRS[:vapidir]) + "#{name}.vapi" depsfile = Pathname.new(Orchid::DIRS[:vapidir]) + "#{name}.deps" if vapifile.exist? and vapifile.file? @vapi = vapifile.to_s if !@deps and (depsfile.exist? and depsfile.file?) @deps = depsfile.to_s resolve_dependencies end else raise Orchid::PackageDoesNotExistError.new("package `#{@name}' doesn't exist in the standard location", @name, Orchid::INFO[:vapidir]) end end Orchid::CHECKED_PACKAGES[name] = self end |
Instance Attribute Details
#dependencies ⇒ Object (readonly)
Returns the value of attribute dependencies.
54 55 56 |
# File 'lib/orchid/package.rb', line 54 def dependencies @dependencies end |
#deps ⇒ Object
Returns the value of attribute deps.
54 55 56 |
# File 'lib/orchid/package.rb', line 54 def deps @deps end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
52 53 54 |
# File 'lib/orchid/package.rb', line 52 def name @name end |
#vapi ⇒ Object (readonly)
Returns the value of attribute vapi.
53 54 55 |
# File 'lib/orchid/package.rb', line 53 def vapi @vapi end |
Class Method Details
.lookup(name, options = {:vapidirs => [], :version => nil}) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/orchid/package.rb', line 89 def self.lookup(name, = {:vapidirs => [], :version => nil}) package = nil version = [:version].to_a vapidirs = [:vapidirs].to_a vapidirs << Orchid::DIRS[:vapidir] vapidirs.compact! vapidirs = vapidirs.to_a.uniq if Orchid::CHECKED_PACKAGES[name] return Orchid::CHECKED_PACKAGES[name] end vapidirs.each do |vapidir| vapidir = Pathname.new(vapidir). vapifile = vapidir + "#{name}.vapi" depsfile = vapidir + "#{name}.deps" if vapifile.exist? and vapifile.file? begin package = Orchid::Package.new(name, vapifile) if depsfile.exist? and depsfile.file? package.deps = depsfile end printf "checking for #{name}.vapi... " if Orchid::PRINT if package puts "yes" if Orchid::PRINT return package if PKGConfig.have_package(name, *version) end rescue Orchid::PackageDoesNotExistError => e puts "no" if Orchid::PRINT end end end return nil end |
Instance Method Details
#to_param ⇒ Object
130 131 132 |
# File 'lib/orchid/package.rb', line 130 def to_param return "--pkg '#{name}'" end |