# -*- encoding : utf-8 -*- module KirguduBase module Models module Scopes module WithName def self.included(base) base.scope :with_name, lambda { |value| if value value = value.gsub('%', ' ').strip like_value ="%#{value}%" base.where { (name.like like_value) } end } end end module WithSlug def self.included(base) base.scope :with_slug, lambda { |value| if value value = value.gsub('%', ' ').strip like_value ="%#{value}%" #raise "WithSlug Value: #{like_value}" base.where { (slug.like like_value) } end } end end module WithCreatedAtStart def self.included(base) base.scope :with_created_at_start, lambda { |value| if value base.where { created_at >= value } end } end end module WithCreatedAtFinish def self.included(base) base.scope :with_created_at_finish, lambda { |value| if value base.where { created_at <= value } end } end end module WithUpdatedAtStart def self.included(base) base.scope :with_updated_at_start, lambda { |value| if value base.where { updated_at >= value } end } end end module WithUpdatedAtFinish def self.included(base) base.scope :with_updated_at_finish, lambda { |value| if value base.where { updated_at <= value } end } end end module WithTitle def self.included(base) base.scope :with_title, lambda { |value| if value value = value.gsub('%', ' ').strip like_value ="%#{value}%" base.where { (title.like like_value) } end } end end module ByDeletionStatus def self.included(base) base.scope :by_deletion_status, lambda { |value| if value base.where(deletion_status_id: value) end } end # "deletion_status_name" method is defined in KirguduBaseModel end module WithIsActive def self.included(base) base.scope :with_is_active, lambda { |value| if value base.where(is_active: value) end } end # "is_active_label" method is defined in KirguduBaseModel end module WithIsHtml def self.included(base) base.scope :with_is_html, lambda { |value| if value base.where(is_html: value) end } end # "is_html_label" method is defined in KirguduBaseModel end module OrderBy def self.included(base) base.scope :order_by, lambda { |value| if value base.order(value) end } end end module ByID def self.included(base) base.scope :by_id, lambda { |value| base.where(id: value) if value } end end module ByStatus def self.included(base) base.scope :by_status, lambda { |value| base.where(status_id: value) if value } end end module ByDeletionStatus def self.included(base) base.scope :by_deletion_status, lambda { |value| base.where(deletion_status_id: value) if value } base.scope :with_deletion_status_active, lambda { |value| base.where(deletion_status_id: 1) if value == 1 } base.scope :with_deletion_status_deleted, lambda { |value| base.where(deletion_status_id: 2) if value == 1 } base.scope :with_deletion_status_purged, lambda { |value| base.where(deletion_status_id: 3) if value == 1 } end end end end end