Module: Seedify::ParamReader

Included in:
Base
Defined in:
lib/seedify/param_reader.rb

Instance Method Summary collapse

Instance Method Details

#get_param_readersObject



21
22
23
# File 'lib/seedify/param_reader.rb', line 21

def get_param_readers
  @params || {}
end

#inherited(subclass) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/seedify/param_reader.rb', line 3

def inherited(subclass)
  super

  get_param_readers.each do |param_name, options|
    subclass.param_reader param_name, options
  end
end

#param_reader(param_name, options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/seedify/param_reader.rb', line 11

def param_reader(param_name, options = {})
  param_name = param_name.to_sym
  getter_name = options[:type] == :boolean ? "#{param_name}?" : param_name

  @params ||= {}
  @params[param_name] = options

  define_method(getter_name) { params[param_name] }
end