Class: LinkedRails::Translate
- Inherits:
-
Object
- Object
- LinkedRails::Translate
- Defined in:
- lib/linked_rails/translate.rb
Class Method Summary collapse
- .call(type, key, object, fallback = true) ⇒ Object
- .key_for_iri(iri, key) ⇒ Object
- .tag_for_iri(iri) ⇒ Object
- .translation_key(resource) ⇒ Object
- .translations_for(type, key) ⇒ Object
Class Method Details
.call(type, key, object, fallback = true) ⇒ Object
21 22 23 |
# File 'lib/linked_rails/translate.rb', line 21 def call(type, key, object, fallback = true) strategy_for(type, key).call(object, fallback) end |
.key_for_iri(iri, key) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/linked_rails/translate.rb', line 43 def key_for_iri(iri, key) [ Vocab.for!(iri).__prefix__, tag_for_iri(iri), key ].join('.') end |
.tag_for_iri(iri) ⇒ Object
51 52 53 |
# File 'lib/linked_rails/translate.rb', line 51 def tag_for_iri(iri) iri.to_s.split(Vocab.for(iri).to_s).last end |
.translation_key(resource) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/linked_rails/translate.rb', line 25 def translation_key(resource) klass = case resource when Collection resource.association_class when Class resource else resource&.class end klass&.name&.demodulize&.tableize end |
.translations_for(type, key) ⇒ Object
38 39 40 41 |
# File 'lib/linked_rails/translate.rb', line 38 def translations_for(type, key) strategies[type] ||= {} strategies[type][key] = ->(object, fallback) { yield(object, fallback) } end |