module DefInitialize::AccessorsBuilder
Public Class Methods
build(accessors, readers_mode:, writers_mode:)
click to toggle source
# 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
Private Class Methods
check_option!(value)
click to toggle source
# File lib/def_initialize/accessors_builder.rb, line 27 def check_option!(value) return unless value return if %w[private public protected].include?(value.to_s) raise ArgumentError, "Uknown value #{value}. Must be :private, :public, :protected or nil" end