Class: Composer::Repository::FilesystemRepository
- Inherits:
-
WritableArrayRepository
- Object
- ArrayRepository
- WritableArrayRepository
- 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]>
Instance Method Summary collapse
-
#initialize(repository_file) ⇒ FilesystemRepository
constructor
Initializes filesystem repository.
- #reload ⇒ Object
-
#write ⇒ Object
Writes writable repository.
Methods inherited from WritableArrayRepository
Methods inherited from ArrayRepository
#add_package, #count, #find_package, #find_packages, #package?, #packages, #remove_package, #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
41 42 43 44 |
# File 'lib/composer/repository/filesystem_repository.rb', line 41 def reload @packages = nil configure end |
#write ⇒ Object
Writes writable repository.
47 48 49 50 51 52 53 54 |
# File 'lib/composer/repository/filesystem_repository.rb', line 47 def write data = [] dumper = Composer::Package::Dumper::HashDumper.new canonical_packages.each { |package| data << dumper.dump(package) } @file.write(data) end |