Module: DefInitialize::AccessorsBuilder

Defined in:
lib/def_initialize/accessors_builder.rb

Class Method Summary collapse

Class Method Details

.build(accessors, readers_mode:, writers_mode:) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/def_initialize/accessors_builder.rb', line 6

def build(accessors, readers_mode:, writers_mode:)
  check_option!(readers_mode)
  check_option!(writers_mode)

  result = ''.dup

  if readers_mode
    result << "#{readers_mode}\n"
    result << "attr_reader #{accessors.join(', ')}\n"
  end

  if writers_mode
    result << "#{writers_mode}\n"
    result << "attr_writer #{accessors.join(', ')}\n"
  end

  result
end