Class: Sinicum::Jcr::TypeTranslators::DataTranslator
- Inherits:
-
Object
- Object
- Sinicum::Jcr::TypeTranslators::DataTranslator
show all
- Includes:
- TranslatorBase
- Defined in:
- lib/sinicum/jcr/type_translators/data_translator.rb
Overview
Public: Identifies nodes in the data module and assigns the matching classes to them.
Constant Summary
collapse
- DEFAULT_TYPES =
["mgnl:content", "mgnl:contentNode"]
- WORKSPACE =
"data"
TranslatorBase::META_NODE, TranslatorBase::MGNL_TEMPLATE, TranslatorBase::NODES, TranslatorBase::PRIMARY_TYPE, TranslatorBase::PROPERTIES
Class Method Summary
collapse
Class Method Details
.initialize_node(json) ⇒ Object
12
13
14
15
16
|
# File 'lib/sinicum/jcr/type_translators/data_translator.rb', line 12
def self.initialize_node(json)
if workspace(json) == WORKSPACE && jcr_primary_type(json) && no_default_type?(json)
instance_from_primary_type(json)
end
end
|
.instance_from_primary_type(json) ⇒ Object
22
23
24
25
26
27
|
# File 'lib/sinicum/jcr/type_translators/data_translator.rb', line 22
def self.instance_from_primary_type(json)
clazz = jcr_primary_type(json).classify
clazz.constantize.new(json_response: json)
rescue NameError
nil
end
|
.no_default_type?(json) ⇒ Boolean
18
19
20
|
# File 'lib/sinicum/jcr/type_translators/data_translator.rb', line 18
def self.no_default_type?(json)
!DEFAULT_TYPES.include?(jcr_primary_type(json))
end
|