Sha256: 1d47bcf5e40b58ea5eab45633a70f1b90c49ae2173d1dc15ca40bb1cca4d7143

Contents?: true

Size: 739 Bytes

Versions: 6

Compression:

Stored size: 739 Bytes

Contents

module Voom
  module Presenters
    module DSL
      module Components
        class Progress < Base
          attr_reader :hidden, :position

          def initialize(**attribs_, &block)
            super(type: :progress, **attribs_, &block)
            @hidden = attribs.delete(:hidden) {true}
            @position = attribs.delete(:position) {:top}
            validate_position(@position)
          end

          private

          def validate_position(position)
            unless (Array(position) - %i(top bottom both)).empty?
              raise(Errors::ParameterValidation,
                    "Position (#{position}) must be either :top, :bottom or :both")
            end
          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/progress.rb
voom-presenters-2.1.0 lib/voom/presenters/dsl/components/progress.rb
voom-presenters-2.0.3 lib/voom/presenters/dsl/components/progress.rb
voom-presenters-2.0.2 lib/voom/presenters/dsl/components/progress.rb
voom-presenters-2.0.1 lib/voom/presenters/dsl/components/progress.rb
voom-presenters-2.0.0 lib/voom/presenters/dsl/components/progress.rb