class Opal::Rubyspec::FiltersRewriter
Constants
- RUBYSPEC_DSL
Public Class Methods
clear_filters!()
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 24 def clear_filters! @filters = [] end
filter(spec_name)
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 13 def filter(spec_name) filters << spec_name end
Also aliased as: fails, fails_badly
filtered?(spec_name)
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 20 def filtered?(spec_name) filters.include?(spec_name) end
filters()
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 9 def filters @filters ||= [] end
new()
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 29 def initialize @specs_stack = [] end
Public Instance Methods
current_spec_name()
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 72 def current_spec_name @specs_stack.join(' ') end
fixture(file, *args)
click to toggle source
Adapted from: spec/mspec/lib/mspec/helpers/fixture.rb
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 77 def fixture(file, *args) path = File.dirname(file) path = path[0..-7] if path[-7..-1] == '/shared' fixtures = path[-9..-1] == '/fixtures' ? '' : 'fixtures' File.join(path, fixtures, args) end
on_send(node)
click to toggle source
Calls superclass method
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 35 def on_send(node) _recvr, method_name, *args = *node if rubyspec_dsl?(method_name) dynamic! spec_name, _ = *args.first begin @specs_stack.push(spec_name) if skip? s(:nil) else super end ensure @specs_stack.pop end elsif method_name == :fixture # We want to expand the fixture paths before autoload happens. if args.all? { |i| i.type == :str } as = args.map { |i| i.children.first } s(:str, fixture(*as)) else super end else super end end
rubyspec_dsl?(method_name)
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 68 def rubyspec_dsl?(method_name) RUBYSPEC_DSL.include?(method_name) end
skip?()
click to toggle source
# File lib/opal/rewriters/rubyspec/filters_rewriter.rb, line 64 def skip? self.class.filtered?(current_spec_name) end