Sha256: bcf889ce5f36631ee46fa8cb815587df85b302d1df0cbb97a83e9e03ec81625c

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

class Kaui::Tag < KillBillClient::Model::Tag

  def self.list_or_search(search_key = nil, offset = 0, limit = 10, options = {})
    if search_key.present?
      find_in_batches_by_search_key(search_key, offset, limit, options)
    else
      find_in_batches(offset, limit, options)
    end
  end

  class << self
    [:account, :bundle, :subscription, :invoice].each do |model|
      define_method "all_for_#{model.to_s}" do |model_id, included_deleted, audit, options|
        instance = Kaui.const_get(model.to_s.camelize).new("#{model.to_s}_id".to_sym => model_id)
        instance.tags(included_deleted, audit, options)
      end

      define_method "set_for_#{model.to_s}" do |model_id, tags, user, reason, comment, options|
        instance = Kaui.const_get(model.to_s.camelize).new("#{model.to_s}_id".to_sym => model_id)
        instance.set_tags(tags, user, reason, comment, options)
      end
    end
  end

  def is_system_tag?
    Kaui::TagDefinition(:id => tag_definition_id).is_system_tag?
  end

  def <=>(tag)
    tag_definition_name.downcase <=> tag.tag_definition_name.downcase
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kaui-2.1.0 app/models/kaui/tag.rb