Skip to content

Simplify gem#153

Merged
aguspe merged 305 commits intomasterfrom
simplify_gem
Mar 14, 2026
Merged

Simplify gem#153
aguspe merged 305 commits intomasterfrom
simplify_gem

Conversation

@aguspe
Copy link
Collaborator

@aguspe aguspe commented Mar 14, 2026

No description provided.

aguspe and others added 30 commits May 18, 2022 21:17
Expand existing tasks with Url,Path & browser
convert strings to symbols in new browser
Add command to run all the tests in a project
…ands

Add ability to pass the path to scaffolding commands
aguspe and others added 25 commits February 10, 2026 21:05
Removes automatic RubyGems publishing to give maintainers control over when gems are published. Workflow now creates GitHub releases with gem files attached, allowing manual verification before publishing.
* simplify pipelines


* fixed tests


* Fix PR review comments: rubocop and reek warnings

- Add RSpec/BeforeAfterAll inline disable comments to system specs
- Extract SystemTestHelper module to fix DuplicateMethodCall and TooManyStatements
- Add reek suppressions for UtilityFunction and ControlParameter
- Fix capybara rack-test error with run_server = false
- Add capybara minitest support in test_helper.tt
- Add setup job to system_tests.yml to prevent cache conflicts


---------
…ateError

- Use super() instead of message in to_s to avoid infinite recursion
- Re-raise TemplateError subclasses before generic StandardError rescue
- Add test fixture templates for partial rendering tests
* Ruby Raider v3.0.0

- Add Minitest and Capybara as first-class framework and automation types
- Add optional web add-ons: accessibility (axe), visual regression (chunky_png), performance (Lighthouse)
- Add LLM integration (OpenAI, Anthropic, Ollama) for AI-assisted scaffolding
- Add adopt command for importing existing test projects
- Add enhanced scaffolding: CRUD generation, URL analysis, components, from_url
- Add video recording support for all framework combinations
- Add CLI features: skip flags, reporter selection, retry, tags, destroy, template overrides
- Add GitHub Actions and GitLab CI/CD pipeline generation
- Add Steep type checking with RBS signatures
- Add E2E tests, content validation, command routing, and menu tests
- Add terminal logo display on project creation
- Refactor Applitools to chunky_png for free local visual regression
- Refactor axe from automation type to optional add-on
- Update README with full feature documentation and new logo

* fix comments

* fix comments

* fix comments

* fixing rake pipeline

* raider 3.0.0

* Update lib/generators/menu_generator.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Removed the Sponsors section and BrowserStack testing note.
Updated the link for more information and releases.
Updated the link format for the release information in the README.
Fix link formatting in README for website reference.
…uby version selection, gitlab CI, and skip_ci

Simplify Ruby Raider by removing low-value features:
- LLM integration and plugin system
- Capybara and Minitest as framework options
- Adopt project import feature
- Reporter selection (allure is now always included)
- Ruby version selection and .ruby-version generation
- GitLab CI/CD option and CI platform selector (GitHub Actions is now default)
- --skip_ci flag (CI is always generated)
Simplify addon options — only accessibility (axe) remains as an optional add-on.
Removes visual_addon/chunky_png and lighthouse_addon/performance templates,
generators, menu steps, CLI flags, and all related tests.
…c-from-page

