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

wboayue / rust-ibapi / 26254760904
92%

Build:
DEFAULT BRANCH: main
Ran 21 May 2026 09:43PM UTC
Jobs 1
Files 130
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

21 May 2026 09:40PM UTC coverage: 92.178% (+0.02%) from 92.156%
26254760904

push

github

web-flow
historical: HistoricalTicksBuilder replaces historical_ticks_* trio (#613)

* historical: HistoricalTicksBuilder replaces historical_ticks_* trio

Collapses `historical_ticks_trade` + `historical_ticks_mid_point` +
`historical_ticks_bid_ask` (near-identical 5–6 arg signatures) into one
`HistoricalTicksBuilder` with typed terminals `.trade()` / `.mid_point()`
/ `.bid_ask(IgnoreSize)`. Mirrors `RealtimeBarsBuilder` shape.

`ignore_size: bool` (BidAsk-only on the wire) becomes `IgnoreSize` enum
(`Yes` / `No`), passed only to `.bid_ask(...)` where IBKR honors it.
Other setters: `.starting(start)` / `.ending(end)` (at least one required
per IBKR — runtime check left to the wire, not pre-flighted), and
`.trading_hours(TradingHours)` defaulting to Regular.

Shared `pub(crate) fn historical_ticks<T: TickDecoder<T>>(...)` helper
extracted in sync.rs + async.rs to dedupe the 3 near-identical method
bodies — `#[allow(clippy::too_many_arguments)]` mirrors the encoder it
bridges to.

Plan: plans/historical-data-builders.md PR 2 of 3. `IgnoreSize` exported
via prelude. Migration §25.

* historical/ticks: inline IgnoreSize::as_bool (/simplify)

Two callsites become `matches!(ignore_size, IgnoreSize::Yes)` inline.
The helper added no abstraction beyond the inline pattern-match;
removing it drops a level of indirection.

Findings explicitly skipped: BID_ASK_RESPONSE duplicates an inline
literal in sync_tests.rs (pre-existing; shared-module reshape is
out of scope); asymmetric TickSubscription qualification is forced
by the feature-flag aliasing structure (rule 12); per-feature
helper duplication and 6 near-identical terminals are accepted
project precedent (RealtimeBarsBuilder mirror).

* historical/async_tests: cargo fmt import order

145 of 147 new or added lines in 3 files covered. (98.64%)

19043 of 20659 relevant lines covered (92.18%)

28.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
91.63
-0.56% src/market_data/historical/async.rs
1
94.07
-0.16% src/market_data/historical/sync.rs
Jobs
ID Job ID Ran Files Coverage
1 26254760904.1 21 May 2026 09:43PM UTC 130
92.18
GitHub Action Run
Source Files on build 26254760904
  • Tree
  • List 130
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26254760904
  • 15fb44f3 on github
  • Prev Build on main (#26247346782)
  • Next Build on main (#26260443407)
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