Sha256: 712245387c798bd708f1da215f0135a2d5d8a33eeecde45acd332fdbbc061af4
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
module Bowline module Binders class Singleton < Base class << self def setup(*args) #:nodoc super(*args) {:singleton => true} end alias :item= :items= # Associate the binder with a model to setup callbacks so # changes to the model are automatically reflected in the view. # Example: # bind Post # # When the bound class is updated/deleted # the binder's callbacks are executed and the view # updated accordingly. # # Classes inheriting from ActiveRecord and SuperModel are # automatically compatable, but if you're using your own custom model # you need to make sure it responds to the following methods: # * all - return all records # * find(id) - find record by id # * after_update(method) - after_update callback # * after_destroy(method) - after_destroy callback # # The klass' instance needs to respond to: # * id - returns record id # * to_js - return record's attribute hash # # You can override the to_js method on the model instance # in order to return specific attributes for the view. def bind(klass) @klass = klass observer = Observer.new(self) @klass.add_observer(observer) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bowline-0.6.2 | lib/bowline/binders/singleton.rb |
bowline-0.6.1 | lib/bowline/binders/singleton.rb |
bowline-0.6.0 | lib/bowline/binders/singleton.rb |