class Package

Attributes

name[R]
to_s[R]

Public Class Methods

[](key) click to toggle source
# File lib/package.rb, line 86
def [](key)
  loaded[key]
end
[]=(key, value) click to toggle source
# File lib/package.rb, line 90
def []=(key, value)
  loaded[key] = value
end
delete(ns) click to toggle source

rubocop:enable Naming/MemoizedInstanceVariableName

# File lib/package.rb, line 100
def delete(ns)
  @store.delete(ns_to_filename(ns))
end
loaded() click to toggle source

rubocop:disable Naming/MemoizedInstanceVariableName

# File lib/package.rb, line 95
def loaded
  @store ||= {}
end
new(file) click to toggle source
Calls superclass method
# File lib/package.rb, line 81
def new(file)
  file = KernelMethods.ns_to_filename(file)
  self[file] ||= super(file)
end
new(file) click to toggle source
# File lib/package.rb, line 113
def initialize(file)
  @source_file = file
  @name = KernelMethods.ns_from_filename(file)
  load_in_module(file)
end
path() click to toggle source
# File lib/package.rb, line 108
def path
  $LOAD_PATH
end
reload!() click to toggle source
# File lib/package.rb, line 104
def reload!
  @store = {}
end

Public Instance Methods

inspect() click to toggle source
# File lib/package.rb, line 128
def inspect
  format("#<#{self.class.name}(#{name}):0x%014x>", object_id)
end
load(file, wrap = false) click to toggle source
Calls superclass method
# File lib/package.rb, line 122
def load(file, wrap = false)
  wrap ? super : load_in_module(File.join(dir, file))
rescue Errno::ENOENT
  super
end

Private Instance Methods

load_in_module(file) click to toggle source
# File lib/package.rb, line 134
def load_in_module(file)
  module_eval(IO.read(file),
              File.expand_path(file))
rescue Errno::ENOENT
  raise
end
method_added(name) click to toggle source
# File lib/package.rb, line 141
def method_added(name)
  module_function(name)
end