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
- #notation_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
134 135 136 137 138 |
# File 'lib/iqvoc/configuration/concept.rb', line 134 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 …”)
66 67 68 |
# File 'lib/iqvoc/configuration/concept.rb', line 66 def base_class base_class_name.constantize end |
#broader_relation_class ⇒ Object
86 87 88 |
# File 'lib/iqvoc/configuration/concept.rb', line 86 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”] }
92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/iqvoc/configuration/concept.rb', line 92 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.
155 156 157 158 159 160 161 |
# File 'lib/iqvoc/configuration/concept.rb', line 155 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
104 105 106 107 108 |
# File 'lib/iqvoc/configuration/concept.rb', line 104 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
118 119 120 |
# File 'lib/iqvoc/configuration/concept.rb', line 118 def further_relation_classes further_relation_class_names.map(&:constantize) end |
#include_modules ⇒ Object
144 145 146 |
# File 'lib/iqvoc/configuration/concept.rb', line 144 def include_modules include_module_names.map(&:constantize) end |
#labeling_class_names ⇒ Object
78 79 80 |
# File 'lib/iqvoc/configuration/concept.rb', line 78 def labeling_class_names { pref_labeling_class_name => pref_labeling_languages }.merge(further_labeling_class_names) end |
#labeling_classes ⇒ Object
82 83 84 |
# File 'lib/iqvoc/configuration/concept.rb', line 82 def labeling_classes { pref_labeling_class => pref_labeling_languages }.merge(further_labeling_classes) end |
#match_classes ⇒ Object
126 127 128 |
# File 'lib/iqvoc/configuration/concept.rb', line 126 def match_classes match_class_names.map(&:constantize) end |
#notation_classes ⇒ Object
130 131 132 |
# File 'lib/iqvoc/configuration/concept.rb', line 130 def notation_classes notation_class_names.map(&:constantize) end |
#note_classes ⇒ Object
122 123 124 |
# File 'lib/iqvoc/configuration/concept.rb', line 122 def note_classes note_class_names.map(&:constantize) end |
#pref_labeling_class ⇒ Object
74 75 76 |
# File 'lib/iqvoc/configuration/concept.rb', line 74 def pref_labeling_class pref_labeling_class_name.constantize end |
#pref_labeling_languages ⇒ Object
58 59 60 61 62 |
# File 'lib/iqvoc/configuration/concept.rb', line 58 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.
149 150 151 152 |
# File 'lib/iqvoc/configuration/concept.rb', line 149 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
110 111 112 |
# File 'lib/iqvoc/configuration/concept.rb', line 110 def relation_class_names further_relation_class_names + [broader_relation_class_name, broader_relation_class.narrower_class.name] end |
#relation_classes ⇒ Object
114 115 116 |
# File 'lib/iqvoc/configuration/concept.rb', line 114 def relation_classes relation_class_names.map(&:constantize) end |
#root_class ⇒ Object
70 71 72 |
# File 'lib/iqvoc/configuration/concept.rb', line 70 def root_class root_class_name.constantize end |
#supports_multi_language_pref_labelings? ⇒ Boolean
140 141 142 |
# File 'lib/iqvoc/configuration/concept.rb', line 140 def supports_multi_language_pref_labelings? pref_labeling_languages.size > 1 end |