Class: LoopermanSamples::Creator

Inherits:
Object
  • Object
show all
Defined in:
lib/looperman_samples/creator.rb

Constant Summary collapse

@@creators =

creator class - a creator has a name and can have many samples

[]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil) ⇒ Creator

Returns a new instance of Creator.



14
15
16
17
18
# File 'lib/looperman_samples/creator.rb', line 14

def initialize(name = nil)
  @name = name
  @samples = []
  @@creators << self
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/looperman_samples/creator.rb', line 5

def name
  @name
end

#samplesObject

Returns the value of attribute samples.



5
6
7
# File 'lib/looperman_samples/creator.rb', line 5

def samples
  @samples
end

Class Method Details

.allObject



10
11
12
# File 'lib/looperman_samples/creator.rb', line 10

def self.all
  @@creators
end

.list_all_samples_by_creatorObject



32
33
34
35
36
37
# File 'lib/looperman_samples/creator.rb', line 32

def self.list_all_samples_by_creator
  # binding.pry
  $samples_by_creator.each_with_index do |sample, index|
    puts "#{index + 1}." + " #{sample.title}"
  end
end

Instance Method Details

#add_sample(sample) ⇒ Object

adds the sample into the creator’s repertoire



27
28
29
30
# File 'lib/looperman_samples/creator.rb', line 27

def add_sample(sample)
  sample.creator = self unless sample.creator
  self.samples << sample unless self.samples.include?(sample)
end