Top Level Namespace

Defined Under Namespace

Modules: RubySketch

Instance Method Summary collapse

Instance Method Details

#RubySketch(snake_case: false) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rubysketch.rb', line 18

def RubySketch(snake_case: false)
  return RubySketch unless snake_case

  $rubysketch_refinements_with_snake_case ||= Module.new do
    Processing.alias_snake_case_methods__ Processing
    Processing.alias_snake_case_methods__ RubySketch

    refine Object do
      context = RubySketch::CONTEXT__
      Processing.funcs__(context).each do |func|
        define_method func do |*args, **kwargs, &block|
          context.__send__ func, *args, **kwargs, &block
        end
      end
    end
  end
end