Skip to content

README inaccuracies (Ruby version, links, count, tests/ path) #35

Description

@cassieemb

Summary

Several README statements are wrong and block or mislead new users.

Where

README.md.

Directive

  1. The code uses Ruby 3.2+ syntax — anonymous argument forwarding to_h.to_json(*) at lib/signalwire/swaig/function_result.rb:753. On Ruby 3.0.6 (the README's stated minimum), require 'signalwire' dies immediately with SyntaxError: unexpected ')'. The gemspec correctly requires >= 3.2; the README:184 says >= 3.0. A developer on 3.0/3.1 who trusts the README gets a confusing syntax error on line one. Fix: README → >= 3.2.
  2. Fix the three broken example-table links — examples/call_flow.rb, examples/session_state.rb, examples/comprehensive_dynamic.rbcall_flow_and_actions_demo.rb, session_and_state_demo.rb, comprehensive_dynamic_agent.rb.
  3. Correct the example count ("39") to the actual number of .rb files in examples/.
  4. Testing section: the documented commands ruby -Ilib -Itest test/unit/**/*_test.rb and …test/integration/**/*_test.rb do not work — there is no test/ dir and no unit//integration/ split. Both fail with no matches found (the glob path doesn't exist), and substituting tests/ doesn't help because tests/unit/ still doesn't exist. The suite lives flat under tests/ with component subdirs (relay/, rest/, skills/, …). Replace the documented commands with the working ones:
    • Full suite: bundle exec rake test (the Rakefile globs tests/**/*_test.rb).
    • Single file: bundle exec ruby -Ilib:tests tests/<name>_test.rb (verified — e.g. tests/agent_test.rb → 144 runs, 0 failures).
    • (Optional) confirm whether the documented COVERAGE=1 rake test works.

Acceptance

  • all README links resolve
  • stated Ruby version matches the gemspec
  • example count matches ls examples/*.rb | wc -l
  • testing commands run as written

Verify

Check links; run each documented testing command on a clean checkout — rake test and the single-file form should both succeed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions