Sha256: f071c7060d25fdb07234ee0682e75425f6f475363e26ad05e3f0bf1366c36b98

Contents?: true

Size: 494 Bytes

Versions: 2

Compression:

Stored size: 494 Bytes

Contents

module Spreeference
  module EnvironmentExtension
    extend ActiveSupport::Concern
    
    def add_class(name)
      self.instance_variable_set "@#{name}", Set.new
      create_method( "#{name}=".to_sym ) { |val|
        instance_variable_set( "@" + name, val)
      }

      create_method(name.to_sym) do
        instance_variable_get( "@" + name )
      end
    end

    private
    
    def create_method(name, &block)
      self.class.send(:define_method, name, &block)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spreeference-0.1.1 lib/spreeference/environment_extension.rb
spreeference-0.1.0 lib/spreeference/environment_extension.rb