Module: Iqvoc::Configuration::Concept::ClassMethods
- Defined in:
- lib/iqvoc/configuration/concept.rb
Instance Method Summary collapse
- #additional_association_classes ⇒ Object
-
#base_class ⇒ Object
Do not use the following method in models.
- #broader_relation_class ⇒ Object
-
#further_labeling_class_names ⇒ Object
returns hash of class name / languages pairs e.g.
- #further_labeling_class_names=(hsh) ⇒ Object deprecated Deprecated.
- #further_labeling_classes ⇒ Object
- #further_relation_classes ⇒ Object
- #include_modules ⇒ Object
- #labeling_class_names ⇒ Object
- #labeling_classes ⇒ Object
- #match_classes ⇒ Object
- #note_classes ⇒ Object
- #pref_labeling_class ⇒ Object
- #pref_labeling_languages ⇒ Object
- #pref_labeling_languages=(value) ⇒ Object deprecated Deprecated.
- #relation_class_names ⇒ Object
- #relation_classes ⇒ Object
- #root_class ⇒ Object
- #supports_multi_language_pref_labelings? ⇒ Boolean
Instance Method Details
#additional_association_classes ⇒ Object
125 126 127 128 129 |
# File 'lib/iqvoc/configuration/concept.rb', line 125 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 |
#base_class ⇒ Object
Do not use the following method in models. This will probably cause a loading loop (something like “expected file xyz to load …”)
61 62 63 |
# File 'lib/iqvoc/configuration/concept.rb', line 61 def base_class base_class_name.constantize end |
#broader_relation_class ⇒ Object
81 82 83 |
# File 'lib/iqvoc/configuration/concept.rb', line 81 def broader_relation_class broader_relation_class_name.constantize end |
#further_labeling_class_names ⇒ Object
returns hash of class name / languages pairs e.g. { “Labeling::SKOS::AltLabel” => [“de”, “en”] }
87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/iqvoc/configuration/concept.rb', line 87 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) ⇒ Object
Deprecated.
146 147 148 149 150 151 152 |
# File 'lib/iqvoc/configuration/concept.rb', line 146 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 ⇒ Object
99 100 101 102 103 |
# File 'lib/iqvoc/configuration/concept.rb', line 99 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 ⇒ Object
113 114 115 |
# File 'lib/iqvoc/configuration/concept.rb', line 113 def further_relation_classes further_relation_class_names.map(&:constantize) end |
#include_modules ⇒ Object
135 136 137 |
# File 'lib/iqvoc/configuration/concept.rb', line 135 def include_modules include_module_names.map(&:constantize) end |
#labeling_class_names ⇒ Object
73 74 75 |
# File 'lib/iqvoc/configuration/concept.rb', line 73 def labeling_class_names { pref_labeling_class_name => pref_labeling_languages }.merge(further_labeling_class_names) end |
#labeling_classes ⇒ Object
77 78 79 |
# File 'lib/iqvoc/configuration/concept.rb', line 77 def labeling_classes { pref_labeling_class => pref_labeling_languages }.merge(further_labeling_classes) end |
#match_classes ⇒ Object
121 122 123 |
# File 'lib/iqvoc/configuration/concept.rb', line 121 def match_classes match_class_names.map(&:constantize) end |
#note_classes ⇒ Object
117 118 119 |
# File 'lib/iqvoc/configuration/concept.rb', line 117 def note_classes note_class_names.map(&:constantize) end |
#pref_labeling_class ⇒ Object
69 70 71 |
# File 'lib/iqvoc/configuration/concept.rb', line 69 def pref_labeling_class pref_labeling_class_name.constantize end |
#pref_labeling_languages ⇒ Object
53 54 55 56 57 |
# File 'lib/iqvoc/configuration/concept.rb', line 53 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) ⇒ Object
Deprecated.
140 141 142 143 |
# File 'lib/iqvoc/configuration/concept.rb', line 140 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 ⇒ Object
105 106 107 |
# File 'lib/iqvoc/configuration/concept.rb', line 105 def relation_class_names further_relation_class_names + [broader_relation_class_name, broader_relation_class.narrower_class.name] end |
#relation_classes ⇒ Object
109 110 111 |
# File 'lib/iqvoc/configuration/concept.rb', line 109 def relation_classes relation_class_names.map(&:constantize) end |
#root_class ⇒ Object
65 66 67 |
# File 'lib/iqvoc/configuration/concept.rb', line 65 def root_class root_class_name.constantize end |
#supports_multi_language_pref_labelings? ⇒ Boolean
131 132 133 |
# File 'lib/iqvoc/configuration/concept.rb', line 131 def supports_multi_language_pref_labelings? pref_labeling_languages.size > 1 end |