class UnrealReaper::Installer

Attributes

cls[R]

Public Class Methods

new(cls) click to toggle source
# File lib/unreal_reaper/installer.rb, line 7
def initialize(cls)
  @cls = cls
end
ur() click to toggle source
# File lib/unreal_reaper/installer.rb, line 23
def self.ur
  @ur_manager ||= Manager.new(self)
end

Public Instance Methods

init_entry() click to toggle source
# File lib/unreal_reaper/installer.rb, line 20
def init_entry
  return if cls.methods.include?(:ur)
  cls.class_eval do
    def self.ur
      @ur_manager ||= Manager.new(self)
    end

    def ur
      @ur_manager ||= begin
        self.class.ur._instance_manager_cls.new(self)
      end
    end

    def ur=(data)
      ur._write(data)
    end
  end
end
install(package_name, opts = {}) click to toggle source
# File lib/unreal_reaper/installer.rb, line 11
def install(package_name, opts = {})
  package = UnrealReaper.packages[package_name.to_sym]
  raise "Not found package '#{package_name}'" unless package
  opts = opts.symbolize_keys

  init_entry
  cls.ur._install(package_name, *package.values_at(:top_cls, :helper_cls, :writer_cls), opts)
end
ur() click to toggle source
# File lib/unreal_reaper/installer.rb, line 27
def ur
  @ur_manager ||= begin
    self.class.ur._instance_manager_cls.new(self)
  end
end
ur=(data) click to toggle source
# File lib/unreal_reaper/installer.rb, line 33
def ur=(data)
  ur._write(data)
end