Sha256: 863cd1c90dbe110ad12faf98e5cb8abad7a448ff7a790b3a0cdf4aa37b2115e8
Contents?: true
Size: 880 Bytes
Versions: 1
Compression:
Stored size: 880 Bytes
Contents
module Exposure module Building def self.included(base) base.extend ClassMethods base.send(:include, InstaneMethods) end module ClassMethods def build(name, options = {}, &block) options[:with] ||= block self.const_get(:Builders)[name] = options[:with] end def build_default_builder(member, nesting) self::const_set(:DefaultBuilder, { self.resource_name.intern => Proc.new { [:new, params[resource_name] ] } }) end end module InstaneMethods private def custom_builder_for(resource_name) end def default_builder_for(resource_name) end def builder_for(resource_name) custom_builder_for(resource_name) || default_builder_for(resource_name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
exposure-0.0.7 | lib/exposure/behaviors/building.rb |