Sha256: 23b009bf795fa252ffc641809768dd36cfae57cdf07f0c03c1745b6e15e64758
Contents?: true
Size: 1.82 KB
Versions: 3
Compression:
Stored size: 1.82 KB
Contents
# frozen_string_literal: true module Kaui class TagDefinition < KillBillClient::Model::TagDefinition # See org.killbill.billing.ObjectType in killbill-api ALL_OBJECT_TYPES = %w[ACCOUNT ACCOUNT_EMAIL BLOCKING_STATES BUNDLE CUSTOM_FIELD INVOICE PAYMENT TRANSACTION INVOICE_ITEM INVOICE_PAYMENT SUBSCRIPTION SUBSCRIPTION_EVENT PAYMENT_ATTEMPT PAYMENT_METHOD REFUND TAG TAG_DEFINITION TENANT TENANT_KVS].freeze ALL_OBJECT_TYPES.each do |object_type| define_singleton_method "all_for_#{object_type.downcase}" do |options_for_klient| (all('NONE', options_for_klient).delete_if { |tag_definition| !tag_definition.applicable_object_types.include?(object_type) }).sort end end def system_tag? return false unless id.present? last_group = id.split('-')[4] is_system_tag = true last_group.chars.each_with_index do |c, i| unless ((c == '0') && (i < 11)) || (c.to_i.positive? && (i == 11)) is_system_tag = false break end end is_system_tag end def <=>(other) # System tags last return 1 if system_tag? && !other.system_tag? return -1 if !system_tag? && other.system_tag? name <=> other.name end def pretty_applicable_object_types applicable_object_types == ALL_OBJECT_TYPES ? 'Any' : applicable_object_types.join(', ') end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
kaui-3.0.5 | app/models/kaui/tag_definition.rb |
kaui-3.0.4 | app/models/kaui/tag_definition.rb |
kaui-3.0.2 | app/models/kaui/tag_definition.rb |