Module: Lutaml::Xml::Leptris

Defined in:
lib/lutaml/xml/leptris.rb,
lib/lutaml/xml/leptris/plan_walk.rb,
lib/lutaml/xml/leptris/plan_order.rb,
lib/lutaml/xml/leptris/plan_compiler.rb,
lib/lutaml/xml/leptris/plan_hydrator.rb,
lib/lutaml/xml/leptris/plan_serializer.rb

Overview

The leptris plan fast path: model mapping to libleptris descriptor plan, native walk, direct hydration. Everything under this namespace is bound to the leptris gem; nothing above it may reference leptris types directly (the moxml adapters and the interpretive path never enter here).

Defined Under Namespace

Modules: PlanCompiler, PlanHydrator, PlanOrder, PlanSerializer, PlanWalk

Constant Summary collapse

MIN_LEPTRIS_VERSION =

The plan path requires the one-crossing child snapshot (leptris_plan_value_children_snapshot with child handles, PlanValue#children_snapshot), which shipped in leptris 1.9.273.0. Bundles resolving an older gem keep the interpretive path — PlanCompiler.compile answers nil — the existing opt-out protocol.

"1.9.273.0"

Class Method Summary collapse

Class Method Details

.plan_path_compatible? ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
# File 'lib/lutaml/xml/leptris.rb', line 19

def self.plan_path_compatible?
  return false unless defined?(Gem)

  spec = Gem.loaded_specs["leptris"]
  spec && spec.version >= Gem::Version.new(MIN_LEPTRIS_VERSION)
end