class GrowiModelFactory

Growi model factory class @abstract include singleton class @attr_reader makers Model maker list

Attributes

makers[R]

Public Class Methods

new() click to toggle source

Constractor

# File lib/growi/client/model/growi_model.rb, line 17
def initialize
  @makers = {}
  @makers.default = Proc.new { |param|
    next nil if param == nil
    case param
    when Array, String, Integer then
      ret = param
    when FalseClass then
      ret = false
    when TrueClass then
      ret = true
    end
    next ret
  }
end

Public Instance Methods

maker(model_name) click to toggle source

Get model maker @param [String] model_name Model name @return [Proc] Model maker

# File lib/growi/client/model/growi_model.rb, line 47
def maker(model_name)
  return @makers[model_name&.to_sym]
end
register(makers = {}) click to toggle source

Register model maker @param [Hash] Model factory list

# File lib/growi/client/model/growi_model.rb, line 35
def register(makers = {})
  makers.each do |model_name, model_make_proc|
    unless model_make_proc.is_a?(Proc)
      raise ArgumentError.new('Maker is required sub class of Class.')
    end
  end
  @makers.merge!(makers)
end