class Pakyow::Loader
Loads files that define an app aspect and names the objects appropriately.
Public Class Methods
new(path)
click to toggle source
# File lib/pakyow/loader.rb, line 10 def initialize(path) @path = path end
Public Instance Methods
call(target)
click to toggle source
# File lib/pakyow/loader.rb, line 14 def call(target) code = String.new target.__object_name.namespace.parts.each do |part| code << "module #{Support.inflector.camelize(part)}\n" end code << "class #{Support.inflector.camelize(target.__object_name.name)}\n" code << File.read(@path) code << "end\n" target.__object_name.namespace.parts.count.times do code << "end\n" end object = eval(code, TOPLEVEL_BINDING, @path, 1 - target.__object_name.namespace.parts.count - 1) if object.respond_to?(:__source_location) object.__source_location = [@path, 1] end object end