Module: GenericViewMapper

Extended by:
GenericViewMapper
Included in:
GenericViewMapper
Defined in:
lib/generic_view_mapper.rb,
lib/generic_view_mapper/view.rb,
lib/generic_view_mapper/entity.rb,
lib/generic_view_mapper/version.rb,
lib/generic_view_mapper/registry.rb,
lib/generic_view_mapper/view/import.rb,
lib/generic_view_mapper/view/section.rb,
lib/generic_view_mapper/view/attribute.rb,
lib/generic_view_mapper/registry_matcher.rb,
lib/generic_view_mapper/rails/autoregister.rb,
lib/generic_view_mapper/view/schema_definition.rb

Defined Under Namespace

Modules: AutoReload, Import, SchemaDefinition Classes: Attribute, Entity, Registry, RegistryMatcher, Section, View

Constant Summary collapse

VERSION =
"0.1.2"

Instance Method Summary collapse

Instance Method Details

#matcherObject



19
20
21
# File 'lib/generic_view_mapper.rb', line 19

def matcher
  Thread.current[:gvm_matcher] ||= RegistryMatcher.new(registry)
end

#registryObject



15
16
17
# File 'lib/generic_view_mapper.rb', line 15

def registry
  Thread.current[:gvm_registry] ||= Registry.new.tap(&:register_all)
end

#render(*datas) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/generic_view_mapper.rb', line 23

def render(*datas)
  processed = datas.map do |data|
    entity = data.is_a?(Hash) ? matcher.find_entity_for(data) : data
    matcher.find_view_for(entity).new(entity)
  end

  processed.size == 1 ? processed.first : processed
end