lib/neoon/node.rb in neoon-0.0.3 vs lib/neoon/node.rb in neoon-0.0.4

- old
+ new

@@ -1,17 +1,32 @@ module Neoon module Node module ClassMethods - end + attr_reader :neo_model_config - module InstanceMethods + def neo_model_config + @neo_model_config ||= Model::Config.new(self) + end + + def neoon(opts = {}) + yield(neo_model_config) if block_given? + + opts.each do |key, value| + raise "No such option #{key} for #{self.name} model" unless neo_model_config.respond_to?("#{key}=") + neo_model_config.send("#{key}=", value) + end + end end def self.included(receiver) - receiver.send :include, Model::Service + receiver.send :include, Model::Node + receiver.extend Model::Schema receiver.extend ClassMethods - receiver.send :include, InstanceMethods + + receiver.after_save :neo_save + receiver.after_destroy :neo_destroy + Neoon.config.models << receiver end end end \ No newline at end of file