Class: Appfuel::Memory::Mapper

Inherits:
Repository::Mapper show all
Defined in:
lib/appfuel/storage/memory/mapper.rb

Instance Attribute Summary

Attributes inherited from Repository::Mapper

#container_root_name

Instance Method Summary collapse

Methods inherited from Repository::Mapper

#create_entity_hash, #entity?, #entity_attr?, #entity_container_name, #entity_value, #expr_conjunction?, #fetch_storage_class, #initialize, #map, #resolve_entity_value, #storage_attr, #storage_class, #storage_hash, #storage_key, #storage_map, #to_entity_hash, #undefined?, #update_entity_hash

Constructor Details

This class inherits a constructor from Appfuel::Repository::Mapper

Instance Method Details

#exists?(criteria) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
27
# File 'lib/appfuel/storage/memory/mapper.rb', line 19

def exists?(criteria)
  domain_expr = criteria.exists_expr
  domain_name = domain_expr.domain_name
  domain_attr = domain_expr.domain_attr

  db_expr  = create_db_expr(domain_name, domain_attr)
  db_model = db_class_mapped(domain_name, domain_attr)
  db_model.exists?([db_expr.string, db_expr.values])
end

#to_storage(domain, opts = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/appfuel/storage/memory/mapper.rb', line 5

def to_storage(domain, opts = {})
  excluded = opts[:exclude] || []

  data = {}
  each_entity_attr(domain.domain_name) do |entry|
    attr_name = entry.storage_attr
    next if excluded.include?(attr_name) || entry.skip?

    data[attr_name] = entity_value(domain, entry)
  end
  data
end