Class: Composer::Repository::FilesystemRepository
- Inherits:
-
WritableHashRepository
- Object
- BaseRepository
- HashRepository
- WritableHashRepository
- Composer::Repository::FilesystemRepository
- Defined in:
- lib/composer/repository/filesystem_repository.rb
Overview
Filesystem repository.
PHP Authors: Konstantin Kudryashov <[email protected]> Jordi Boggiano <[email protected]>
Ruby Authors: Ioannis Kappas <[email protected]>
Constant Summary
Constants inherited from BaseRepository
BaseRepository::SEARCH_FULLTEXT, BaseRepository::SEARCH_NAME
Instance Method Summary collapse
-
#initialize(repository_file) ⇒ FilesystemRepository
constructor
Initializes filesystem repository.
- #reload ⇒ Object
-
#write ⇒ Object
Writes writable repository.
Methods inherited from WritableHashRepository
Methods inherited from HashRepository
#add_package, #count, #find_package, #find_packages, #package?, #packages, #remove_package, #search
Methods inherited from BaseRepository
#find_package, #find_packages, #package?, #packages, #search
Constructor Details
#initialize(repository_file) ⇒ FilesystemRepository
Initializes filesystem repository.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/composer/repository/filesystem_repository.rb', line 26 def initialize(repository_file) unless repository_file raise ArgumentError, 'repository_file must be specified' end unless repository_file.is_a?(Composer::Json::JsonFile) raise TypeError, 'repository_file type must be a \ Composer::Json::JsonFile or superclass' end super([]) @file = repository_file end |
Instance Method Details
#reload ⇒ Object
40 41 42 43 |
# File 'lib/composer/repository/filesystem_repository.rb', line 40 def reload @packages = nil initialize_repository end |
#write ⇒ Object
Writes writable repository.
46 47 48 49 50 51 52 53 |
# File 'lib/composer/repository/filesystem_repository.rb', line 46 def write data = [] dumper = Composer::Package::Dumper::HashDumper.new canonical_packages.each { |package| data << dumper.dump(package) } @file.write(data) end |