module Glman::InitRequired::InstanceMethods

Public Class Methods

new(params={}) click to toggle source
# File lib/glman/init_required.rb, line 15
def initialize(params={})
  params.each do |attr, value|
    self.send("#{attr}=", value)
  end if params
  required_attrs_valid?(params)
end

Private Instance Methods

required_attrs_valid?(params) click to toggle source
# File lib/glman/init_required.rb, line 24
def required_attrs_valid?(params)
  required_attrs = self.class.instance_variable_get(:@__required_attributes) || []
  return if required_attrs.empty?

  required_attrs.each do |key|
    sym_key = key.to_sym
    raise Glman::InitRequired::InitializationError.new("Missing #{sym_key} param during initiaization #{self.class}") unless params.has_key?(sym_key)
  end
end