module Howitzer::Utils::StringExtensions
This module extends standard String class with useful methods for Cucumber step definitions
Public Instance Methods
as_email_class()
click to toggle source
Returns an email class by name @example
'Reset Password'.as_email_class #=> ResetPasswordEmail
@see Howitzer::Email
# File lib/howitzer/utils/string_extensions.rb, line 50 def as_email_class as_class('Email') end
as_page_class()
click to toggle source
Returns a page class by name @example
'home'.as_page_class #=> HomePage
@see Howitzer::Web::Page
# File lib/howitzer/utils/string_extensions.rb, line 41 def as_page_class as_class('Page') end
displayed?()
click to toggle source
Waits until a page is opened or raises error @example
'home'.displayed? #=> HomePage.displayed?
@see Howitzer::Web::Page.displayed?
# File lib/howitzer/utils/string_extensions.rb, line 32 def displayed? as_page_class.displayed? end
given()
click to toggle source
Returns an instantiated page by name @example
'home'.given #=> HomePage.given
@see Howitzer::Web::Page.given
# File lib/howitzer/utils/string_extensions.rb, line 23 def given as_page_class.given end
on(&block)
click to toggle source
Executes code in context of the page @example
'home'.on { puts 1 } #=> HomePage.on { puts 1 }
@see Howitzer::Web::Page.on
# File lib/howitzer/utils/string_extensions.rb, line 59 def on(&block) as_page_class.on(&block) end
open(*args, **options)
click to toggle source
Opens a page by name @example
'home'.open #=> HomePage.open
# File lib/howitzer/utils/string_extensions.rb, line 10 def open(*args, **options) if options.present? as_page_class.open(*args, **options) else as_page_class.open(*args) end end
Private Instance Methods
as_class(type)
click to toggle source
# File lib/howitzer/utils/string_extensions.rb, line 65 def as_class(type) "#{gsub(/\s/, '_').camelize}#{type}".constantize end