Class: Embarista::Filters::RewriteMinispadeRequiresFilter
- Inherits:
-
Rake::Pipeline::Filter
- Object
- Rake::Pipeline::Filter
- Embarista::Filters::RewriteMinispadeRequiresFilter
- Defined in:
- lib/embarista/filters/rewrite_minispade_requires_filter.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #generate_output(inputs, output) ⇒ Object
-
#initialize(options = nil, &block) ⇒ RewriteMinispadeRequiresFilter
constructor
A new instance of RewriteMinispadeRequiresFilter.
Constructor Details
#initialize(options = nil, &block) ⇒ RewriteMinispadeRequiresFilter
Returns a new instance of RewriteMinispadeRequiresFilter.
6 7 8 9 10 |
# File 'lib/embarista/filters/rewrite_minispade_requires_filter.rb', line 6 def initialize(=nil, &block) @options = || {} @options[:prefix] = '' unless @options.has_key?(:prefix) super(&block) end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
4 5 6 |
# File 'lib/embarista/filters/rewrite_minispade_requires_filter.rb', line 4 def @options end |
Instance Method Details
#generate_output(inputs, output) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/embarista/filters/rewrite_minispade_requires_filter.rb', line 12 def generate_output(inputs, output) inputs.each do |input| code = input.read #puts input.path relative_root = Pathname.new(input.path).dirname code.gsub!(%r{(?<!\.)\brequire\s*\(\s*["']([^"']+)["']\s*}) do |m| before_path = $1 path = before_path.dup path = relative_root.join(path).to_s if path.start_with?('.') path = path.gsub(%r{^#{[:root]}/}, '') if [:root] path = [:prefix] + path if [:prefix] && !path.include?(':') # puts "require: #{before_path} -> #{path}" "minispade.require('#{path}'" end code.gsub!(%r{(?<!\.)\brequireAll\s*\(([^)]+)\)}) do |m| regex = $1 # puts "requireAll: #{regex}" "minispade.requireAll(#{regex})" end output.write(code) end end |