Sha256: f6f7048f96594205d7563898762c958f3b585d7fec28b1285199ac54138619d4

Contents?: true

Size: 876 Bytes

Versions: 7

Compression:

Stored size: 876 Bytes

Contents

require 'mongoid'

class TaxonomyTerm
  include Mongoid::Document
  include Mongoid::Timestamps

  field :label, type: String
  field :term_id, type: String
  field :term_type, :type => Hash, :default => {}

  key :term_id
  has_and_belongs_to_many :child_terms, :class_name => 'TaxonomyTerm', :inverse_of => :parent_term
  belongs_to :parent_term, :class_name => 'TaxonomyTerm', :inverse_of => :child_terms

  #validations
  validates_presence_of :term_id, :label
  validates_uniqueness_of :term_id

  scope :term_id_is, ->(term_id) { where(:term_id => term_id) }
  scope :parent_term_in, ->(parent_term_id) { where(:parent_term.in => parent_term_id)}
  scope :label_is, ->(label) {where(:label => label)}
  scope :fund_code_is, ->(fund_code) { where("term_type.FUND_CODE" => fund_code)}

  def self.purge!
    TaxonomyTerm.destroy_all
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
daengine-0.2.17 app/models/taxonomy_term.rb
daengine-0.2.16 app/models/taxonomy_term.rb
daengine-0.2.15 app/models/taxonomy_term.rb
daengine-0.2.14 app/models/taxonomy_term.rb
daengine-0.2.13 app/models/taxonomy_term.rb
daengine-0.2.12 app/models/taxonomy_term.rb
daengine-0.2.11 app/models/taxonomy_term.rb