Sha256: 54122c71cbf1c5ffb5a9908619dda12b04851aea829c00d48a86876a1bd61870

Contents?: true

Size: 385 Bytes

Versions: 1

Compression:

Stored size: 385 Bytes

Contents

module SingletonHelper

  def self.included(base)
    base.extend ClassMethods
  end

  module ClassMethods
    def attr_singleton(attr, default=nil)
      define_singleton_method attr do |value=nil|
        if value.present?
          instance_variable_set("@#{attr}", value)
        else
          instance_variable_get("@#{attr}") || default
        end
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dashboard-rails-1.0.0 lib/dashboard-rails/singleton_helper.rb