Sha256: 454cd28f7b518d26e6950e4f13b46c6089edab51a42a6d597ae8576f407706b4

Contents?: true

Size: 836 Bytes

Versions: 12

Compression:

Stored size: 836 Bytes

Contents

module CamaleonCms
  class TermRelationship < CamaleonRecord
    self.table_name = "#{PluginRoutes.static_system_info['db_prefix']}term_relationships"
    default_scope -> { order(term_order: :asc) }

    belongs_to :term_taxonomy, inverse_of: :term_relationships, required: false
    belongs_to :object, lambda {
                          order("#{CamaleonCms::Post.table_name}.id DESC")
                        }, class_name: 'CamaleonCms::Post', foreign_key: :objectid, inverse_of: :term_relationships, required: false

    # callbacks
    after_create :update_count
    before_destroy :update_count

    private

    # update counter of post published items
    # TODO verify counter
    def update_count
      term_taxonomy.update_column('count', term_taxonomy.posts.published.size) if term_taxonomy&.try(:posts)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
camaleon_cms-2.9.1 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.9.0 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.8.3 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.8.2 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.8.1 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.8.0 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.5 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.4 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.3 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.2 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.1 app/models/camaleon_cms/term_relationship.rb
camaleon_cms-2.7.0 app/models/camaleon_cms/term_relationship.rb