module ActiveFolder::Model::Traits::Collection
Public Instance Methods
build(args) { |instance| ... }
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 10 def build(args, &block) dir = File.join(model_base_dir, model_name) args = args.merge(base_dir: dir) instance = model_class.new(args) yield instance if block_given?; instance end
create(args, &block)
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 18 def create(args, &block) instance = build(args, &block); instance.save; instance end
create!(args, &block)
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 23 def create!(args, &block) if find args[:name] raise DuplicateError.new args[:name] end create(args, &block) end
destroy_all()
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 31 def destroy_all all.each { |element| element.destroy } end
find_or_create(args, &block)
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 35 def find_or_create(args, &block) find(args[:name]) || create(args, &block) end
find_or_initialize(args, &block)
click to toggle source
# File lib/activefolder/model/traits/collection.rb, line 39 def find_or_initialize(args, &block) find(args[:name]) || build(args, &block) end