Skip to content

Load XML bindings before the first module render - #287

Closed
OskarEichler wants to merge 1 commit into
trailblazer:masterfrom
OskarEichler:codex/xml-first-render
Closed

Load XML bindings before the first module render#287
OskarEichler wants to merge 1 commit into
trailblazer:masterfrom
OskarEichler:codex/xml-first-render

Conversation

@OskarEichler

Copy link
Copy Markdown

Summary

The XML Node helper lives in the lazy binding file, but to_node invokes it before referencing Binding. Load the bindings with the XML entry point so the first render works.

Reproduction

require 'representable/xml'
mod=Module.new { include Representable::XML; self.representation_wrap=:item; property :name }
p Struct.new(:name).new('value').extend(mod).to_xml
# NoMethodError for Node before; an item/name document after.

Verification

  • Existing master suite on this isolated branch: 545 tests / 701 assertions, zero failures/errors, three existing skips on Ruby 3.2.11. Ruby 4.0.6 retains the same eight legacy inspection-format failures, zero errors and three skips. Existing tests/expectations are unchanged.
  • 1 focused checks on Ruby 3.2.11/4.0.6 for this change. XML first-render uses a separate fresh-process check.
  • Combined release-based verification with other focused fixes and attributed Use Setter in OverwriteOnNil if a :setter is defined #177/Hash value of null breaks parsing #264/Update MultiJSON usage to address deprecations #273 source backports: 544 tests / 700 assertions pass on Ruby 3.2.11, plus 4,410 focused checks and 36 boundary checks. Package retains 104 paths and unchanged compared metadata. All 36 runtime files compile on both Rubies; no newly introduced default Lint offenses.

Breaking changes / limitations

No intended output/API change. Requiring representable/xml loads its binding helper eagerly; the existing optional Nokogiri activation remains.

No new/modified checked-in tests. Ruby 2.4–3.1, JRuby, Windows and Linux were not executed locally. Ruby >=2.4 and runtime dependency ranges remain unchanged. External test tooling supplies a legacy MiniTest alias and ruby-prof 1.7.x; no assertions were changed. No production verification is claimed.

@seuros

seuros commented Aug 29, 2026

Copy link
Copy Markdown
Member

this is fixed in master .

@seuros seuros closed this Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants