module Legatus::Repository
Public Instance Methods
find_and_init(filters, attributes=nil)
click to toggle source
# File lib/legatus/repository.rb, line 5 def find_and_init(filters, attributes=nil) instance = self.find_one(filters) instance ||= self.new attributes = filters if attributes.blank? instance.assign_attributes(attributes) return instance end
find_one(filters)
click to toggle source
# File lib/legatus/repository.rb, line 23 def find_one(filters) instance = filters.find { |f| self.find_by(f) } if filters.is_a?(Array) instance ||= self.find_by(filters) return instance end
find_or_init(filters, attributes)
click to toggle source
# File lib/legatus/repository.rb, line 15 def find_or_init(filters, attributes) instance = self.find_one(filters) return instance if instance.present? instance = self.new instance.assign_attributes(attributes) end