class Locomotive::Steam::FilesystemAdapter
Public Instance Methods
all(mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 26 def all(mapper, scope) memoized_dataset(mapper, scope) end
base_url(mapper, scope, entity = nil)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 66 def base_url(mapper, scope, entity = nil) '' end
count(mapper, scope, &block)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 74 def count(mapper, scope, &block) query(mapper, scope, &block).count end
create(mapper, scope, entity)
click to toggle source
# 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)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 58 def delete(mapper, scope, entity) # TODO: to be implemented end
find(mapper, scope, id)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 70 def make_id(value) value end
query(mapper, scope, &block)
click to toggle source
# 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)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 47 def update(mapper, scope, entity) entity end
Private Instance Methods
_query(mapper, scope, &block)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 80 def _query(mapper, scope, &block) Locomotive::Steam::Adapters::Memory::Query.new(all(mapper, scope), scope.locale, &block) end
build_klass(type, name)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 132 def build_klass(type, name) _name = name.to_s.singularize.camelize "Locomotive::Steam::Adapters::Filesystem::#{type}::#{_name}".constantize end
build_sanitizers()
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 124 def build_sanitizers hash = Hash.new { build_klass('Sanitizers', :simple).new } %i(sites pages content_types content_entries snippets sections).inject(hash) do |memo, name| memo[name] = build_klass('Sanitizers', name).new memo end end
build_yaml_loaders()
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 117 def build_yaml_loaders %i(sites pages content_types content_entries snippets sections translations theme_assets).inject({}) do |memo, name| memo[name] = build_klass('YAMLLoaders', name).new(site_path, env) memo end end
cache_key(mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 90 def cache_key(mapper, scope) "#{scope.to_key}_#{mapper.name}" end
collection(mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 113 def collection(mapper, scope) yaml_loaders[mapper.name].load(scope) end
dataset(mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 94 def dataset(mapper, scope) Locomotive::Steam::Adapters::Memory::Dataset.new(mapper.name).tap do |dataset| populate_dataset(dataset, mapper, scope) end end
env()
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 141 def env (options.respond_to?(:has_key?) ? options[:env] : nil) || :local end
memoized_dataset(mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 84 def memoized_dataset(mapper, scope) cache.fetch(cache_key(mapper, scope)) do dataset(mapper, scope) end end
populate_dataset(dataset, mapper, scope)
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 100 def populate_dataset(dataset, mapper, scope) sanitizers[mapper.name].with(scope) do |sanitizer| collection(mapper, scope).each do |attributes| entity = mapper.to_entity(attributes.dup) dataset.insert(entity) sanitizer.apply_to(entity) end sanitizer.apply_to(dataset) end end
site_path()
click to toggle source
# File lib/locomotive/steam/adapters/filesystem.rb, line 137 def site_path options.respond_to?(:has_key?) ? options[:path] : options end