Sha256: 559dfca7477255028e0e06a55bd2424568f6c521f12eed04600b3cce4e5e6bcd

Contents?: true

Size: 737 Bytes

Versions: 20

Compression:

Stored size: 737 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

20 entries across 20 versions & 1 rubygems

Version Path
lolita-4.0.7 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.5 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.4 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.3 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.2 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.1 lib/lolita/ruby_ext/accessors.rb
lolita-4.0.0 lib/lolita/ruby_ext/accessors.rb
lolita-3.4.2 lib/lolita/ruby_ext/accessors.rb
lolita-3.4.1 lib/lolita/ruby_ext/accessors.rb
lolita-3.4.0 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.9 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.8 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.6 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.4 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.3 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.2 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.1 lib/lolita/ruby_ext/accessors.rb
lolita-3.3.0 lib/lolita/ruby_ext/accessors.rb
lolita-3.2.1 lib/lolita/ruby_ext/accessors.rb
lolita-3.1.10 lib/lolita/ruby_ext/accessors.rb