Class: Space::Models::Repos
- Inherits:
-
Object
- Object
- Space::Models::Repos
- Includes:
- Events
- Defined in:
- lib/space/models/repos.rb,
lib/space/models/repos/scope.rb,
lib/space/models/repos/collection.rb
Defined Under Namespace
Classes: Collection
Instance Attribute Summary collapse
-
#paths ⇒ Object
Returns the value of attribute paths.
-
#project ⇒ Object
Returns the value of attribute project.
-
#scope ⇒ Object
Returns the value of attribute scope.
Attributes included from Events
Instance Method Summary collapse
- #all ⇒ Object
- #find_by_name(name) ⇒ Object
-
#initialize(project, paths) ⇒ Repos
constructor
A new instance of Repos.
- #names ⇒ Object
- #scoped? ⇒ Boolean
- #select_by_names(names) ⇒ Object
- #subscribe(*args) ⇒ Object
Methods included from Events
#buffering, #buffering?, #notify, #observers
Constructor Details
#initialize(project, paths) ⇒ Repos
Returns a new instance of Repos.
10 11 12 13 |
# File 'lib/space/models/repos.rb', line 10 def initialize(project, paths) @project = project @paths = paths end |
Instance Attribute Details
#paths ⇒ Object
Returns the value of attribute paths.
8 9 10 |
# File 'lib/space/models/repos.rb', line 8 def paths @paths end |
#project ⇒ Object
Returns the value of attribute project.
8 9 10 |
# File 'lib/space/models/repos.rb', line 8 def project @project end |
#scope ⇒ Object
Returns the value of attribute scope.
8 9 10 |
# File 'lib/space/models/repos.rb', line 8 def scope @scope end |
Instance Method Details
#all ⇒ Object
15 16 17 |
# File 'lib/space/models/repos.rb', line 15 def all @all ||= Collection.new(self, paths.map { |path| Repo.new(project, path) }) end |
#find_by_name(name) ⇒ Object
36 37 38 |
# File 'lib/space/models/repos.rb', line 36 def find_by_name(name) all.detect { |repo| repo.name == name } || raise("cannot find repo #{name.inspect}") end |
#names ⇒ Object
19 20 21 |
# File 'lib/space/models/repos.rb', line 19 def names @names ||= all.map(&:name) end |
#scoped? ⇒ Boolean
32 33 34 |
# File 'lib/space/models/repos.rb', line 32 def scoped? !!@scope end |
#select_by_names(names) ⇒ Object
40 41 42 |
# File 'lib/space/models/repos.rb', line 40 def select_by_names(names) Collection.new(self, all.select { |repo| names.include?(repo.name) }) end |
#subscribe(*args) ⇒ Object
44 45 46 47 |
# File 'lib/space/models/repos.rb', line 44 def subscribe(*args) super all.each { |repo| repo.subscribe(*args) } end |