lib/hx.rb in hx-0.25.0 vs lib/hx.rb in hx-0.26.0
- old
+ new
@@ -374,25 +374,17 @@
def self.get_default_author(options)
options.fetch(:default_author, "nobody")
end
-def self.local_require(options, library)
- saved_require_path = $:.dup
- begin
- $:.delete(".")
- lib_dir = Hx.get_pathname(options, :lib_dir)
- if lib_dir.relative?
- $:.push "./#{lib_dir}"
- else
- $:.push lib_dir.to_s
- end
- require library
- rescue LoadError
- raise
- ensure
- $:[0..-1] = saved_require_path
+def self.setup_require_path(options)
+ $:.delete(".")
+ lib_dir = Hx.get_pathname(options, :lib_dir)
+ if lib_dir.relative?
+ $:.push "./#{lib_dir}"
+ else
+ $:.push lib_dir.to_s
end
end
def self.resolve_constant(qualified_name, root=Object)
begin
@@ -461,11 +453,11 @@
filter = raw_source['filter']
begin
factory = Hx.resolve_constant(filter)
rescue NameError
library = filter.gsub(/::/, '/').downcase
- Hx.local_require(options, library)
+ require library
factory = Hx.resolve_constant(filter)
end
source = factory.new(source, filter_options)
end
@@ -516,12 +508,14 @@
options[key.intern] = value
end
options[:config_file] = config_file
options.update(option_overrides)
+ Hx.setup_require_path(options)
+
if raw_config.has_key? 'require'
for library in raw_config['require']
- Hx.local_require(options, library)
+ require library
end
end
raw_sources_by_name = raw_config.fetch('sources', {})
raw_outputs = raw_config.fetch('output', [])