Sha256: c0397e068859ee0269cac8650e6f3c33d920f3de5e206fa3074bade62cfebd6d

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require 'thor'

class Generator < Thor::Group
  include Thor::Actions

  argument :automation
  argument :framework
  argument :name
  argument :visual_automation, optional: true

  def self.source_paths
    base_path = File.dirname(__FILE__)
    %W[#{base_path}/automation/templates #{base_path}/cucumber/templates
       #{base_path}/rspec/templates #{base_path}/templates #{base_path}/actions/templates ]
  end

  def args
    initializer.first
  end

  def cucumber?
    args.include?('cucumber')
  end

  # The framework is cross platform when it supports Android and iOS
  def cross_platform?
    args.include?('cross_platform')
  end

  def mobile?
    (args & %w[android ios cross_platform sparkling_ios]).count.positive?
  end

  def single_platform?
    (args & %w[android ios sparkling_ios]).count.positive?
  end

  def rspec?
    args.include?('rspec')
  end

  def selenium?
    args.include?('selenium')
  end

  def visual?
    initializer.first.last
  end

  def watir?
    args.include?('watir')
  end

  def web?
    (args & (%w[selenium watir])).count.positive?
  end

  private

  def _initializer
    @_initializer ||= super
  end

  alias initializer _initializer
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruby_raider-0.8.6 lib/generators/generator.rb
ruby_raider-0.8.5 lib/generators/generator.rb
ruby_raider-0.8.3 lib/generators/generator.rb
ruby_raider-0.8.2 lib/generators/generator.rb
ruby_raider-0.8.1 lib/generators/generator.rb
ruby_raider-0.8.0 lib/generators/generator.rb