Module: FindSubscriptions::HelpText

Defined in:
lib/find_subscriptions/help_text.rb

Overview

Detailed per-flag help strings, keyed by flag name (without leading –). Used by HelpFormatter to render full and targeted help output.

Constant Summary collapse

DESCRIPTIONS =
{
  'files' => "    --files FILES\n        One or more CSV files to analyze, separated by commas.\n        Required. At least one file must be provided.\n        Example: --files transactions.csv,checking.csv\n  DESC\n  'schema' => <<~DESC.strip,\n    --schema NAME\n        Force a specific schema for parsing CSV files. If omitted, the\n        schema is auto-detected from the CSV headers.\n        Built-in schemas: american_express, navy_federal, generic\n        User-defined schemas can be added via a config file (see --set-config).\n        Example: --schema american_express\n  DESC\n  'known-payees' => <<~DESC.strip,\n    --known-payees PATH\n        Path to a YAML file listing payees to exclude from output. Useful\n        for ignoring loan payments, rent, or other expected recurring charges.\n        Example: --known-payees ~/.config/known_payees.yml\n  DESC\n  'inactive-for' => <<~DESC.strip,\n    --inactive-for DURATION\n        Hide subscriptions with no transactions within the given duration.\n        Format: NUMBER(year|month|week)[s]\n        Example: --inactive-for 6months, --inactive-for 1year, --inactive-for 3weeks\n  DESC\n  'min-amount' => <<~DESC.strip,\n    --min-amount AMOUNT\n        Hide subscriptions with a recurring charge below AMOUNT.\n        Useful for filtering out low-value noise transactions.\n        Example: --min-amount 5.00\n  DESC\n  'from' => <<~DESC.strip,\n    --from DATE\n        Only include transactions on or after DATE (format: YYYY-MM-DD).\n        Filters the transaction window before detecting subscriptions.\n        Example: --from 2025-01-01\n  DESC\n  'to' => <<~DESC.strip,\n    --to DATE\n        Only include transactions on or before DATE (format: YYYY-MM-DD).\n        Filters the transaction window before detecting subscriptions.\n        Example: --to 2025-12-31\n  DESC\n  'sort' => <<~DESC.strip,\n    --sort ORDER\n        Sort the output subscriptions by the given order. Default: first_desc\n        Valid orders:\n          count_asc   \u2014 fewest occurrences first\n          count_desc  \u2014 most occurrences first\n          first_asc   \u2014 earliest first-seen date first\n          first_desc  \u2014 most recently first-seen first (default)\n          last_asc    \u2014 earliest last-seen date first\n          last_desc   \u2014 most recently last-seen first\n        Example: --sort last_desc\n  DESC\n  'format' => <<~DESC.strip,\n    --format FORMAT\n        Output format for the results. Default: text\n        Valid formats:\n          text  \u2014 human-readable table (default)\n          json  \u2014 JSON array of subscription objects\n          csv   \u2014 comma-separated values with headers\n        Example: --format json\n  DESC\n  'set-config' => <<~DESC.strip\n    --set-config PATH\n        Register a YAML config file for future runs. Options in the config\n        file serve as defaults that CLI flags can override.\n        Supported keys: sort, format, known_payees_path, min_amount,\n          from_date, to_date, filter_known_payees, schema, inactive_for.\n        Add user-defined schemas under a top-level 'schemas:' key.\n        Example: --set-config ~/.find-subscriptions.yml\n  DESC\n}.freeze\n".strip,