module UnrealReaper
Constants
- VERSION
Public Class Methods
included(cls)
click to toggle source
# File lib/unreal_reaper.rb, line 16 def included(cls) cls.class_eval do def self.ur_package(name, opts = {}) UnrealReaper::Installer.new(self).install(name, opts) end end end
load(package, opts = { top_cls: nil, helper_cls: nil, writer_cls: nil })
click to toggle source
# File lib/unreal_reaper.rb, line 24 def load(package, opts = { top_cls: nil, helper_cls: nil, writer_cls: nil }) name, tm, hm, wm = format_package(package, opts) raise "Cannot load a empty package" unless tm || hm || wm packages[name.to_sym] = { top_cls: tm, helper_cls: hm, writer_cls: wm } end
packages()
click to toggle source
# File lib/unreal_reaper.rb, line 30 def packages @packages ||= {} end
ur_package(name, opts = {})
click to toggle source
# File lib/unreal_reaper.rb, line 18 def self.ur_package(name, opts = {}) UnrealReaper::Installer.new(self).install(name, opts) end
Private Class Methods
format_package(package, opts)
click to toggle source
# File lib/unreal_reaper.rb, line 36 def format_package(package, opts) opts = opts.symbolize_keys name = nil tm = opts[:top_cls] hm = opts[:helper_cls] wm = opts[:writer_cls] case package when String, Symbol name = package.to_sym when Module name = package.name.underscore tm ||= get_package_cls(package, :Top) hm ||= get_package_cls(package, :Helper) wm ||= get_package_cls(package, :Writer) if package.is_a?(Class) hm ||= package wm ||= package end else raise "The package isn't a module" end [name, tm, hm, wm] end
get_package_cls(package, name)
click to toggle source
# File lib/unreal_reaper.rb, line 63 def get_package_cls(package, name) return unless package.constants.include?(name) cls = package.const_get(name) raise "'#{name}' is not a class" unless cls.is_a?(Class) cls end