Sha256: f999b53a3764a3a6f345e94293dc8f978bcb844093ab90f0e90decbf0ff566f3

Contents?: true

Size: 546 Bytes

Versions: 1

Compression:

Stored size: 546 Bytes

Contents

# encoding: UTF-8
# frozen_string_literal: true

module ArelIsBlank
  module Extension
    def is_blank
      "(#{to_sql} IS NULL OR #{to_sql} = '')"
    end

    def is_not_blank
      "(#{to_sql} IS NOT NULL AND #{to_sql} <> '')"
    end

    def is_blank_or_equals(value)
      engine = relation.respond_to?(:engine) ? relation.engine : Arel::Table.engine
      "(#{to_sql} = #{engine.connection.quote(value)} OR #{is_blank})"
    end
  end
end

require 'arel'
require 'arel-to-sql'

Arel::Attributes::Attribute.include ArelIsBlank::Extension

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
arel-is-blank-1.0.0 lib/arel-is-blank.rb