You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 19, 2021. It is now read-only.
when you do a include Hexp in your object, that will actually delegate to including Hexp::DSL, which defines makes your object duck-type compatible with a Hexp::Node by delegating all DSL methods to #to_hexp.
Currently Hexp::DSL contains a list of methods that it should forward, and I believe it is already out of date.
I split up the API for Node into an Attributes module and a Children module that are mixed in to Node. These define the operation that work on attributes (add_class, merge_attrs, etc), versus those that work on child nodes (add_child, empty?, map_children.)
I would like Hexp::DSL to use some meta-programming to detect all methods defined in Hexp::Node::Attributes and Hexp::Node::Children, and delegate those automatically. The ones defines in Hexp::Node itself can still be manually listed, these will change less often, and we don't want to delegate all of them (initialize, to_hexp are excluded for instance).
The text was updated successfully, but these errors were encountered:
when you do a
include Hexp
in your object, that will actually delegate to includingHexp::DSL
, which defines makes your object duck-type compatible with aHexp::Node
by delegating all DSL methods to#to_hexp
.Currently
Hexp::DSL
contains a list of methods that it should forward, and I believe it is already out of date.I split up the API for
Node
into an Attributes module and a Children module that are mixed in to Node. These define the operation that work on attributes (add_class
,merge_attrs
, etc), versus those that work on child nodes (add_child
,empty?
,map_children
.)I would like
Hexp::DSL
to use some meta-programming to detect all methods defined inHexp::Node::Attributes
andHexp::Node::Children
, and delegate those automatically. The ones defines inHexp::Node
itself can still be manually listed, these will change less often, and we don't want to delegate all of them (initialize
,to_hexp
are excluded for instance).The text was updated successfully, but these errors were encountered: