Module: Imaginable::Model
- Defined in:
- lib/imaginable/model.rb
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Instance Method Summary collapse
Instance Method Details
#has_imagination(column, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/imaginable/model.rb', line 7 def has_imagination(column, = {}) extend ClassMethods include InstanceMethods class_attribute :_imaginable_settings self._imaginable_settings = { :column => column } self._imaginable_settings.update() if .is_a?(Hash) define_method "has_#{column}?" do uuid = self["#{column}_uuid"] token = self["#{column}_token"] return false unless uuid && token !uuid.empty? && !token.empty? end define_method column do uuid = self["#{column}_uuid"] token = self["#{column}_token"] version = self["#{column}_version"] Image.new(uuid, token, version) end after_initialize :update_imaginable_version end |