Simplify scaffolding to basic commands only: page, spec, feature, steps,
helper, component, and scaffold (generates page + test).
Removes --crud, --with, --from options and interactive scaffold menu.
# Conflicts:
#	.github/workflows/e2e_tests.yml
#	.github/workflows/system_tests.yml
#	README.md
#	lib/commands/scaffolding_commands.rb
#	lib/commands/utility_commands.rb
#	lib/generators/automation/templates/login.tt
#	lib/generators/automation/templates/page.tt
#	lib/generators/automation/templates/partials/initialize_selector.tt
#	lib/generators/automation/templates/partials/visit_method.tt
#	lib/generators/common_generator.rb
#	lib/generators/cucumber/cucumber_generator.rb
#	lib/generators/cucumber/templates/accessibility_steps.tt
#	lib/generators/cucumber/templates/cucumber.tt
#	lib/generators/cucumber/templates/env.tt
#	lib/generators/cucumber/templates/partials/appium_env.tt
#	lib/generators/cucumber/templates/partials/selenium_env.tt
#	lib/generators/cucumber/templates/partials/watir_env.tt
#	lib/generators/cucumber/templates/partials/web_steps.tt
#	lib/generators/cucumber/templates/world.tt
#	lib/generators/generator.rb
#	lib/generators/helper_generator.rb
#	lib/generators/infrastructure/templates/github.tt
#	lib/generators/infrastructure/templates/github_appium.tt
#	lib/generators/invoke_generators.rb
#	lib/generators/menu_generator.rb
#	lib/generators/rspec/rspec_generator.rb
#	lib/generators/rspec/templates/accessibility_spec.tt
#	lib/generators/rspec/templates/spec.tt
#	lib/generators/templates/common/gemfile.tt
#	lib/generators/templates/common/git_ignore.tt
#	lib/generators/templates/common/partials/mobile_config.tt
#	lib/generators/templates/common/partials/web_config.tt
#	lib/generators/templates/common/rakefile.tt
#	lib/generators/templates/common/read_me.tt
#	lib/generators/templates/helpers/allure_helper.tt
#	lib/generators/templates/helpers/partials/debug_diagnostics.tt
#	lib/generators/templates/helpers/partials/debug_start.tt
#	lib/generators/templates/helpers/partials/quit_driver.tt
#	lib/generators/templates/helpers/partials/screenshot.tt
#	lib/generators/templates/helpers/spec_helper.tt
#	lib/ruby_raider.rb
#	lib/scaffolding/project_detector.rb
#	lib/scaffolding/scaffolding.rb
#	lib/scaffolding/templates/component.tt
#	lib/scaffolding/templates/page_object.tt
#	lib/scaffolding/templates/spec.tt
#	lib/scaffolding/templates/steps.tt
#	lib/utilities/utilities.rb
#	lib/version
#	sig/commands/scaffolding_commands.rbs
#	sig/commands/utility_commands.rbs
#	sig/generators/cucumber/cucumber_generator.rbs
#	sig/generators/generator.rbs
#	sig/generators/helper_generator.rbs
#	sig/generators/invoke_generators.rbs
#	sig/generators/menu_generator.rbs
#	sig/generators/rspec/rspec_generator.rbs
#	sig/ruby_raider.rbs
#	sig/scaffolding/project_detector.rbs
#	sig/scaffolding/scaffolding.rbs
#	sig/utilities/utilities.rbs
#	spec/commands/raider_commands_spec.rb
#	spec/integration/commands/scaffolding_commands_spec.rb
#	spec/integration/commands/utility_commands_spec.rb
#	spec/integration/content/ci_content_spec.rb
#	spec/integration/content/common_content_spec.rb
#	spec/integration/content/config_content_spec.rb
#	spec/integration/content/content_helper.rb
#	spec/integration/content/gemfile_content_spec.rb
#	spec/integration/content/helper_content_spec.rb
#	spec/integration/content/page_content_spec.rb
#	spec/integration/content/syntax_validation_spec.rb
#	spec/integration/content/test_content_spec.rb
#	spec/integration/end_to_end_features_spec.rb
#	spec/integration/end_to_end_spec.rb
#	spec/integration/generators/axe_addon_spec.rb
#	spec/integration/generators/common_generator_spec.rb
#	spec/integration/generators/config_features_spec.rb
#	spec/integration/generators/debug_helper_spec.rb
#	spec/integration/generators/github_generator_spec.rb
#	spec/integration/generators/helpers_generator_spec.rb
#	spec/integration/scaffolding_e2e_spec.rb
#	spec/integration/settings_helper.rb
#	spec/integration/spec_helper.rb
#	spec/menus/menu_generator_spec.rb
#	spec/scaffolding/scaffold_project_detector_spec.rb
#	spec/scaffolding/scaffolding_features_spec.rb
#	spec/system/selenium_spec.rb
#	spec/system/support/system_test_helper.rb
#	spec/system/watir_spec.rb
#	spec/utilities/headless_config_spec.rb

def generate_project(framework:, automation:)
name = "browser_update_#{framework}_#{automation}"
generate_framework(automation: automation, framework: framework, name: name)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Style/HashSyntax> reported by reviewdog 🐶
Omit the hash value.

Suggested change
generate_framework(automation: automation, framework: framework, name: name)
generate_framework(automation:, framework: framework, name: name)


def generate_project(framework:, automation:)
name = "browser_update_#{framework}_#{automation}"
generate_framework(automation: automation, framework: framework, name: name)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Style/HashSyntax> reported by reviewdog 🐶
Omit the hash value.

Suggested change
generate_framework(automation: automation, framework: framework, name: name)
generate_framework(automation: automation, framework:, name: name)


def generate_project(framework:, automation:)
name = "browser_update_#{framework}_#{automation}"
generate_framework(automation: automation, framework: framework, name: name)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Style/HashSyntax> reported by reviewdog 🐶
Omit the hash value.

Suggested change
generate_framework(automation: automation, framework: framework, name: name)
generate_framework(automation: automation, framework: framework, name:)


shared_examples 'updates browser config after creation' do |framework, automation|
before(:all) do # rubocop:disable RSpec/BeforeAfterAll
@project_name = generate_project(framework: framework, automation: automation)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Style/HashSyntax> reported by reviewdog 🐶
Omit the hash value.

Suggested change
@project_name = generate_project(framework: framework, automation: automation)
@project_name = generate_project(framework:, automation: automation)


shared_examples 'updates browser config after creation' do |framework, automation|
before(:all) do # rubocop:disable RSpec/BeforeAfterAll
@project_name = generate_project(framework: framework, automation: automation)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Style/HashSyntax> reported by reviewdog 🐶
Omit the hash value.

Suggested change
@project_name = generate_project(framework: framework, automation: automation)
@project_name = generate_project(framework: framework, automation:)

Comment on lines 27 to +28

WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Layout/EmptyLinesAroundBlockBody> reported by reviewdog 🐶
Extra empty line detected at block body beginning.

Suggested change
WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze


WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [rubocop] <Lint/ConstantDefinitionInBlock> reported by reviewdog 🐶
Do not define constants this way within a block.


WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <RSpec/LeakyConstantDeclaration> reported by reviewdog 🐶
Stub constant instead of declaring explicitly.

WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber].freeze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [rubocop] <Lint/ConstantDefinitionInBlock> reported by reviewdog 🐶
Do not define constants this way within a block.

WEB_AUTOMATIONS = %w[selenium capybara watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber minitest].freeze
WEB_AUTOMATIONS = %w[selenium watir].freeze
TEST_FRAMEWORKS = %w[rspec cucumber].freeze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <RSpec/LeakyConstantDeclaration> reported by reviewdog 🐶
Stub constant instead of declaring explicitly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [rubocop] <Layout/IndentationConsistency> reported by reviewdog 🐶
Inconsistent indentation detected.

shared_examples 'creates a config file' do |name|
it 'creates a config file' do
expect(File).to exist("#{name}/config/config.yml")
end
end

@aguspe aguspe merged commit 366946e into master Mar 14, 2026
9 checks passed
@aguspe aguspe deleted the simplify_gem branch March 14, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants