Sha256: dea1f0bec095ee46f6006c2bdcb20677750aaac210cbb19474fc9d1d6ebac41e
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
require_relative "finds_bin" require_relative "config" require_relative "initializer_hooks" require_relative "manages_transactions" require_relative "starts_rails_server" module CypressRails class LaunchesCypress def initialize @initializer_hooks = InitializerHooks.instance @manages_transactions = ManagesTransactions.instance @starts_rails_server = StartsRailsServer.new @finds_bin = FindsBin.new end def call(command, config) puts config.to_s @initializer_hooks.run(:before_server_start) if config.transactional_server @manages_transactions.begin_transaction end server = @starts_rails_server.call( port: config.port, transactional_server: config.transactional_server ) bin = @finds_bin.call(config.dir) set_exit_hooks!(config) system <<~EXEC CYPRESS_BASE_URL=http://#{server.host}:#{server.port} #{bin} #{command} --project "#{config.dir}" #{config.cypress_cli_opts} EXEC end private def set_exit_hooks!(config) at_exit do run_exit_hooks_if_necessary!(config) end Signal.trap("INT") do puts "Exiting cypress-rails…" exit end end def run_exit_hooks_if_necessary!(config) @at_exit_hooks_have_fired ||= false # avoid warning return if @at_exit_hooks_have_fired if config.transactional_server @manages_transactions.rollback_transaction end @initializer_hooks.run(:before_server_stop) @at_exit_hooks_have_fired = true end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cypress-rails-0.1.4 | lib/cypress-rails/launches_cypress.rb |
cypress-rails-0.1.3 | lib/cypress-rails/launches_cypress.rb |