1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 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
|
require 'librarian/manifest'
require 'librarian/source/basic_api'
require 'librarian/mock/source/mock/registry'
module Librarian
module Mock
module Source
class Mock
include Librarian::Source::BasicApi
lock_name 'MOCK'
spec_options []
attr_accessor :environment
private :environment=
attr_reader :name
def initialize(environment, name, options)
self.environment = environment
@name = name
end
def to_s
name
end
def ==(other)
other &&
self.class == other.class &&
self.name == other.name
end
alias :eql? :==
def hash
self.to_s.hash
end
def to_spec_args
[name, {}]
end
def to_lock_options
{:remote => name}
end
def registry
environment.registry[name]
end
def manifest(name, version, dependencies)
manifest = Manifest.new(self, name)
manifest.version = version
manifest.dependencies = dependencies
manifest
end
def manifests(name)
if d = registry[name]
d.map{|v| manifest(name, v[:version], v[:dependencies])}
else
nil
end
end
def install!(manifest)
end
def to_s
name
end
def fetch_version(name, extra)
extra
end
def fetch_dependencies(name, version, extra)
d = registry[name]
m = d.find{|v| v[:version] == version.to_s}
m[:dependencies]
end
end
end
end
end
|