Sha256: 60bfeeb31607d658f1abec707ee6091497ab82a9e9c51649df478be11f279974

Contents?: true

Size: 734 Bytes

Versions: 5

Compression:

Stored size: 734 Bytes

Contents

# frozen_string_literal: true

module Katalyst
  module Tables
    module Collection
      module Type
        class Boolean < Value
          include Helpers::Delegate
          include Helpers::Multiple

          def initialize(**)
            super(**, delegate: ActiveModel::Type::Boolean)
          end

          def filter?(attribute, value)
            return false unless filterable?

            if attribute.came_from_user?
              attribute.value_before_type_cast.present? || value === false
            else
              !value.nil? && !value.eql?([])
            end
          end

          def examples_for(...)
            [example(true), example(false)]
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
katalyst-tables-3.4.6 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.4.5 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.4.4 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.4.3 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.4.2 lib/katalyst/tables/collection/type/boolean.rb