Sha256: fcd6ea6d788cefc70d30689b96907a65a8fe8dca3321831ea13a8e20b4fc2410

Contents?: true

Size: 456 Bytes

Versions: 4

Compression:

Stored size: 456 Bytes

Contents

module BlockAttr

  def self.included klass
    klass.extend ClassMethods
  end

  module ClassMethods

    # No Convention over Configuration attributes.
    def block_attr *list
      @attributes = ((@attributes || [])+ list).uniq
      list.each do |new_method|
        instance_eval do
          define_method new_method do |argument|
            instance_variable_set "@#{new_method}", argument
          end
        end
      end
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
atesta-0.0.4 lib/block_attr.rb
atesta-0.0.3 lib/block_attr.rb
atesta-0.0.2 lib/block_attr.rb
atesta-0.0.1 lib/block_attr.rb