Class: Canpe::RepositoryStore
- Inherits:
-
Object
- Object
- Canpe::RepositoryStore
- Defined in:
- lib/canpe/repository_store.rb
Constant Summary collapse
- LOAD_PATHS =
[Dir.pwd, ENV['HOME'], Gem::Specification.find_by_name('canpe').gem_dir]
- DEFAULT_REPOSITORY_DIR =
'.canpe_repos'
Instance Attribute Summary collapse
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(path) ⇒ RepositoryStore
constructor
A new instance of RepositoryStore.
- #name ⇒ Object
- #repositories_root ⇒ Object
- #repository_dir ⇒ Object
- #repository_list ⇒ Object
- #root_url ⇒ Object
Constructor Details
#initialize(path) ⇒ RepositoryStore
Returns a new instance of RepositoryStore.
30 31 32 |
# File 'lib/canpe/repository_store.rb', line 30 def initialize(path) @path = path end |
Instance Attribute Details
#path ⇒ Object (readonly)
Returns the value of attribute path.
10 11 12 |
# File 'lib/canpe/repository_store.rb', line 10 def path @path end |
Class Method Details
.repository_list ⇒ Object
25 26 27 |
# File 'lib/canpe/repository_store.rb', line 25 def repository_list @_repository_list ||= repository_stores.map { |store| store.repository_list }.flatten end |
.repository_stores ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/canpe/repository_store.rb', line 16 def repository_stores stores = [] LOAD_PATHS.each do |path| repository_store_path = File.join(path, DEFAULT_REPOSITORY_DIR) stores << new(path) if File.directory?(repository_store_path) end stores end |
Instance Method Details
#name ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/canpe/repository_store.rb', line 55 def name if path == ENV['HOME'] 'HOME' else Pathname.new(path).relative_path_from(Pathname.new(ENV['HOME'])) end end |
#repositories_root ⇒ Object
42 43 44 |
# File 'lib/canpe/repository_store.rb', line 42 def repositories_root File.join(root_url, repository_dir) end |
#repository_dir ⇒ Object
38 39 40 |
# File 'lib/canpe/repository_store.rb', line 38 def repository_dir DEFAULT_REPOSITORY_DIR end |
#repository_list ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/canpe/repository_store.rb', line 46 def repository_list repository_list = [] dir_list = Dir.glob(File.join(repositories_root, '*')) dir_list.each do |dir_path| repository_list << Repository.new(File.basename(dir_path), self) if File.directory? dir_path end repository_list end |
#root_url ⇒ Object
34 35 36 |
# File 'lib/canpe/repository_store.rb', line 34 def root_url path end |