Class: Building

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input_options) ⇒ Building

Returns a new instance of Building.



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

def initialize(input_options)
  @id = input_options["id"]
  @name = input_options["name"]
  @address = input_options["address"]
  @height = input_options["height"]
  @construction_date = input_options["construction_date"]
  @architect = input_options["architect"]
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



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

def address
  @address
end

#architectObject (readonly)

Returns the value of attribute architect.



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

def architect
  @architect
end

#construction_dateObject (readonly)

Returns the value of attribute construction_date.



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

def construction_date
  @construction_date
end

#heightObject (readonly)

Returns the value of attribute height.



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

def height
  @height
end

#idObject (readonly)

Returns the value of attribute id.



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

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



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

def name
  @name
end

Class Method Details

.allObject



24
25
26
27
28
29
30
31
# File 'lib/building_bui_samir.rb', line 24

def self.all
  response = HTTP.get("http://localhost:3000/api/buildings")
  all_building_data = response.parse

  all_building_data.each do |building_data|
    Building.new(building_data)
  end 
end

.create(new_building) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/building_bui_samir.rb', line 33

def self.create(new_building)
  response = HTTP.post(
                       "http://localhost:3000/api/buildings", 
                       form: new_building
                      )
  new_building_data = response.parse
  Building.new(new_building_data)
end

.find(input_id) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/building_bui_samir.rb', line 16

def self.find(input_id)
  @input_id = input_id
  response = HTTP.get("http://localhost:3000/api/buildings/#{ input_id }") 
 
  building_data = response.parse
  Building.new(building_data)
end

Instance Method Details

#destroyObject



49
50
51
# File 'lib/building_bui_samir.rb', line 49

def destroy
  HTTP.delete("http://localhost:3000/api/buildings/#{ self.id }")
end

#update(updated_info) ⇒ Object



42
43
44
45
46
47
# File 'lib/building_bui_samir.rb', line 42

def update(updated_info)
  response = HTTP.patch(
                        "http://localhost:3000/api/buildings/#{ self.id }",
                        form: updated_info
                         )    
end