Sha256: 29af7c03c40cc82e5d8472c00705eab5ca1406f8fc78dc831f9c4b1d91137bf9

Contents?: true

Size: 894 Bytes

Versions: 4

Compression:

Stored size: 894 Bytes

Contents

# encoding: UTF-8
module AlchemyCrm
  class ContactGroupFilter < ActiveRecord::Base

    belongs_to :contact_group

    OPERATORS = [
      [::I18n.t(:like, :scope => 'alchemy_crm.contact_group_filter_operators', :default => 'Contains'), "LIKE"],
      [::I18n.t(:not_like, :scope => 'alchemy_crm.contact_group_filter_operators', :default => 'Contains not'), "NOT LIKE"],
      [::I18n.t(:equals, :scope => 'alchemy_crm.contact_group_filter_operators', :default => 'Equals'), "="],
      [::I18n.t(:equals_not, :scope => 'alchemy_crm.contact_group_filter_operators', :default => 'Equals not'), "!="]
    ]

    def sql_string
      return "" if column.blank? || operator.blank? || prepared_value.blank?
      "`#{Contact.table_name}`.`#{column}` #{operator} '#{prepared_value}'"
    end

  private

    def prepared_value
      operator =~ /LIKE/ ? "%#{value}%" : "#{value}"
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alchemy_crm-2.0.5 app/models/alchemy_crm/contact_group_filter.rb
alchemy_crm-2.0.4.1 app/models/alchemy_crm/contact_group_filter.rb
alchemy_crm-2.0.3 app/models/alchemy_crm/contact_group_filter.rb
alchemy_crm-2.0.2 app/models/alchemy_crm/contact_group_filter.rb