Class: SolidusAdmin::Orders::Show::Address::Component
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- SolidusAdmin::Orders::Show::Address::Component
- Includes:
- Layout::PageHelpers
- Defined in:
- app/components/solidus_admin/orders/show/address/component.rb
Constant Summary collapse
- VALID_TYPES =
['ship', 'bill'].freeze
Instance Method Summary collapse
- #address_frame_id ⇒ Object
- #form_id ⇒ Object
- #format_address(address) ⇒ Object
-
#initialize(order:, address:, user: nil, type: 'ship') ⇒ Component
constructor
A new instance of Component.
- #use_attribute ⇒ Object
- #validate_address_type(type) ⇒ Object
Constructor Details
#initialize(order:, address:, user: nil, type: 'ship') ⇒ Component
Returns a new instance of Component.
8 9 10 11 12 13 14 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 8 def initialize(order:, address:, user: nil, type: 'ship') @order = order @user = user @address = address @addresses = user&.addresses.to_a.reject(&:new_record?) @type = validate_address_type(type) end |
Instance Method Details
#address_frame_id ⇒ Object
20 21 22 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 20 def address_frame_id @table_frame_id ||= "#{stimulus_id}--#{@type}-address-frame-#{@order.id}" end |
#form_id ⇒ Object
16 17 18 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 16 def form_id @form_id ||= "#{stimulus_id}--form-#{@type}-#{@order.id}" end |
#format_address(address) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 33 def format_address(address) safe_join([ address.name, tag.br, address.address1, tag.br, address.address2, address.city, address.zipcode, address.state&.name, tag.br, address.country.name, tag.br, address.phone, ], " ") end |
#use_attribute ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 24 def use_attribute case @type when 'ship' 'use_shipping' when 'bill' 'use_billing' end end |
#validate_address_type(type) ⇒ Object
50 51 52 |
# File 'app/components/solidus_admin/orders/show/address/component.rb', line 50 def validate_address_type(type) VALID_TYPES.include?(type) ? type : raise(ArgumentError, "Invalid address type: #{type}") end |