class SeleniumRecord::Generators::InstallGenerator

Generator for installing selenium record in project

Public Instance Methods

add_includes_spec_helper() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 43
def add_includes_spec_helper
  prepend_to_file 'spec/spec_helper.rb' do
    "# SeleniumRecord install configuration\n" \
    "require 'selenium-webdriver'\n" \
    "require 'selenium_record'\n" \
    "require_relative 'support/selenium_objects/base'\n\n"
  end
end
create_autoload() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 35
def create_autoload
  @navigation_components = options[:navigation_components]
  @navigation_folders = @navigation_components.map do |component|
    ActiveSupport::Inflector.pluralize(component)
  end.join(' ')
  template 'autoload.rb.erb', File.join(object_module_path, 'autoload.rb')
end
create_base_dir() click to toggle source

def create_initializer_file

template 'selenium_record.rb.erb',
         'config/initializers/selenium_record.rb'

end

# File lib/generators/selenium_record/install_generator.rb, line 23
def create_base_dir
  empty_directory object_module_path
end
create_common_components() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 27
def create_common_components
  %w(page view).each { |c| create_component(c) }
end
create_navigation_components() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 31
def create_navigation_components
  options[:navigation_components].each { |c| create_component(c) }
end

Private Instance Methods

create_component(component) click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 54
def create_component(component)
  om_path = object_module_path
  comp_folder = ActiveSupport::Inflector.pluralize(component)
  empty_directory File.join om_path, comp_folder
  @component_klass = ActiveSupport::Inflector.classify(component)
  template 'base/application_navigation_component.rb.erb',
           File.join(om_path, 'base', "application_#{component}.rb")
end
object_module_folder() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 63
def object_module_folder
  om_name = options[:objects_module].to_s
  ActiveSupport::Inflector.underscore(om_name)
end
object_module_path() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 68
def object_module_path
  File.join destination_root, test_folder, 'support', object_module_folder
end
test_folder() click to toggle source
# File lib/generators/selenium_record/install_generator.rb, line 72
def test_folder
  case options[:test_framework]
  when 'rspec' then 'spec'
  when 'cucumber' then 'features'
  else
    'test'
  end
end