Sha256: db01f3074a38675a98922e35d6b5ad2f5db1762e237d8d557c80faefc5bef8c2

Contents?: true

Size: 368 Bytes

Versions: 2

Compression:

Stored size: 368 Bytes

Contents

module MetaMethods
  extend self

  def define_attribute(object, key, value)
    object.singleton_class.send :attr_accessor, key.to_sym # creates accessor

    object.send "#{key}=".to_sym, value  # sets up value for attribute
  end

  def define_attributes(object, hash)
    hash.each_pair do |key, value|
      define_attribute(object, key, value)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webmock_method-1.0.1 lib/meta_methods/meta_methods.rb
webmock_method-1.0.0 lib/meta_methods/meta_methods.rb