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