module PrintingPress::Model::InstanceMethods
Public Instance Methods
destroy()
click to toggle source
Calls superclass method
# File lib/printing_press/publishable.rb, line 60 def destroy remove_published_version super end
publish()
click to toggle source
# File lib/printing_press/publishable.rb, line 44 def publish return if published? remove_published_version if not published_version.nil? connection.insert("INSERT INTO #{self.class.published_table_name} SELECT * FROM #{self.class.reset_table_name} WHERE id = #{self.id}") # We need to handle belongs_to dependencies as well self.class.dependencies.each do |dependency| self.try(dependency).try(:publish) end end
published?()
click to toggle source
# File lib/printing_press/publishable.rb, line 56 def published? not published_version.nil? and published_version.updated_at == self.updated_at end
published_at()
click to toggle source
# File lib/printing_press/publishable.rb, line 65 def published_at published_version.nil? ? nil : published_version.updated_at end
published_version()
click to toggle source
# File lib/printing_press/publishable.rb, line 40 def published_version @published_version ||= self.class.find_by_sql("SELECT * FROM #{self.class.published_table_name} WHERE id = #{self.id}").first end
Private Instance Methods
remove_published_version()
click to toggle source
# File lib/printing_press/publishable.rb, line 71 def remove_published_version connection.delete("DELETE FROM #{self.class.published_table_name} WHERE id = #{self.id}") end