Class: Ginatra::RepoList

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/ginatra/repo_list.rb

Overview

Convenience class for me!

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRepoList

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

#listObject

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

.listObject



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

Returns:

  • (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

#refreshObject



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