Sha256: ff7b455d9237369fb816ddb844e42f6810102c5e8bbe6f22aab2dec89c29dc46
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module Typekit module Element module Persistence def self.included(base) base.extend(ClassMethods) end def new? id.to_s.empty? end def persistent? !(new? || deleted?) end def deleted? !!@deleted end def save! if new? element = process(:create, serialize) else element = process(:update, id, serialize) end become(element) true end def update!(*arguments) assign_attributes(*arguments) become(process(:update, id, serialize)) true end def delete! process(:delete, id) if persistent? @deleted = true true end [:save, :update, :delete].each do |method| class_eval <<-CODE, __FILE__, __LINE__ + 1 def #{method}(*arguments) #{method}!(*arguments) rescue ServerError false end CODE end module ClassMethods def create(*arguments) element = new(*arguments) element.save element end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
typekit-client-0.0.6 | lib/typekit/element/persistence.rb |