module Cucumber::Rails::Database
Constants
- CUSTOM_STRATEGY_INTERFACE
Attributes
autorun_database_cleaner[RW]
Public Class Methods
after()
click to toggle source
# File lib/cucumber/rails/database.rb, line 36 def after @strategy.after end
before_js()
click to toggle source
# File lib/cucumber/rails/database.rb, line 28 def before_js @strategy.before_js end
before_non_js()
click to toggle source
# File lib/cucumber/rails/database.rb, line 32 def before_non_js @strategy.before_non_js end
javascript_strategy=(args)
click to toggle source
# File lib/cucumber/rails/database.rb, line 13 def javascript_strategy=(args) strategy, *strategy_opts = args strategy_type = case strategy when Symbol map[strategy] || throw_invalid_strategy_error(strategy) when Class strategy end @strategy = strategy_type.new(*strategy_opts) validate_interface! end
Private Class Methods
map()
click to toggle source
# File lib/cucumber/rails/database.rb, line 42 def map { truncation: TruncationStrategy, shared_connection: SharedConnectionStrategy, transaction: SharedConnectionStrategy, deletion: DeletionStrategy } end
mapped_keys()
click to toggle source
# File lib/cucumber/rails/database.rb, line 55 def mapped_keys map.keys.join(',') end
throw_invalid_strategy_error(strategy)
click to toggle source
# File lib/cucumber/rails/database.rb, line 51 def throw_invalid_strategy_error(strategy) raise(InvalidStrategy, "The strategy '#{strategy}' is not understood. Please use one of #{mapped_keys}") end
throw_invalid_strategy_interface_error()
click to toggle source
# File lib/cucumber/rails/database.rb, line 65 def throw_invalid_strategy_interface_error raise( ArgumentError, "Strategy must respond to all of: #{CUSTOM_STRATEGY_INTERFACE.map { |method| "##{method}" } * ' '} !" ) end
validate_interface!()
click to toggle source
# File lib/cucumber/rails/database.rb, line 59 def validate_interface! return if CUSTOM_STRATEGY_INTERFACE.all? { |m| @strategy.respond_to?(m) } throw_invalid_strategy_interface_error end