Class: PawesomeParks::Park

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

Constant Summary collapse

@@all =
[]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = "Information unavailable", off_leash_description = "Information unavailable", off_leash_time = "Information unavailable", street_address = "Information unavailable", suburb = "Information unavailable", postcode = "Information unavailable") ⇒ Park

Returns a new instance of Park.



7
8
9
10
11
12
13
14
15
# File 'lib/pawesome_parks/park.rb', line 7

def initialize name="Information unavailable", off_leash_description="Information unavailable", off_leash_time="Information unavailable", street_address="Information unavailable", suburb="Information unavailable", postcode="Information unavailable"
    @name=name
    @off_leash_description = off_leash_description
    @off_leash_time = off_leash_time
    @street_address = street_address
    @suburb = suburb
    @postcode = postcode
    @@all << self
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def name
  @name
end

#off_leash_descriptionObject (readonly)

Returns the value of attribute off_leash_description.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def off_leash_description
  @off_leash_description
end

#off_leash_timeObject (readonly)

Returns the value of attribute off_leash_time.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def off_leash_time
  @off_leash_time
end

#postcodeObject (readonly)

Returns the value of attribute postcode.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def postcode
  @postcode
end

#street_addressObject (readonly)

Returns the value of attribute street_address.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def street_address
  @street_address
end

#suburbObject (readonly)

Returns the value of attribute suburb.



3
4
5
# File 'lib/pawesome_parks/park.rb', line 3

def suburb
  @suburb
end

Class Method Details

.allObject



17
18
19
# File 'lib/pawesome_parks/park.rb', line 17

def self.all
    @@all
end

.find_by_name(name) ⇒ Object



29
30
31
# File 'lib/pawesome_parks/park.rb', line 29

def self.find_by_name name
    self.all.find { |park| park.name.downcase == name }
end

.find_by_postcode(postcode) ⇒ Object



25
26
27
# File 'lib/pawesome_parks/park.rb', line 25

def self.find_by_postcode postcode
    self.all.select { |park| park.postcode == postcode }
end

.find_by_suburb(suburb) ⇒ Object



21
22
23
# File 'lib/pawesome_parks/park.rb', line 21

def self.find_by_suburb suburb
    self.all.select { |park| park.suburb.downcase == suburb }
end

.park_namesObject



47
48
49
# File 'lib/pawesome_parks/park.rb', line 47

def self.park_names
    park_names = self.all.map { |park| park.name }
end

.postcodesObject



42
43
44
45
# File 'lib/pawesome_parks/park.rb', line 42

def self.postcodes
    postcodes = self.all.map { |park| park.postcode }
    postcodes.uniq
end

.suburbsObject



37
38
39
40
# File 'lib/pawesome_parks/park.rb', line 37

def self.suburbs
    suburbs = self.all.map { |park| park.suburb.downcase }
    suburbs.uniq
end

.unrestricted_off_leash_hoursObject



33
34
35
# File 'lib/pawesome_parks/park.rb', line 33

def self.unrestricted_off_leash_hours 
    self.all.select { |park| park.off_leash_time == "At all times"}
end