Class: Hecks::Bluebook::DSL::WorldConstProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/hecks/bluebook/dsl/world_builder.rb

Overview

THE AGGREGATE-QUALIFIED MIRROR (#143) — a .world file's own Pizzas::Order.charged_by("Stripe") do ... end visually mirrors the SAME bind line the sibling .hecksagon file already writes (HecksagonBuilder's own BindingProxy), but IR::World#for_verb/ #for_binding key purely by verb and adapter name — the aggregate qualifier is never read back out, it exists only for that visual mirroring. So unlike BindingProxy, nothing here needs to hold onto the resolved constant chain at all: every verb call, qualified or not, has to land in the exact same @settings write path (WorldBuilder#record_binding).

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(builder) ⇒ WorldConstProxy

Returns a new instance of WorldConstProxy.



34
# File 'lib/hecks/bluebook/dsl/world_builder.rb', line 34

def initialize(builder) = @builder = builder

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(verb, *args, **kwargs, &block) ⇒ Object



36
# File 'lib/hecks/bluebook/dsl/world_builder.rb', line 36

def method_missing(verb, *args, **kwargs, &block) = @builder.record_binding(verb, args, kwargs, block)

Class Method Details

.namespace(builder) ⇒ Object



28
29
30
31
32
# File 'lib/hecks/bluebook/dsl/world_builder.rb', line 28

def self.namespace(builder)
  Module.new do
    define_singleton_method(:const_missing) { |_aggregate| WorldConstProxy.new(builder) }
  end
end

Instance Method Details

#respond_to_missing?(_name, _include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


38
# File 'lib/hecks/bluebook/dsl/world_builder.rb', line 38

def respond_to_missing?(_name, _include_private = false) = true