module <%= name.split('_').map(&:capitalize).join %>

class <%= klass.gsub('::', '') %> < Page::Base

<% if url.empty? -%>

# Define url represented by page object if appropriate
# page_url {  }

<% else -%> <% if url =~ %r{^(about|data|https?):}i -%>

page_url { "<%= url %>" }

<% else -%>

page_url { "#{Site.base_url}<%= url %>" }

<% end -%> <% end -%>

<% if elements.empty? -%>

# Define elements representing contents of page

<% end -%>

# Specify full Watir locator inside block
# element(:foo) { browser.div(id: 'foo') }

<% elements.each do |element| -%>

element(:<%= element %>) {  }

<% end -%> <% unless form.empty? -%>

element(:submit) { browser.button(visible: true) }

def submit_form(<%= form.downcase %> = nil)
  <%= form.downcase %> ||= Data::<%= form %>.new
  fill_form(<%= form.downcase %>)
  submit.click
  <%= form.downcase %>
end

<% end %>

end

end