Class: Locomotive::Steam::FilesystemAdapter

Inherits:
Object
  • Object
show all
Includes:
Adapters::Concerns::Key, Morphine
Defined in:
lib/locomotive/steam/adapters/filesystem.rb

Instance Method Summary collapse

Methods included from Adapters::Concerns::Key

#key

Instance Method Details

#all(mapper, scope) ⇒ Object



27
28
29
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 27

def all(mapper, scope)
  memoized_dataset(mapper, scope)
end

#base_url(mapper, scope, entity = nil) ⇒ Object



67
68
69
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 67

def base_url(mapper, scope, entity = nil)
  ''
end

#count(mapper, scope, &block) ⇒ Object



75
76
77
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 75

def count(mapper, scope, &block)
  query(mapper, scope, &block).count
end

#create(mapper, scope, entity) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 39

def create(mapper, scope, entity)
  sanitizers[mapper.name].with(scope) do |sanitizer|
    dataset = memoized_dataset(mapper, scope)
    dataset.insert(entity)
    sanitizer.apply_to_entity_with_dataset(entity, dataset)
  end
  entity
end

#delete(mapper, scope, entity) ⇒ Object



59
60
61
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 59

def delete(mapper, scope, entity)
  # TODO: to be implemented
end

#find(mapper, scope, id) ⇒ Object



63
64
65
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 63

def find(mapper, scope, id)
  _query(mapper, scope) { where(_id: id) }.first
end

#inc(mapper, entity, attribute, amount = 1) ⇒ Object



52
53
54
55
56
57
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 52

def inc(mapper, entity, attribute, amount = 1)
  entity.tap do
    entity[attribute] ||= 0
    entity[attribute] += amount
  end
end

#make_id(value) ⇒ Object



71
72
73
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 71

def make_id(value)
  value
end

#query(mapper, scope, &block) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 31

def query(mapper, scope, &block)
  _query(mapper, scope, &block).tap do |default|
    if scope.site
      default.where(site_id: scope.site._id)
    end
  end
end

#update(mapper, scope, entity) ⇒ Object



48
49
50
# File 'lib/locomotive/steam/adapters/filesystem.rb', line 48

def update(mapper, scope, entity)
  entity
end