Class: Otoroshi::Initializer

Inherits:
Object
  • Object
show all
Defined in:
lib/otoroshi/initializer.rb

Overview

Drawing of #initialize method

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(properties = {}) ⇒ Initializer

Initialize an instance

Parameters:

  • properties (Hash) (defaults to: {})

    a description of the class properties



30
31
32
# File 'lib/otoroshi/initializer.rb', line 30

def initialize(properties = {})
  @properties = properties
end

Class Method Details

.draw(properties) ⇒ String

Draw a stringified initialize method

Examples:

<<-RUBY
def initialize(number: 0, message:, fruits: [])
  self.number = number
  self.message = message
  self.fruits = fruits
end
RUBY

Parameters:

  • properties (Hash)

    a description of the class properties

Returns:

  • (String)


22
23
24
# File 'lib/otoroshi/initializer.rb', line 22

def draw(properties)
  new(properties).draw
end

Instance Method Details

#drawString

Draws a stringified initialize method

Examples:

<<-RUBY
def initialize(foo:, bar: 0)
  self.foo = foo
  self.bar = bar
end
RUBY

Returns:

  • (String)


45
46
47
48
49
50
51
# File 'lib/otoroshi/initializer.rb', line 45

def draw
  <<~RUBY
    def initialize(#{initialize_parameters})
      #{initialize_body}
    end
  RUBY
end