Summary
Several README statements are wrong and block or mislead new users.
Where
README.md.
Directive
- 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.
- Fix the three broken example-table links —
examples/call_flow.rb, examples/session_state.rb, examples/comprehensive_dynamic.rb → call_flow_and_actions_demo.rb, session_and_state_demo.rb, comprehensive_dynamic_agent.rb.
- Correct the example count ("39") to the actual number of
.rb files in examples/.
- 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
Verify
Check links; run each documented testing command on a clean checkout — rake test and the single-file form should both succeed.
Summary
Several README statements are wrong and block or mislead new users.
Where
README.md.Directive
to_h.to_json(*)atlib/signalwire/swaig/function_result.rb:753. On Ruby 3.0.6 (the README's stated minimum),require 'signalwire'dies immediately withSyntaxError: 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.examples/call_flow.rb,examples/session_state.rb,examples/comprehensive_dynamic.rb→call_flow_and_actions_demo.rb,session_and_state_demo.rb,comprehensive_dynamic_agent.rb..rbfiles inexamples/.ruby -Ilib -Itest test/unit/**/*_test.rband…test/integration/**/*_test.rbdo not work — there is notest/dir and nounit//integration/split. Both fail withno matches found(the glob path doesn't exist), and substitutingtests/doesn't help becausetests/unit/still doesn't exist. The suite lives flat undertests/with component subdirs (relay/,rest/,skills/, …). Replace the documented commands with the working ones:bundle exec rake test(the Rakefile globstests/**/*_test.rb).bundle exec ruby -Ilib:tests tests/<name>_test.rb(verified — e.g.tests/agent_test.rb→ 144 runs, 0 failures).COVERAGE=1 rake testworks.Acceptance
ls examples/*.rb | wc -lVerify
Check links; run each documented testing command on a clean checkout —
rake testand the single-file form should both succeed.