Sha256: dd909af32745d6ca6e0b4fe7aa529f0a6c1ae0a1069b9cf1edae0c4b4c95006f
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
module Her module Testing module Macros module ModelMacros # Create a class and automatically inject Her::Model into it def spawn_model(klass, &block) if klass =~ /::/ base, submodel = klass.split(/::/).map{ |s| s.to_sym } Object.const_set(base, Module.new) unless Object.const_defined?(base) Object.const_get(base).module_eval do remove_const submodel if constants.include?(submodel) submodel = const_set(submodel, Class.new) submodel.send(:include, Her::Model) submodel.class_eval(&block) if block_given? end @spawned_models << base else Object.instance_eval { remove_const klass } if Object.const_defined?(klass) Object.const_set(klass, Class.new).send(:include, Her::Model) Object.const_get(klass).class_eval(&block) if block_given? @spawned_models << klass.to_sym end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
her-0.6.1 | spec/support/macros/model_macros.rb |
her-0.6 | spec/support/macros/model_macros.rb |
her-0.5.5 | spec/support/macros/model_macros.rb |
her-0.5.4 | spec/support/macros/model_macros.rb |