🛒 Solidus, the open-source eCommerce framework for industry trailblazers.
This report summarizes scanner evidence for solidusio/solidus, a Ruby project with 5,348 GitHub stars. SynthScan examined 244,782 lines of code across 2642 source files, recording 528 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 417 finding(s).
Are imports declared and package/API names verified? 111 finding(s).
Are wrappers, guards, and repeated structures necessary? 117 finding(s).
Which changes need focused human review? 528 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 528 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .rubocop_todo.yml | 1 | # This configuration was generated by | COMMENT |
| LOW | legacy_promotions/app/models/spree/promotion_action.rb | 21 | # Updates the state of the order or performs some other action depending on | COMMENT |
| LOW | …spree/promotion/actions/create_quantity_adjustments.rb | 21 | # colours: red, blue, and white. | COMMENT |
| LOW | …spree/promotion/actions/create_quantity_adjustments.rb | 41 | # *Reasoning:* We have a total quantity of 4. However, we only apply the | COMMENT |
| LOW | …s/app/models/spree/promotion/rules/minimum_quantity.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …s/app/models/spree/promotion/rules/minimum_quantity.rb | 21 | # @param promotable [Spree::Order,Spree::LineItem] | COMMENT |
| LOW | …/app/models/spree/permission_sets/promotion_display.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …p/models/spree/permission_sets/promotion_management.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …_promotions/app/models/spree/promotion_handler/cart.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …pp/assets/config/solidus_legacy_promotions/manifest.js | 1 | //= link solidus_legacy_promotions/promotions.css | COMMENT |
| LOW | …app/assets/javascripts/spree/backend/edit_promotion.js | 1 | //= require_tree ./templates | COMMENT |
| LOW | …motions/lib/solidus_legacy_promotions/configuration.rb | 41 | COMMENT | |
| LOW | storefront/.rubocop_todo.yml | 1 | # This configuration was generated by | COMMENT |
| LOW | storefront/.rubocop_todo.yml | 41 | # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. | COMMENT |
| LOW | storefront/.rubocop_todo.yml | 181 | # Cop supports --auto-correct. | COMMENT |
| LOW | …lates/app/assets/config/solidus_storefront_manifest.js | 1 | //= link solidus_storefront.js | COMMENT |
| LOW | …templates/app/assets/javascripts/solidus_storefront.js | 1 | // Placeholder manifest file. | COMMENT |
| LOW | storefront/templates/app/helpers/layout_helper.rb | 1 | module LayoutHelper | COMMENT |
| LOW | core/app/models/spree/variant.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/variant.rb | 341 | COMMENT | |
| LOW | core/app/models/spree/user_last_url_storer.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/variant_property_rule.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/variant_property_rule.rb | 21 | has_many :option_values, through: :conditions | COMMENT |
| LOW | core/app/models/spree/return_item.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/order_merger.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/order_merger.rb | 21 | def initialize(order) | COMMENT |
| LOW | core/app/models/spree/order_merger.rb | 121 | # Handle an error from saving the `line_item` | COMMENT |
| LOW | core/app/models/spree/order_taxation.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/tax_rate.rb | 41 | scope :active, -> do | COMMENT |
| LOW | core/app/models/spree/tax_rate.rb | 61 | # 21% inclusive - "Clothing" - Spain | COMMENT |
| LOW | core/app/models/spree/payment_create.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/order_shipping.rb | 41 | shipped_at: Time.current, | COMMENT |
| LOW | core/app/models/spree/mergeable_orders_finder.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/calculator.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/calculator.rb | 21 | # Spree::ShippingRate) | COMMENT |
| LOW | core/app/models/spree/fulfilment_changer.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/product.rb | 181 | COMMENT | |
| LOW | core/app/models/spree/product.rb | 201 | # Poor man's full text search. | COMMENT |
| LOW | core/app/models/spree/simple_order_contents.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/money.rb | 41 | @money = Monetize.from_string(amount, currency) | COMMENT |
| LOW | core/app/models/spree/reimbursement.rb | 21 | before_create :calculate_total | COMMENT |
| LOW | core/app/models/spree/order.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/payment_method.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/payment_method.rb | 81 | COMMENT | |
| LOW | core/app/models/spree/payment_method.rb | 121 | def payment_source_class | COMMENT |
| LOW | core/app/models/spree/payment_method.rb | 161 | COMMENT | |
| LOW | core/app/models/spree/order_updater.rb | 101 | "partial" | COMMENT |
| LOW | core/app/models/spree/in_memory_order_updater.rb | 61 | alias_method :update, :recalculate | COMMENT |
| LOW | core/app/models/spree/order/number_generator.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/order/payments.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/permission_sets/base.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …e/app/models/spree/permission_sets/default_customer.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …e/app/models/spree/permission_sets/default_customer.rb | 21 | # - Taxonomies | COMMENT |
| LOW | …dels/spree/permission_sets/configuration_management.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …re/app/models/spree/permission_sets/product_display.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …e/app/models/spree/permission_sets/order_management.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …app/models/spree/permission_sets/product_management.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …/models/spree/permission_sets/configuration_display.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/permission_sets/order_display.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | core/app/models/spree/core/state_machines/payment.rb | 1 | # frozen_string_literal: true | COMMENT |
| 189 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tions/app/mailers/spree/promotion_code_batch_mailer.rb | 5 | def promotion_code_batch_finished(promotion_code_batch) | CODE |
| LOW | …tions/app/mailers/spree/promotion_code_batch_mailer.rb | 10 | def promotion_code_batch_errored(promotion_code_batch) | CODE |
| LOW | …pree_calculator_returns_default_refund_amount_patch.rb | 7 | def weighted_order_adjustment_amount(inventory_unit) | CODE |
| LOW | …/models/solidus_legacy_promotions/spree_order_patch.rb | 16 | def apply_shipping_promotions(_event = nil) | CODE |
| LOW | legacy_promotions/app/models/spree/promotion_rule.rb | 49 | def eligibility_error_message(key, options = {}) | CODE |
| LOW | legacy_promotions/app/models/spree/promotion.rb | 258 | def eligibility_excluded_orders(promotable) | CODE |
| LOW | …spree/promotion/actions/create_quantity_adjustments.rb | 97 | def total_applicable_quantity(line_items) | CODE |
| LOW | …spree/promotion/actions/create_quantity_adjustments.rb | 110 | def set_line_item_action_quantity(quantity, line_item) | CODE |
| LOW | …romotions/app/models/spree/promotion_handler/coupon.rb | 92 | def set_promotion_eligibility_error_code(promotion) | CODE |
| LOW | …promotions/app/helpers/spree/promotion_rules_helper.rb | 5 | def options_for_promotion_rule_types(promotion) | CODE |
| LOW | …/spec/features/backend/promotions/product_rule_spec.rb | 14 | def add_promotion_rule_of_type(type) | CODE |
| LOW | …ons/spec/models/spree/promotion_handler/coupon_spec.rb | 17 | def expect_adjustment_creation(adjustable:, promotion:, promotion_code: nil) | CODE |
| LOW | storefront/templates/app/mailers/user_mailer.rb | 4 | def reset_password_instructions(user, token, *_args) | CODE |
| LOW | storefront/templates/app/mailers/user_mailer.rb | 10 | def confirmation_instructions(user, token, _opts = {}) | CODE |
| LOW | …/templates/app/controllers/checkout_base_controller.rb | 55 | def rescue_from_spree_gateway_error(exception) | CODE |
| LOW | …lates/app/controllers/user_confirmations_controller.rb | 6 | def after_confirmation_path_for(resource_name, resource) | CODE |
| LOW | …efront/templates/app/helpers/product_options_helper.rb | 4 | def product_variants_with_options(product) | CODE |
| LOW | storefront/templates/app/helpers/checkout_helper.rb | 4 | def partial_name_with_fallback(prefix, partial_name, fallback_name = "default") | CODE |
| LOW | storefront/templates/spec/system/coupon_code_spec.rb | 17 | def create_basic_coupon_promotion(code) | CODE |
| LOW | …/support/solidus_storefront/system/checkout_helpers.rb | 45 | def fill_addresses_fields_with(address) | CODE |
| LOW | …/support/solidus_storefront/system/checkout_helpers.rb | 78 | def find_existing_payment_radio(wallet_source_id) | CODE |
| LOW | core/app/mailers/spree/order_mailer.rb | 21 | def inventory_cancellation_email(order, inventory_units, resend = false) | CODE |
| LOW | core/app/models/spree/variant.rb | 309 | def price_difference_from_master(pricing_options = Spree::Config.default_pricing_options) | CODE |
| LOW | core/app/models/spree/refund.rb | 32 | def total_amount_reimbursed_for(reimbursement) | CODE |
| LOW | core/app/models/spree/order_inventory.rb | 59 | def determine_target_shipment(quantity) | CODE |
| LOW | core/app/models/spree/return_item.rb | 134 | def eligible_exchange_variants(stock_locations = nil) | CODE |
| LOW | core/app/models/spree/return_item.rb | 202 | def sibling_intended_for_exchange(status) | CODE |
| LOW | core/app/models/spree/shipment.rb | 308 | def update_attributes_and_order(params = {}) | CODE |
| LOW | core/app/models/spree/unit_cancel.rb | 37 | def weighted_line_item_amount(line_item) | CODE |
| LOW | core/app/models/spree/payment_create.rb | 86 | def build_from_payment_source(payment_source) | CODE |
| LOW | core/app/models/spree/reimbursement_performer.rb | 33 | def calculate_reimbursement_types(reimbursement) | CODE |
| LOW | core/app/models/spree/product.rb | 219 | def variants_and_option_values_for(pricing_options = Spree::Config.default_pricing_options) | CODE |
| LOW | core/app/models/spree/product.rb | 232 | def variant_option_values_by_option_type(variant_scope = nil) | CODE |
| LOW | core/app/models/spree/product.rb | 288 | def find_variant_property_rule(option_value_ids) | CODE |
| LOW | core/app/models/spree/simple_order_contents.rb | 113 | def grab_line_item_by_variant(variant, raise_error = false, options = {}) | CODE |
| LOW | core/app/models/spree/reimbursement.rb | 57 | def build_from_customer_return(customer_return) | CODE |
| LOW | core/app/models/spree/store_credit.rb | 223 | def create_credit_record_params(amount) | CODE |
| LOW | core/app/models/spree/order.rb | 184 | def register_line_item_comparison_hook(hook) | CODE |
| LOW | core/app/models/spree/order.rb | 363 | def find_line_item_by_variant(variant, options = {}) | CODE |
| LOW | core/app/models/spree/order.rb | 513 | def create_shipments_for_line_item(line_item) | CODE |
| LOW | core/app/models/spree/order.rb | 723 | def validate_payments_attributes(attributes) | CODE |
| LOW | core/app/models/spree/calculator/default_tax.rb | 54 | def sum_of_included_tax_rates(item) | CODE |
| LOW⚡ | …dels/spree/calculator/returns/default_refund_amount.rb | 13 | def weighted_order_adjustment_amount(inventory_unit) | CODE |
| LOW⚡ | …dels/spree/calculator/returns/default_refund_amount.rb | 17 | def weighted_line_item_amount(inventory_unit) | CODE |
| LOW⚡ | …dels/spree/calculator/returns/default_refund_amount.rb | 21 | def percentage_of_order_total(inventory_unit) | CODE |
| LOW | core/app/models/spree/payment_method/credit_card.rb | 22 | def reusable_sources_by_order(order) | CODE |
| LOW | core/app/models/spree/address/name.rb | 21 | def initialize_name_components(components) | CODE |
| LOW | …dels/spree/reimbursement_type/reimbursement_helpers.rb | 70 | def sorted_eligible_refund_payments(payments) | CODE |
| LOW | core/app/models/spree/variant/vat_price_generator.rb | 42 | def find_or_initialize_price_by(country_iso, currency) | CODE |
| LOW | core/app/models/spree/stock/estimator.rb | 28 | def choose_default_shipping_rate(shipping_rates) | CODE |
| LOW | core/app/models/spree/stock/inventory_unit_builder.rb | 17 | def missing_units_for_line_item(line_item) | CODE |
| LOW | core/app/models/spree/reimbursement/credit.rb | 15 | def total_amount_reimbursed_for(reimbursement) | CODE |
| LOW | …odels/spree/reimbursement/reimbursement_type_engine.rb | 35 | def calculate_reimbursement_type(return_item) | CODE |
| LOW | core/app/models/concerns/spree/user_address_book.rb | 9 | def find_first_by_address_values(address_attrs) | CODE |
| LOW | core/app/models/concerns/spree/user_address_book.rb | 160 | def mark_default_ship_address(address) | CODE |
| LOW | core/app/models/concerns/spree/user_address_book.rb | 164 | def mark_default_bill_address(address) | CODE |
| LOW | core/app/models/concerns/spree/user_address_book.rb | 187 | def remove_user_address_reference(address_id) | CODE |
| LOW⚡ | core/app/models/concerns/spree/user_methods.rb | 96 | def last_incomplete_spree_order(store: nil, only_frontend_viewable: true) | CODE |
| LOW⚡ | core/app/models/concerns/spree/user_methods.rb | 106 | def available_store_credit_total(currency:) | CODE |
| LOW⚡ | core/app/models/concerns/spree/user_methods.rb | 112 | def display_available_store_credit_total(currency:) | CODE |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …motions/spec/features/solidus_admin/promotions_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | …tions/spec/features/solidus_admin/orders/index_spec.rb | 10 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | …orefront/templates/spec/requests/carts_ability_spec.rb | 22 | patch cart_path, params: {order: {email: "foo@bar.com"}} | CODE |
| LOW | …quests/solidus_paypal_commerce_platform/orders_spec.rb | 80 | address_line_1: "123 Main St", | CODE |
| LOW | …quests/solidus_paypal_commerce_platform/orders_spec.rb | 103 | "address1" => "123 Main St", | CODE |
| LOW | …tes/spec/controllers/user_passwords_controller_spec.rb | 51 | create(:user, email: "admin@example.com") | CODE |
| LOW | …tes/spec/controllers/user_passwords_controller_spec.rb | 80 | post :create, params: {spree_user: {email: "admin@example.com"}} | CODE |
| LOW | …e/app/models/spree/payment_method/bogus_credit_card.rb | 26 | preference :bogus_text, :text, default: "Lorem ipsum dolor sit amet" | CODE |
| LOW | …e/app/models/spree/payment_method/bogus_credit_card.rb | 26 | preference :bogus_text, :text, default: "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | core/spec/models/spree/order_spec.rb | 2028 | let(:bill_address) { create(:address, name: "John Doe") } | CODE |
| LOW⚡ | core/spec/models/spree/order_spec.rb | 2029 | let(:ship_address) { create(:address, name: "Jane Doe") } | CODE |
| LOW⚡ | core/spec/models/spree/order_spec.rb | 2035 | it { is_expected.to eq("John Doe") } | CODE |
| LOW⚡ | core/spec/models/spree/order_spec.rb | 2040 | it { is_expected.to eq("Jane Doe") } | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 107 | order.email = "user@example.com" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 180 | order.email = "user@example.com" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 260 | order.email = "user@example.com" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 277 | order.email = "user@example.com" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 371 | user = create(:user, email: "solidus@example.org", bill_address: user_bill_address) | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 467 | order.email = "solidus@example.org" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 539 | order.email = "solidus@example.org" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 567 | order.email = "solidus@example.org" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 597 | order.email = "solidus@example.org" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 690 | order.email = "user@example.com" | CODE |
| LOW | core/spec/models/spree/order/checkout_spec.rb | 699 | order.email = "user@example.com" | CODE |
| LOW | core/spec/lib/spree/core/importer/order_spec.rb | 55 | params = {email: "test@test.com", | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 120 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a ligula leo. Proin eu arcu at ipsum dapibus ullamco | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 120 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a ligula leo. Proin eu arcu at ipsum dapibus ullamco | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 122 | <li>Lorem ipsum dolor sit amet</li> | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 122 | <li>Lorem ipsum dolor sit amet</li> | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 123 | <li>Lorem ipsum dolor sit amet</li> | CODE |
| LOW⚡ | core/spec/helpers/products_helper_spec.rb | 123 | <li>Lorem ipsum dolor sit amet</li> | CODE |
| LOW | …e/lib/spree/testing_support/factories/store_factory.rb | 8 | mail_from_address { "solidus@example.org" } | CODE |
| LOW | admin/spec/features/stock_items_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/properties_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/shipping_methods_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/return_reasons_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/product_spec.rb | 9 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/store_credit_reasons_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/taxonomies_spec.rb | 7 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/refund_reasons_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/roles_spec.rb | 7 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/store_credits_spec.rb | 6 | let(:admin) { create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/tax_categories_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/reimbursement_types_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/payment_methods_spec.rb | 9 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/tax_rates_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/zones_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/shipping_categories_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/products_spec.rb | 8 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/option_types_spec.rb | 7 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/accounts_spec.rb | 7 | user = create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/accounts_spec.rb | 22 | user = create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/stores_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/users_spec.rb | 6 | let(:admin) { create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/adjustment_reasons_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/stock_locations/form_spec.rb | 11 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/stock_locations/index_spec.rb | 6 | before { sign_in create(:admin_user, email: "admin@example.com") } | CODE |
| LOW | admin/spec/features/orders/show_spec.rb | 8 | sign_in create(:admin_user, email: "admin@example.com") | CODE |
| LOW | admin/spec/features/orders/show_spec.rb | 56 | fill_in "Name", with: "John Doe" | CODE |
| LOW | admin/spec/features/orders/show_spec.rb | 68 | expect(page).to have_content("John Doe") | CODE |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | storefront/template.rb | 179 | # This file is always necessary in order to run frontend specs from extensions | COMMENT |
| MEDIUM | …front/templates/spec/solidus_storefront_spec_helper.rb | 27 | # Define the namespace for the helpers. | COMMENT |
| MEDIUM | core/app/models/spree/order_merger.rb | 16 | # Create the OrderMerger | COMMENT |
| MEDIUM | core/app/models/spree/order_taxation.rb | 10 | # Create a new order taxation. | COMMENT |
| MEDIUM | core/app/models/spree/tax_rate.rb | 97 | # This method is used by Adjustment#update to recalculate the cost. | COMMENT |
| MEDIUM | core/app/models/spree/unit_cancel.rb | 28 | # This method is used by Adjustment#update to recalculate the cost. | COMMENT |
| MEDIUM | core/app/models/spree/unauthorized_redirect_handler.rb | 12 | # This method is responsible for handling unauthorized redirects | COMMENT |
| MEDIUM | core/app/models/spree/payment_method.rb | 10 | # This class is not meant to be instantiated. Always create instances of | COMMENT |
| MEDIUM | core/app/models/spree/order_cancellations.rb | 3 | # This class represents all of the actions one can take to modify an Order after it is complete | COMMENT |
| MEDIUM | core/app/models/spree/tax/tax_location.rb | 13 | # Create a new TaxLocation object | COMMENT |
| MEDIUM | …p/models/spree/wallet/add_payment_sources_to_wallet.rb | 3 | # This class is responsible for saving payment sources in the user's "wallet" | COMMENT |
| MEDIUM | core/app/models/spree/wallet/default_payment_builder.rb | 3 | # This class is responsible for building a default payment on an order, using a | COMMENT |
| MEDIUM | core/app/models/spree/variant/price_selector.rb | 5 | # This class is responsible for selecting a price for a variant given certain pricing options. | COMMENT |
| MEDIUM | core/app/models/spree/store_selector/legacy.rb | 3 | # This class provides the old behaviour for finding a matching Spree::Store | COMMENT |
| MEDIUM | core/app/models/spree/tax_calculator/shipping_rate.rb | 16 | # Create a new tax calculator. | COMMENT |
| MEDIUM | core/app/models/spree/tax_calculator/default.rb | 14 | # Create a new tax calculator. | COMMENT |
| MEDIUM | …rs/spree/core/controller_helpers/payment_parameters.rb | 5 | # This method handles the awkwardness of how the html forms are currently | COMMENT |
| MEDIUM⚡ | …rs/spree/core/controller_helpers/payment_parameters.rb | 66 | # This method handles the awkwardness of how the html forms are currently | COMMENT |
| MEDIUM | core/spec/models/spree/permission_sets/base_spec.rb | 16 | # Define a subclass that does not override privilege | COMMENT |
| MEDIUM | core/spec/models/spree/permission_sets/base_spec.rb | 27 | # Define a subclass that does not override category | COMMENT |
| MEDIUM | core/spec/models/spree/permission_sets/base_spec.rb | 38 | # Define a subclass that correctly overrides privilege and category | COMMENT |
| MEDIUM | core/lib/spree/core.rb | 63 | # This method is defined within the core gem on purpose. | COMMENT |
| MEDIUM | core/lib/spree/preferences/configuration.rb | 131 | # This method is a specialized version of {.preference} that generates a | COMMENT |
| MEDIUM | admin/lib/solidus_admin/install_tailwindcss.rb | 3 | # This file is a Rails app template and should be loaded with `bin/rails `. | COMMENT |
| MEDIUM | backend/spec/spec_helper.rb | 17 | # This file is copied to ~/spec when you run 'ruby script/generate rspec' | COMMENT |
| MEDIUM | …pec/features/admin/orders/return_payment_state_spec.rb | 21 | # Create a Return Authorization (select the Original Reimbursement type) | COMMENT |
| MEDIUM | …pec/features/admin/orders/return_payment_state_spec.rb | 29 | # Create a Customer Return (select the item from 'Items in Return Authorizations') | COMMENT |
| MEDIUM | sample/spec/spec_helper.rb | 3 | # This file is copied to ~/spec when you run 'ruby script/generate rspec' | COMMENT |
| MEDIUM | sample/db/samples/reimbursements.rb | 26 | # Create a return authorization | COMMENT |
| MEDIUM | sample/db/samples/reimbursements.rb | 44 | # Create a customer return and mark it as received | COMMENT |
| MEDIUM | api/spec/spec_helper.rb | 17 | # This file is copied to spec/ when you run 'rails generate rspec:install' | COMMENT |
| MEDIUM | api/spec/requests/spree/api/stock_items_spec.rb | 115 | # Creating a variant also creates stock items. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …pree_calculator_returns_default_refund_amount_patch.rb | 8 | inventory_unit.order.adjustments.eligible.non_tax.sum(:amount) * percentage_of_order_total(inventory_unit) | CODE |
| CRITICAL | …onents/solidus_admin/payment_methods/form/component.rb | 28 | Rails.application.config.spree.payment_methods.sort_by(&:name) | CODE |
| CRITICAL | …ontrollers/solidus_admin/payment_methods_controller.rb | 34 | Rails.application.config.spree.payment_methods.map(&:name) | CODE |
| CRITICAL | …/controllers/spree/admin/payment_methods_controller.rb | 54 | @payment_method_types = Rails.application.config.spree.payment_methods.sort_by(&:name) | CODE |
| CRITICAL | …c/models/solidus_promotions/product_advertiser_spec.rb | 34 | expect(product.master.prices.first.discounts.map(&:label)).to include("Promotion (Because we like you)") | CODE |
| CRITICAL | …/spec/models/solidus_promotions/order_adjuster_spec.rb | 210 | end.not_to change { order.shipments.first.shipping_rates.first.discounts.reject(&:marked_for_destruction?).lengt | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/config/i18n-tasks.yml | 125 | ## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.: | COMMENT |
| MEDIUM | core/config/initializers/friendly_id.rb | 53 | # 'slug', but you can change it if you wish. | COMMENT |
| LOW | core/config/initializers/friendly_id.rb | 83 | # you use this, don't forget to add "babosa" to your Gemfile. | COMMENT |
| LOW | core/config/initializers/friendly_id.rb | 83 | # you use this, don't forget to add "babosa" to your Gemfile. | COMMENT |
| LOW | …re/lib/generators/solidus/install/install_generator.rb | 175 | say_status :skipping, "migrations (don't forget to run rake db:migrate)" | CODE |
| MEDIUM | promotions/lib/solidus_promotions/promotion_map.rb | 6 | # If you have custom rules or actions, you can add them to this hash like so: | COMMENT |
| LOW | …rators/solidus_promotions/install/install_generator.rb | 44 | say "Skipping bin/rails db:migrate, don't forget to run it!" | CODE |
| MEDIUM | api/config/i18n-tasks.yml | 125 | ## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/spec/lib/tasks/dummy_task_spec.rb | 22 | # random so we just create the same spec twice. We could probably combine this | COMMENT |
| MEDIUM | admin/lib/solidus_admin/preview.rb | 3 | # This module will add all the necessary harness to a ViewComponent::Preview | COMMENT |
| LOW | api/app/controllers/spree/api/products_controller.rb | 52 | # Or just pass in the option types hash: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …rs/spree/core/controller_helpers/payment_parameters.rb | 44 | # Step 1: Gather all the information and ensure all the pieces are there. | COMMENT |
| LOW⚡ | …rs/spree/core/controller_helpers/payment_parameters.rb | 58 | # Step 2: Perform the modifications. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …rs/spree/core/controller_helpers/payment_parameters.rb | 44 | # Step 1: Gather all the information and ensure all the pieces are there. | COMMENT |
| LOW⚡ | …rs/spree/core/controller_helpers/payment_parameters.rb | 58 | # Step 2: Perform the modifications. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/app/models/spree/payment_method.rb | 166 | # Check if given source is supported by this payment method | COMMENT |
| LOW | …rate/20250129061658_add_metadata_to_spree_resources.rb | 17 | # Check if the database supports jsonb for efficient querying | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/lib/spree/testing_support/flaky.rb | 5 | # Usage: | COMMENT |
| LOW | promotions/app/models/solidus_promotions/benefit.rb | 22 | # Usage example | COMMENT |