nanoc / features

Collection of feature requests
2 stars 1 forks source link

Extend Rules DSL to support rules defined across files #65

Closed 0x1eef closed 2 months ago

0x1eef commented 1 year ago

Hello! :wave:

Is there an interest in having nanoc support the require of other files in the context of the Rules DSL ? To better organize the rules in one of my sites, I have organized them by file, and implemented require_rules to do that:

def require_rules(rules, locals = {}, target = binding)
  locals.each { target.local_variable_set(_1, _2) }
  path = File.join(Dir.getwd, rules)
  target.eval(
    if File.readable?(path)
      File.read(path)
    elsif File.readable?("#{path}.rb")
      File.read("#{path}.rb")
    elsif File.readable?("#{path}.rules")
      File.read("#{path}.rules")
    else
      raise LoadError, "#{path} is not readable"
    end
  )
end
0x1eef commented 2 months ago

I'm going to close due to inactivity.