Class: Cucumber::Wire::Plugin

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/wire/plugin.rb

Instance Method Summary collapse

Constructor Details

#initialize(config, registry) ⇒ Plugin

Returns a new instance of Plugin.



11
12
13
14
# File 'lib/cucumber/wire/plugin.rb', line 11

def initialize(config, registry)
  @config = config
  @registry = registry
end

Instance Method Details

#create_connection(wire_file) ⇒ Object



23
24
25
# File 'lib/cucumber/wire/plugin.rb', line 23

def create_connection(wire_file)
  Connection.new(Configuration.from_file(wire_file))
end

#installObject



16
17
18
19
20
21
# File 'lib/cucumber/wire/plugin.rb', line 16

def install
  connections = Connections.new(wire_files.map { |f| create_connection(f) }, config, registry)
  config.filters << Filters::ActivateSteps.new(StepMatchSearch.new(connections.method(:step_matches), @config), @config)
  config.filters << AddHooksFilter.new(connections) unless @config.dry_run?
  config.register_snippet_generator Snippet::Generator.new(connections)
end

#wire_filesObject



27
28
29
30
# File 'lib/cucumber/wire/plugin.rb', line 27

def wire_files
  # TODO: change Cucumber's config object to allow us to get this information
  config.send(:require_dirs).map { |dir| Dir.glob("#{dir}/**/*.wire") }.flatten
end