Sha256: a6f0dc832ff184b2a095afcae6c2005d2f307b03d7e5f8fe1a470ad8edcb87ad

Contents?: true

Size: 716 Bytes

Versions: 5

Compression:

Stored size: 716 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(...)
            [true, false]
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
katalyst-tables-3.4.1 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.4.0 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.3.4 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.3.3 lib/katalyst/tables/collection/type/boolean.rb
katalyst-tables-3.3.2 app/models/katalyst/tables/collection/type/boolean.rb