Sha256: f5f7040bdbf60f00c19eba1741146a64f56ee566ac1c788dbe242e77750fa7bb

Contents?: true

Size: 910 Bytes

Versions: 6

Compression:

Stored size: 910 Bytes

Contents

module Voom
  module Presenters
    module DSL
      module Components
        class Chipset < EventBase
          include Mixins::Chips
          attr_reader :variant, :components

          VALID_VARIANTS = %i[choice filter input].freeze

          def initialize(chipset_variant = nil, **attribs_, &block)
            super(type: :chipset, **attribs_, &block)
            @variant = validate_variant(chipset_variant)
            @components = []
            expand!
          end

          private

          def validate_variant(chipset_variant)
            return unless chipset_variant
            chipset_variant = chipset_variant.to_sym
            unless VALID_VARIANTS.include?(chipset_variant)
              raise Errors::ParameterValidation, "Invalid chipset variant specified: #{chipset_variant}"
            end
            chipset_variant
          end

        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
voom-presenters-2.1.2 lib/voom/presenters/dsl/components/chipset.rb
voom-presenters-2.1.0 lib/voom/presenters/dsl/components/chipset.rb
voom-presenters-2.0.3 lib/voom/presenters/dsl/components/chipset.rb
voom-presenters-2.0.2 lib/voom/presenters/dsl/components/chipset.rb
voom-presenters-2.0.1 lib/voom/presenters/dsl/components/chipset.rb
voom-presenters-2.0.0 lib/voom/presenters/dsl/components/chipset.rb