Module: SpreeCmCommissioner::HomepageSectionBitwise
- Extended by:
- ActiveSupport::Concern
- Included in:
- HomepageSection
- Defined in:
- app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
Constant Summary collapse
- BIT_SEGMENT =
Append only: [SpreeCmCommissioner::HomepageBackground] maps these keys to an integer enum by index, so inserting one renumbers every stored background.
{ general: 0b00001, ticket: 0b00010, tour: 0b00100, accommodation: 0b01000, things_to_do: 0b10000, football: 0b100000, show: 0b1000000, bus: 0b10000000, intercity_taxi: 0b100000000, rails: 0b1000000000, ferry: 0b10000000000 }.freeze
- BIT_MINI_APP =
Keys match the
mini_appquery param the app sends (ApiConstant.miniApp.paramValue). { vattanac: 0b001, acleda: 0b010, wing: 0b100 }.freeze
- MINI_APP_HOME_SEGMENT =
The feed each mini app's home requests, mirroring
isWing ? BusRoute : HomeRoutein routes.dart. { vattanac: :general, acleda: :general, wing: :bus }.freeze
Instance Method Summary collapse
- #mini_app_enabled?(bit_value) ⇒ Boolean
- #mini_apps ⇒ Object
- #segment_enabled?(bit_value) ⇒ Boolean
- #segments ⇒ Object
Instance Method Details
#mini_app_enabled?(bit_value) ⇒ Boolean
63 64 65 |
# File 'app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb', line 63 def mini_app_enabled?(bit_value) mini_app.to_i & bit_value != 0 end |
#mini_apps ⇒ Object
57 58 59 60 61 |
# File 'app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb', line 57 def mini_apps BIT_MINI_APP.filter_map do |mini_app_value, bit_value| mini_app_value if mini_app_enabled?(bit_value) end end |
#segment_enabled?(bit_value) ⇒ Boolean
53 54 55 |
# File 'app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb', line 53 def segment_enabled?(bit_value) segment & bit_value != 0 end |
#segments ⇒ Object
47 48 49 50 51 |
# File 'app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb', line 47 def segments BIT_SEGMENT.filter_map do |segment_value, bit_value| segment_value if segment_enabled?(bit_value) end end |