Sha256: 187353a2c028d7549b61e0a6d479044fe3da1fc9bb49e10a2b2b181b793f7819
Contents?: true
Size: 681 Bytes
Versions: 2
Compression:
Stored size: 681 Bytes
Contents
require 'metabolical/meta_datum' require 'metabolical/scopes' module Metabolical def self.included(klass) klass.extend ClassMethods end module ClassMethods def metabolize! include Metabolical::Scopes class_eval do has_many :metas, :as => :metabolized, :class_name => 'Metabolical::MetaDatum' do def [](key) find_by_key(key) || self.proxy_owner.metas.detect{|m| m.key == key} end def []=(key, data) meta = self[key] || self.proxy_owner.metas.build(:key => key) meta.data = data meta end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
metabolical-0.0.2 | lib/metabolical.rb |
metabolical-0.0.1 | lib/metabolical.rb |