Module: Legion::Extensions::Builder::Base

Included in:
Absorbers, Actors, Helpers, Hooks, Routes, Runners, Skills
Defined in:
lib/legion/extensions/builders/base.rb

Instance Method Summary collapse

Instance Method Details

#const_defined_two?(item, root = Kernel) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/legion/extensions/builders/base.rb', line 21

def const_defined_two?(item, root = Kernel)
  root.const_defined?(item.to_s)
end

#define_constant_two(item, root: Kernel, type: Module) ⇒ Object



25
26
27
28
29
# File 'lib/legion/extensions/builders/base.rb', line 25

def define_constant_two(item, root: Kernel, type: Module)
  return true if root.const_defined?(item)

  root.const_set(item.to_s, type.new)
end

#define_get(item, root: Kernel, type: Module) ⇒ Object



31
32
33
34
# File 'lib/legion/extensions/builders/base.rb', line 31

def define_get(item, root: Kernel, type: Module)
  define_constant_two(item, root: root, type: type) if const_defined_two?(item, root: root)
  root.const_get(item)
end

#find_files(name, path = extension_path) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/legion/extensions/builders/base.rb', line 7

def find_files(name, path = extension_path)
  files = []
  return files unless Dir.exist? "#{path}/#{name}"

  Dir["#{path}/#{name}/*.rb"].each do |file|
    files.push(file)
  end
  files
end

#require_files(files) ⇒ Object



17
18
19
# File 'lib/legion/extensions/builders/base.rb', line 17

def require_files(files)
  files.each { |file| require file }
end