lib/cistern/model.rb in cistern-0.12.3 vs lib/cistern/model.rb in cistern-1.0.0.pre

- old
+ new

@@ -1,15 +1,21 @@ -class Cistern::Model - extend Cistern::Attributes::ClassMethods +module Cistern::Model include Cistern::Attributes::InstanceMethods - attr_accessor :collection, :connection + def self.included(klass) + klass.send(:extend, Cistern::Attributes::ClassMethods) + klass.send(:include, Cistern::Attributes::InstanceMethods) + end - alias service connection + attr_accessor :collection, :service def inspect - Cistern.formatter.call(self) + if Cistern.formatter + Cistern.formatter.call(self) + else + "#<#{self.class} #{self.identity}" + end end def initialize(attributes={}) merge_attributes(attributes) end @@ -48,17 +54,17 @@ else super end end - def service - self.connection ? self.connection.class : Cistern + def wait_for(timeout = self.service_class.timeout, interval = self.service_class.poll_interval, &block) + service_class.wait_for(timeout, interval) { reload && block.call(self) } end - def wait_for(timeout = self.service.timeout, interval = self.service.poll_interval, &block) - service.wait_for(timeout, interval) { reload && block.call(self) } + def wait_for!(timeout = self.service_class.timeout, interval = self.service_class.poll_interval, &block) + service_class.wait_for!(timeout, interval) { reload && block.call(self) } end - def wait_for!(timeout = self.service.timeout, interval = self.service.poll_interval, &block) - service.wait_for!(timeout, interval) { reload && block.call(self) } + def service_class + self.service ? self.service.class : Cistern end end