Module: Cucumber::Rails::Database

Defined in:
lib/cucumber/rails/database.rb,
lib/cucumber/rails/database/strategy.rb,
lib/cucumber/rails/database/null_strategy.rb,
lib/cucumber/rails/database/deletion_strategy.rb,
lib/cucumber/rails/database/truncation_strategy.rb,
lib/cucumber/rails/database/shared_connection_strategy.rb

Defined Under Namespace

Classes: DeletionStrategy, InvalidStrategy, NullStrategy, SharedConnectionStrategy, Strategy, TruncationStrategy

Constant Summary collapse

CUSTOM_STRATEGY_INTERFACE =
%w[before_js before_non_js].freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.autorun_database_cleanerObject

Returns the value of attribute autorun_database_cleaner.



17
18
19
# File 'lib/cucumber/rails/database.rb', line 17

def autorun_database_cleaner
  @autorun_database_cleaner
end

Class Method Details

.afterObject



47
48
49
# File 'lib/cucumber/rails/database.rb', line 47

def after
  @strategy.after
end

.before_jsObject



39
40
41
# File 'lib/cucumber/rails/database.rb', line 39

def before_js
  @strategy.before_js
end

.before_non_jsObject



43
44
45
# File 'lib/cucumber/rails/database.rb', line 43

def before_non_js
  @strategy.before_non_js
end

.default_strategy!Object



34
35
36
37
# File 'lib/cucumber/rails/database.rb', line 34

def default_strategy!
  self.javascript_strategy = :truncation
  self.autorun_database_cleaner = true
end

.javascript_strategy=(args) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/cucumber/rails/database.rb', line 19

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