Class: Bowline::Binders::Singleton
- Defined in:
- lib/bowline/binders/singleton.rb
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
-
.bind(klass) ⇒ Object
Associate the binder with a model to setup callbacks so changes to the model are automatically reflected in the view.
Methods inherited from Base
bowline, callback, callback_proc, callback_proc=, created, destroyed, find, initial, #initialize, instance_invoke, items=, jquery, js_invoke, klass, logger, page, populate, setup, updated, windows
Methods included from Watcher::Base
Methods included from Desktop::Bridge::ClassMethods
Constructor Details
This class inherits a constructor from Bowline::Binders::Base
Class Method Details
.bind(klass) ⇒ Object
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.
30 31 32 33 34 |
# File 'lib/bowline/binders/singleton.rb', line 30 def bind(klass) @klass = klass observer = Observer.new(self) @klass.add_observer(observer) end |