Module: SitePrism::DSL

Included in:
Page, Section
Defined in:
lib/site_prism/dsl.rb,
lib/site_prism/dsl/builder.rb,
lib/site_prism/dsl/methods.rb,
lib/site_prism/dsl/locators.rb,
lib/site_prism/dsl/validator.rb

Overview

SitePrism::DSL

This is the core internal workings of SitePrism. It consists of four moving parts - plus some generic methods included here

Builder -> The way in which the .build method generates lots of instance-methods on a SitePrism::Page or SitePrism::Section instance
Methods -> The public DSL metaprogram methods, such as `element` or `section`
Locators -> Our locator scoping logic within capybara. By and large leaning on `#to_capybara_node`
Validators -> EXPERIMENTAL: A new module that ensures names of all DSL items conform to certain rules

Defined Under Namespace

Modules: Builder, Locators, Methods, Validator

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



18
19
20
21
22
23
# File 'lib/site_prism/dsl.rb', line 18

def self.included(klass)
  klass.extend Builder
  klass.extend Methods
  klass.include Locators
  klass.extend Validator
end