Sha256: c708afd94a493ce6f743cd46e19988d2755e2499a3cd1f62c6d32a2eda85e503
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require "active_support/inflector" module Chop module DSL extend self def create! klass, table, &block Create.create! klass, table, &block end def diff! selector, table, session: Capybara.current_session, as: nil, timeout: nil, **kwargs, &block class_name = if as as.to_s elsif selector.respond_to?(:tag_name) selector.tag_name else session.find(selector).tag_name end.camelize klass = const_get("Chop::#{class_name}") kwargs[:session] = session kwargs[:timeout] = timeout if timeout.present? klass.diff! selector, table, **kwargs, &block end def fill_in! table Form.fill_in! table end end if defined?(Cucumber::MultilineArgument::DataTable) Cucumber::MultilineArgument::DataTable.prepend Module.new { def create! klass, &block DSL.create! klass, self, &block end def diff! other_table="table", **kwargs, &block if other_table.respond_to?(:tag_name) || (other_table.is_a?(String) && !other_table.include?("|")) DSL.diff! other_table, self, **kwargs, &block else super end end def fill_in! DSL.fill_in! self end } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chop-0.31.0 | lib/chop/dsl.rb |
chop-0.30.0 | lib/chop/dsl.rb |