Sha256: f20d123ba595fe413cfe27d4b8feb4c6a6a39ae9358ec8b69b1ff57250bcba32
Contents?: true
Size: 1.21 KB
Versions: 18
Compression:
Stored size: 1.21 KB
Contents
module KirguduBase module Common class Portal < ::KirguduBase::BaseModel include ::KirguduBase::Models::BasicProperties::CreatedBy include ::KirguduBase::Models::BasicProperties::UpdatedBy include ::KirguduBase::Models::BasicProperties::OwnedBy include ::KirguduBase::Models::BasicProperties::AdministratedBy validates_presence_of :dns_name, :name validates_uniqueness_of :dns_name validates_length_of :dns_name, :name, allow_blank: true, maximum: 180 has_many :portal_users, class_name: ::KirguduBase::Common::PortalUser, foreign_key: :portal_id, dependent: :destroy #has_many :users, class_name: ::KirguduBase::Securtiy::User, through: :portal_users scope :with_dns_name, lambda { |value| if value value = value.gsub('%', '') like_value = "%#{value}%" where { dns_name.like like_value } end } scope :with_keyword, lambda { |value| if value value = value.gsub('%', '') like_value = "%#{value}%" where { (name.like like_value) | (dns_name.like like_value) } end } def self.apply_filters_to_query(query, filters={}) filters ||= {} query = query.with_dns_name(filters[:dns_name]) super(query, filters) end end end end
Version data entries
18 entries across 18 versions & 1 rubygems