Class: RbsMiniMagick::Flows::Major5Minor0::ToolSingleton

Inherits:
Object
  • Object
show all
Defined in:
lib/rbs_mini_magick/flows/major5_minor0/tool_singleton.rb

Overview

RbsMiniMagick::Flows::Major5Minor0::ToolSingleton

Instance Method Summary collapse

Constructor Details

#initialize(name:) ⇒ void

Parameters:

  • name (String)


11
12
13
# File 'lib/rbs_mini_magick/flows/major5_minor0/tool_singleton.rb', line 11

def initialize(name:)
  @name = name
end

Instance Method Details

#run(state) ⇒ RbsMiniMagick::Flows::State



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rbs_mini_magick/flows/major5_minor0/tool_singleton.rb', line 17

def run(state)
  interface_name = "_#{name.capitalize}"
  args = "?errors: bool, ?warnings: bool, ?stdin: _ToS, ?timeout: Integer?, **untyped options"
  rbs = "    module MiniMagick\n      def self.\#{name}: (\#{args}) -> (Tool & \#{interface_name})\n                      | (\#{args}) { (Tool & \#{interface_name}) -> void } -> String\n                      | ...\n    end\n  RBS\n\n  state.concat_rbs(rbs)\nend\n"