Sha256: fd89ef8c5123395a30eb6ba4ee9e391e5f294223b2b03cf971d46c073ab5c9d7
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
module Fauna class ClassSettings < Fauna::Resource; end class Class < Fauna::Model class << self def inherited(base) fc = name.split("::").last.underscore Fauna.add_class(fc, base) unless Fauna.exists_class_for_name?(fc) end def ref fauna_class_name end def data Fauna::Resource.find(fauna_class_name).data end def update_data!(hash = {}) meta = Fauna::Resource.find(fauna_class_name) block_given? ? yield(meta.data) : meta.data = hash meta.save! end def update_data(hash = {}) meta = Fauna::Resource.find(fauna_class_name) block_given? ? yield(meta.data) : meta.data = hash meta.save end def __class_name__ @__class_name__ ||= begin raise MissingMigration, "Class #{name} has not been added to Fauna.schema." if !fauna_class_name fauna_class_name[8..-1] end end def find_by_external_id(external_id) find_by("instances", :external_id => external_id, :class => __class_name__).first end end private def post Fauna::Client.post("instances", struct.merge("class" => self.class.__class_name__)) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fauna-0.1.2 | lib/fauna/model/class.rb |
fauna-0.1.1 | lib/fauna/model/class.rb |
fauna-0.1 | lib/fauna/model/class.rb |