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



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

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

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



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

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

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



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

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

#create(mapper, scope, entity) ⇒ Object



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

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



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

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

#find(mapper, scope, id) ⇒ Object



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

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

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



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

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

#make_id(value) ⇒ Object



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

def make_id(value)
  value
end

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



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

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



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

def update(mapper, scope, entity)
  entity
end