Sha256: fd4e733657e3b0193ddef62391c7a0cc4d736a9a7bb7ceda0a8e52885f37534a
Contents?: true
Size: 698 Bytes
Versions: 1
Compression:
Stored size: 698 Bytes
Contents
module CouchPotato module Persistence class SimpleProperty attr_accessor :name def initialize(owner_clazz, name, options = {}) self.name = name owner_clazz.class_eval do attr_accessor name define_method "#{name}?" do !self.send(name).nil? && !self.send(name).try(:blank?) end end end def build(object, json) object.send "#{name}=", json.stringify_keys[name.to_s] end def save(object) end def destroy(object) end def serialize(json, object) json[name] = object.send name end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
langalex-couch_potato-0.1 | lib/couch_potato/persistence/simple_property.rb |