• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / rust-ibapi / 26260443407
92%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 12:08AM UTC
Jobs 1
Files 131
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 May 2026 12:05AM UTC coverage: 92.205% (+0.03%) from 92.178%
26260443407

push

github

web-flow
historical: HistoricalDataBuilder replaces historical_data + historical_data_streaming (#614)

* historical: HistoricalDataBuilder replaces historical_data + historical_data_streaming

Collapses both 6-arg methods into one HistoricalDataBuilder with
typed terminals .fetch() / .stream(). Mirrors RealtimeBarsBuilder
shape (per-feature impl blocks, #[must_use], sibling _tests.rs).

Two date-spec styles, mutually exclusive at the terminal:
- IBKR-native: .duration(D) + optional .ending(end)
- Range (convenience): .between(start, end) — computes duration
  internally; rejects start>=end

.stream() rejects .ending() / .between() — IBKR requires
end_date=None for keep_up_to_date. Mixing date specs returns
InvalidArgument from the terminal. Errors land via two layers:
builder-state consistency + the existing wire validator.

Shared pub(crate) helpers historical_data + historical_data_stream
extracted in sync.rs + async.rs. The deleted historical_data_streaming
exposed a keep_up_to_date:bool parameter that doesn't make sense
publicly — .stream() always sets it true. The keep=false test case
was dropped (no longer reachable; encoder tests cover both bool
values).

Plan: plans/historical-data-builders.md PR 3 of 3 — final step in
the historical-data builder sweep. Migration §26. HistoricalDataBuilder
exported via the prelude.

* historical/data: tighten builder + tests (/simplify)

- Lift `assert_invalid_argument` helper to file scope as sync + async
  variants (was sync-only; async hand-rolled the same shape inline).
  Add missing `stream_rejects_between` async test for parity with sync.
- Trim setter docs on `.duration` / `.ending` / `.between` to one-liners;
  the mutual-exclusion contract is already on the struct doc. Matches
  PR 1 / PR 2 setter-doc conventions.
- Drop top-of-file comment on `HISTORICAL_DATA_RESPONSE` (same shape PR 1's
  /simplify dropped on `SCHEDULE_RESPONSE`; const name self-documents).

Skipped findings: 3-Option date-spec fields (type... (continued)

225 of 237 new or added lines in 3 files covered. (94.94%)

19152 of 20771 relevant lines covered (92.21%)

28.29 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
94.1
0.02% src/market_data/historical/sync.rs
3
91.67
0.04% src/market_data/historical/async.rs
3
97.27
src/market_data/historical/builder/data.rs
Jobs
ID Job ID Ran Files Coverage
1 26260443407.1 22 May 2026 12:08AM UTC 131
92.21
GitHub Action Run
Source Files on build 26260443407
  • Tree
  • List 131
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26260443407
  • 778569c0 on github
  • Prev Build on main (#26254760904)
  • Next Build on main (#26260804717)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc