Module: SpreeCmCommissioner::KycBitwise
- Extended by:
- ActiveSupport::Concern
- Included in:
- Guest
- Defined in:
- app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb
Constant Summary collapse
- BIT_FIELDS =
{ guest_name: 0b1, guest_gender: 0b10, guest_dob: 0b100, guest_occupation: 0b1000, guest_id_card: 0b10000, guest_nationality: 0b100000, guest_age: 0b1000000, guest_emergency_contact: 0b10000000, guest_organization: 0b100000000, guest_expectation: 0b1000000000, guest_social_contact: 0b10000000000, guest_address: 0b100000000000, guest_phone_number: 0b1000000000000, guest_contact: 0b10000000000000 }.freeze
- ORDERED_BIT_FIELDS =
i[ guest_name guest_gender guest_phone_number guest_contact guest_dob guest_occupation guest_nationality guest_age guest_emergency_contact guest_organization guest_address guest_expectation guest_id_card ].freeze
Instance Method Summary collapse
- #available_social_contact_platforms ⇒ Object
- #kyc? ⇒ Boolean
- #kyc_fields ⇒ Object
- #kyc_value_enabled?(bit_value) ⇒ Boolean
- #unordered_kyc_fields ⇒ Object
Instance Method Details
#available_social_contact_platforms ⇒ Object
63 64 65 66 |
# File 'app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb', line 63 def platforms = SpreeCmCommissioner::Guest..keys platforms.sort_by { |platform| platform == 'other' ? 1 : 0 } end |
#kyc? ⇒ Boolean
39 |
# File 'app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb', line 39 def kyc? = kyc != 0 |
#kyc_fields ⇒ Object
53 54 55 |
# File 'app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb', line 53 def kyc_fields unordered_kyc_fields.sort_by { |item| ORDERED_BIT_FIELDS.index(item) } end |
#kyc_value_enabled?(bit_value) ⇒ Boolean
57 58 59 60 61 |
# File 'app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb', line 57 def kyc_value_enabled?(bit_value) return false if kyc.nil? kyc & bit_value != 0 end |
#unordered_kyc_fields ⇒ Object
47 48 49 50 51 |
# File 'app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb', line 47 def unordered_kyc_fields BIT_FIELDS.filter_map do |field, bit_value| field if kyc & bit_value != 0 end end |