Class: Zodiac

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

Constant Summary collapse

@@attributes =
[:name, :traits, :physical_traits, :ruling_planet, :compatibility, :dates, :favorites, :scraper2, :symbol, :element, :famous_people, :secret_wish, :hates, :good_traits, :bad_traits, :mental_traits, :sun_dates]
@@all =
[]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Zodiac

Returns a new instance of Zodiac.



7
8
9
10
# File 'lib/zodiac.rb', line 7

def initialize(attributes)
    attributes.each {|key, value| self.send(("#{key}="), value) if self.methods.include?("#{key}=".to_sym)}
    @@all << self
end

Class Method Details

.allObject



37
38
39
# File 'lib/zodiac.rb', line 37

def self.all 
    @@all 
end

.all_datesObject



20
21
22
# File 'lib/zodiac.rb', line 20

def self.all_dates
    self.all.map {|zodiac| zodiac.sun_dates}
end

.all_namesObject



24
25
26
# File 'lib/zodiac.rb', line 24

def self.all_names
    self.all.map {|zodiac| zodiac.name }
end

.clearObject



41
42
43
# File 'lib/zodiac.rb', line 41

def self.clear 
    @@all = []
end

.create_new_zodiacsObject



16
17
18
# File 'lib/zodiac.rb', line 16

def self.create_new_zodiacs
    Scraper.new.scrape
end

.get_attributesObject



12
13
14
# File 'lib/zodiac.rb', line 12

def self.get_attributes
    @@attributes
end

.look_up_instance(zodiac_sign) ⇒ Object

following method not used in program, but used to develop, debug, and edit using irb.



29
30
31
32
33
34
35
# File 'lib/zodiac.rb', line 29

def self.look_up_instance(zodiac_sign)
    Zodiac.all.each do |zodiac| 
        if zodiac.name == zodiac_sign
            return zodiac
        end
    end
end

Instance Method Details

#datesObject



54
55
56
57
# File 'lib/zodiac.rb', line 54

def dates 
    array_dates = self.sun_dates
    array_dates.join(' - ')
end

#traitsObject



45
46
47
48
49
50
51
52
# File 'lib/zodiac.rb', line 45

def traits 
    trait_array = []
    trait_array << self.good_traits
    trait_array << self.bad_traits
    trait_array << self.mental_traits
    trait_list = trait_array.join(". ")
    trait_list
end