Sha256: ef0babe36c34948f6743f3d94aa2b2a977d5e80b04229e24fddefafc2290be2c
Contents?: true
Size: 607 Bytes
Versions: 2
Compression:
Stored size: 607 Bytes
Contents
require "pluck_map/attribute" module PluckMap class AttributeBuilder def self.build(&block) builder = self.new if block.arity == 1 block.call(builder) else builder.instance_eval(&block) end builder.instance_variable_get(:@attributes).freeze end def initialize @attributes = [] end def method_missing(attribute_name, *args) options = args.extract_options! options[:value] = args.first unless args.empty? @attributes.push PluckMap::Attribute.new(attribute_name, options) :attribute_added end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pluck_map-0.4.1 | lib/pluck_map/attribute_builder.rb |
pluck_map-0.4.0 | lib/pluck_map/attribute_builder.rb |