module Iqvoc::Configuration::Concept::ClassMethods

Public Instance Methods

additional_association_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 147
def additional_association_classes
  additional_association_class_names.keys.each_with_object({}) do |class_name, hash|
    hash[class_name.constantize] = additional_association_class_names[class_name]
  end
end
alt_labeling_class() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 80
def alt_labeling_class
  alt_labeling_class_name.constantize
end
base_class() click to toggle source

Do not use the following method in models. This will probably cause a loading loop (something like “expected file xyz to load …”)

# File lib/iqvoc/configuration/concept.rb, line 68
def base_class
  base_class_name.constantize
end
broader_relation_class() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 92
def broader_relation_class
  broader_relation_class_name.constantize
end
further_labeling_class_names() click to toggle source

returns hash of class name / languages pairs e.g. { “Labeling::SKOS::AltLabel” => [“de”, “en”] }

# File lib/iqvoc/configuration/concept.rb, line 98
def further_labeling_class_names
  # FIXME: mutable object; needs custom hash setters to guard against
  # modification of languages arrays (to highlight deprecated usage)
  return Iqvoc.config.defaults.each_with_object({}) do |(key, default_value), hsh|
    prefix = 'languages.further_labelings.'
    if key.start_with? prefix
      class_name = key[prefix.length..-1]
      hsh[class_name] = Iqvoc.config[key]
    end
  end
end
further_labeling_class_names=(hsh) click to toggle source

@deprecated

# File lib/iqvoc/configuration/concept.rb, line 168
def further_labeling_class_names=(hsh)
  ActiveSupport::Deprecation.warn 'further_labeling_class_names has been moved into instance configuration', caller
  prefix = 'languages.further_labelings.'
  hsh.each do |class_name, value|
    Iqvoc.config.register_setting(prefix + class_name, value.map(&:to_s))
  end
end
further_labeling_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 110
def further_labeling_classes
  further_labeling_class_names.keys.each_with_object({}) do |class_name, hash|
    hash[class_name.constantize] = further_labeling_class_names[class_name]
  end
end
further_relation_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 124
def further_relation_classes
  further_relation_class_names.map(&:constantize)
end
include_modules() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 157
def include_modules
  include_module_names.map(&:constantize)
end
labeling_class_names() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 84
def labeling_class_names
  { pref_labeling_class_name => pref_labeling_languages }.merge(further_labeling_class_names)
end
labeling_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 88
def labeling_classes
  { pref_labeling_class => pref_labeling_languages }.merge(further_labeling_classes)
end
match_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 132
def match_classes
  match_class_names.map(&:constantize)
end
notation_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 143
def notation_classes
  notation_class_names.map(&:constantize)
end
note_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 128
def note_classes
  note_class_names.map(&:constantize)
end
pref_labeling_class() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 76
def pref_labeling_class
  pref_labeling_class_name.constantize
end
pref_labeling_languages() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 60
def pref_labeling_languages
  # FIXME: mutable object; needs custom array setters to guard against
  # modification (to highlight deprecated usage)
  return Iqvoc.config['languages.pref_labeling']
end
pref_labeling_languages=(value) click to toggle source

@deprecated

# File lib/iqvoc/configuration/concept.rb, line 162
def pref_labeling_languages=(value)
  ActiveSupport::Deprecation.warn 'pref_labeling_languages has been moved into instance configuration', caller
  Iqvoc.config.register_setting('languages.pref_labeling', value)
end
relation_class_names() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 116
def relation_class_names
  further_relation_class_names + [broader_relation_class_name, broader_relation_class.narrower_class.name]
end
relation_classes() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 120
def relation_classes
  relation_class_names.map(&:constantize)
end
reverse_match_class_names() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 136
def reverse_match_class_names
  match_class_names.inject({}) do |result, element|
     result[element] = element.parameterize.underscore
     result
  end
end
root_class() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 72
def root_class
  root_class_name.constantize
end
supports_multi_language_pref_labelings?() click to toggle source
# File lib/iqvoc/configuration/concept.rb, line 153
def supports_multi_language_pref_labelings?
  pref_labeling_languages.size > 1
end