Class: ExampleInstallation
- Inherits:
-
Object
- Object
- ExampleInstallation
- Includes:
- ActiveModel::Serialization
- Defined in:
- app/models/example_installation.rb
Overview
Read-only projection of a RoomConfiguration that exposes the
customer-facing fields shown on the "Example Installations" carousel
on landing pages — price, coverage, wattage, voltage, operating cost,
and room type — without leaking the internals of the underlying room.
Instance Method Summary collapse
- #coverage ⇒ Object
- #image ⇒ Object
-
#initialize(room_configuration) ⇒ ExampleInstallation
constructor
A new instance of ExampleInstallation.
- #operating_cost ⇒ Object
- #price ⇒ Object
- #room_type_name ⇒ Object
- #voltage ⇒ Object
- #wattage ⇒ Object
Constructor Details
#initialize(room_configuration) ⇒ ExampleInstallation
Returns a new instance of ExampleInstallation.
9 10 11 |
# File 'app/models/example_installation.rb', line 9 def initialize(room_configuration) @room_configuration = room_configuration end |
Instance Method Details
#coverage ⇒ Object
22 23 24 |
# File 'app/models/example_installation.rb', line 22 def coverage @room_configuration.coverage_percentage || 100 # need some number here end |
#image ⇒ Object
13 14 15 16 |
# File 'app/models/example_installation.rb', line 13 def image # Plan images can be served directly from the room configuration using send_file. Discontinuing vignette plan images # room_configuration.vignette_plan_image end |
#operating_cost ⇒ Object
34 35 36 |
# File 'app/models/example_installation.rb', line 34 def @room_configuration. end |
#price ⇒ Object
18 19 20 |
# File 'app/models/example_installation.rb', line 18 def price @room_configuration.total.to_f.round(2) end |
#room_type_name ⇒ Object
38 39 40 |
# File 'app/models/example_installation.rb', line 38 def room_type_name @room_configuration.room_type.name end |
#voltage ⇒ Object
30 31 32 |
# File 'app/models/example_installation.rb', line 30 def voltage @room_configuration.control_voltage || @room_configuration.line_items.heating_elements.first.item.voltage # need some number here end |
#wattage ⇒ Object
26 27 28 |
# File 'app/models/example_installation.rb', line 26 def wattage @room_configuration.calculate_total_watts end |