Module: YardToRbsInline::Converter::Subscriptable
- Included in:
- CodeVisitor
- Defined in:
- lib/yard_to_rbs_inline/converter/subscriptable.rb
Instance Method Summary collapse
-
#capture_error_message(subscriber) ⇒ Object
: [X] (subscriber) { () -> X } -> X.
-
#capture_error_to_write_comment(node, &block) ⇒ Object
: [X] (Prism::Node) { () -> X } -> X.
-
#emit_error_message(error_message) ⇒ Object
: (String) -> void.
-
#subscriber_to_prepend_error(node) ⇒ Object
: (Prism::Node) -> subscriber.
Instance Method Details
#capture_error_message(subscriber) ⇒ Object
: [X] (subscriber) { () -> X } -> X
25 26 27 28 29 30 31 |
# File 'lib/yard_to_rbs_inline/converter/subscriptable.rb', line 25 def (subscriber) @subscribers ||= [] #: Array[subscriber] @subscribers.push(subscriber) yield ensure @subscribers.pop end |
#capture_error_to_write_comment(node, &block) ⇒ Object
: [X] (Prism::Node) { () -> X } -> X
41 42 43 |
# File 'lib/yard_to_rbs_inline/converter/subscriptable.rb', line 41 def capture_error_to_write_comment(node, &block) (subscriber_to_prepend_error(node), &block) end |
#emit_error_message(error_message) ⇒ Object
: (String) -> void
18 19 20 |
# File 'lib/yard_to_rbs_inline/converter/subscriptable.rb', line 18 def () (@subscribers || []).each { |subscriber| subscriber.call() } end |
#subscriber_to_prepend_error(node) ⇒ Object
: (Prism::Node) -> subscriber
34 35 36 37 38 |
# File 'lib/yard_to_rbs_inline/converter/subscriptable.rb', line 34 def subscriber_to_prepend_error(node) lambda { || text_with_mod.mods << PrependLine.from_node_and_content(node, "# YARD to RBS Error: #{message}") } end |