module ActiveFolder::Model::Traits::Enumeration

Public Instance Methods

all(name = '*') click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 18
def all(name = '*')
  query_suffix = File.join(model_name, name)
  query = File.join(model_base_dir, '**', query_suffix)

  paths = ActiveFolder.client.glob(path: query)
  paths.map { |path| model_class.load(path) }
end
count() click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 29
def count; all.count end
find(name) click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 9
def find(name)
  results = all(name)
  results.count < 2 ? results.first : results
end
find!(name) click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 14
def find!(name)
  find(name) || (raise NotFoundError.new name)
end
first() click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 27
def first; all.first end
last() click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 26
def last; all.last end
to_a() click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 30
def to_a; all end
where(**args) click to toggle source
# File lib/activefolder/model/traits/enumeration.rb, line 32
def where(**args)
  all.select { |element| args.match(element) }
end