Class: Ginatra::RepoList
- Inherits:
-
Object
- Object
- Ginatra::RepoList
- Includes:
- Singleton
- Defined in:
- lib/ginatra/repo_list.rb
Overview
Convenience class for me!
Instance Attribute Summary collapse
-
#list ⇒ Object
Returns the value of attribute list.
Class Method Summary collapse
Instance Method Summary collapse
- #add(path, param = File.split(path).last) ⇒ Object
- #find(local_param) ⇒ Object
- #has_repo?(local_param) ⇒ Boolean
-
#initialize ⇒ RepoList
constructor
A new instance of RepoList.
- #refresh ⇒ Object
Constructor Details
#initialize ⇒ RepoList
Returns a new instance of RepoList.
9 10 11 12 |
# File 'lib/ginatra/repo_list.rb', line 9 def initialize self.list = [] self.refresh end |
Instance Attribute Details
#list ⇒ Object
Returns the value of attribute list.
7 8 9 |
# File 'lib/ginatra/repo_list.rb', line 7 def list @list end |
Class Method Details
.find(local_param) ⇒ Object
45 46 47 |
# File 'lib/ginatra/repo_list.rb', line 45 def self.find(local_param) self.instance.find(local_param) end |
.list ⇒ Object
14 15 16 17 |
# File 'lib/ginatra/repo_list.rb', line 14 def self.list self.instance.refresh self.instance.list end |
.method_missing(sym, *args, &block) ⇒ Object
49 50 51 |
# File 'lib/ginatra/repo_list.rb', line 49 def self.method_missing(sym, *args, &block) instance.send(sym, *args, &block) end |
Instance Method Details
#add(path, param = File.split(path).last) ⇒ Object
26 27 28 29 30 |
# File 'lib/ginatra/repo_list.rb', line 26 def add(path, param = File.split(path).last) unless self.has_repo?(param) list << Repo.new(path) end end |
#find(local_param) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/ginatra/repo_list.rb', line 36 def find(local_param) if repo = list.find { |r| r.param == local_param } repo else refresh list.find { |r| r.param == local_param } end end |
#has_repo?(local_param) ⇒ Boolean
32 33 34 |
# File 'lib/ginatra/repo_list.rb', line 32 def has_repo?(local_param) !list.find { |r| r.param == local_param }.nil? end |
#refresh ⇒ Object
19 20 21 22 23 24 |
# File 'lib/ginatra/repo_list.rb', line 19 def refresh Ginatra::Config.git_dirs.map! do |git_dir| files = Dir.glob(git_dir) files.each { |e| add(e) unless Ginatra::Config.ignored_files.include?(File.split(e).last) } end end |