Sha256: 388d1b40e064cefc95d665647ee44182ced1dfaaffb97b9f49098aed67b95bb6

Contents?: true

Size: 711 Bytes

Versions: 47

Compression:

Stored size: 711 Bytes

Contents

class Object
  # Works similar as <code>attr_accessor</code> only reader method is changed
  # to allow to set value (used for Lolita blocks in different classes).
  # ====Example
  #     class Klass
  #       lolita_accessor :my_method
  #     end
  #     k=Klass.new
  #     k.my_method("it's me")
  #     puts k.my_method #=> it's me
  def lolita_accessor *methods
    if [Class,Module].include?(self.class)
      methods.each do |method|
        class_eval <<-ACCESSORS,__FILE__,__LINE__+1
        def #{method}(value=nil)
          @#{method}=value if value
          @#{method}
        end

        def #{method}=(value)
          @#{method}=value
        end
        ACCESSORS
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
lolita-3.2.0.rc.5 lib/lolita/ruby_ext/accessors.rb
lolita-3.2.0.rc.4 lib/lolita/ruby_ext/accessors.rb
lolita-3.2.0.rc.3 lib/lolita/ruby_ext/accessors.rb
lolita-3.2.0.rc2 lib/lolita/ruby_ext/accessors.rb
lolita-3.2.0.rc1 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.17 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.16 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.15 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.14 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.13 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.12 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.11 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.9 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.8 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.7 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.6 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.5 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.4 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.3 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.2 lib/lolita/ruby_ext/accessors.rb