Sha256: 03a9db450c8989deb2d172fb160e44468cdc8eb2eaa7daf6a061d471e0e054e8

Contents?: true

Size: 666 Bytes

Versions: 1

Compression:

Stored size: 666 Bytes

Contents

module ReadSource
  module ReadSource
    def read_source
      (file, line_num = send :source_location) || return
      readlines = IO.readlines(file)
      source = readlines[line_num-1]
      indent = /\A[[:space:]]*/.match(source).to_s.length
      source = source[indent..-1]
      readlines[line_num..-1].each do |line|
        source += line[indent..-1]
        if indent == /\A[[:space:]]*/.match(line).to_s.length
          break source
        end
      end
    end

    def attr?
      (file, line_num = send :source_location) || return
      def_header = IO.readlines(file)[line_num-1]
      def_header[/(attr[\w]*)/].to_sym rescue nil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
read_source-0.2.0 lib/read_source/read_source.rb