#require 'fiona7/write_obj' module Fiona7 class ReleasedObj < WriteObj self.configure_for_content(:released) has_many :children, :class_name => self.name, :foreign_key => 'parent_obj_id' belongs_to :parent, :class_name => self.name, :foreign_key => 'parent_obj_id' if Fiona7.mode == :standalone default_scope do now = Time.now.utc.to_iso where("is_released = 1 AND suppress_export = 0").where('obj_class NOT IN (?)', ['X_Generic', 'X_Image', 'X_Container']).where("(valid_from IS NULL or valid_from <= :now) and (valid_until IS NULL or valid_until >= :now)", :now => now) end else # suppress_export can be misused in legacy mode # also valid_from and valid_until should be handled # by the application default_scope do now = Time.now.utc.to_iso where("is_released = 1").where('obj_class NOT IN (?)', ['X_Generic', 'X_Image', 'X_Container'])#.where("(valid_from IS NULL or valid_from <= :now) and (valid_until IS NULL or valid_until >= :now)", :now => now) end end # disable STI self.inheritance_column = :_type_disabled end end