Sha256: c93dcbb7dc97ef1ff2db84dc3a3c78619f46acc1feb8567f2d5bf3d38f6d6a4a

Contents?: true

Size: 808 Bytes

Versions: 2

Compression:

Stored size: 808 Bytes

Contents

motion_require 'accessor_method'

module Virtus
  class Attribute

    # Reader method object
    #
    # @api public
    class Reader < AccessorMethod

      # Returns value of an attribute for the given instance
      #
      # @example
      #   attribute.get(instance)  # => value
      #
      # @return [Object]
      #   value of an attribute
      #
      # @api public
      def call(instance)
        instance.instance_variable_get(instance_variable_name)
      end

      # Creates an attribute reader method
      #
      # @param [Module] mod
      #
      # @return [self]
      #
      # @api private
      def define_method(accessor, mod)
        mod.define_reader_method(accessor, name, visibility)
        self
      end

    end # class Reader

  end # class Attribute
end # module Virtus

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
motion_virtus-1.0.0.beta0.1 lib/project/attribute/reader.rb
motion_virtus-1.0.0.beta0 lib/project/attribute/reader.rb