Sha256: eaf1fbdc6e0ec77997f34b817b1273f6d6fbc927854a49518ae672e621370284

Contents?: true

Size: 924 Bytes

Versions: 2

Compression:

Stored size: 924 Bytes

Contents

# Categorizing 是分类(category)和被分类项(categorized)之间的关联关系。

class Unidom::Category::Categorizing < ActiveRecord::Base

  self.table_name = 'unidom_categorizings'

  include Unidom::Common::Concerns::ModelExtension

  belongs_to :category,    class_name:  'Unidom::Category::Category'
  belongs_to :categorized, polymorphic: true

  scope :category_is,    ->(category)    { where category_id: to_id(category) }
  scope :categorized_is, ->(categorized) { where categorized: categorized     }

  #def self.categorize!(category, categorized, opened_at = Time.now)
  #  self.categorized_is(categorized).category_is(category).valid_at.alive.first_or_create! elemental: true, opened_at: opened_at
  #end

  def self.categorize!(categorized, into: nil, at: Time.now)
    self.categorized_is(categorized).category_is(into).valid_at.alive.first_or_create! elemental: true, opened_at: at
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
unidom-category-1.1 app/models/unidom/category/categorizing.rb
unidom-category-1.0 app/models/unidom/category/categorizing.rb