module Xrechnung::MemberContainer
Public Class Methods
included(base)
click to toggle source
# File lib/xrechnung/member_container.rb, line 3 def self.included(base) base.instance_variable_set :@members, {} base.extend ClassMethods end
new(**kwargs)
click to toggle source
# File lib/xrechnung/member_container.rb, line 8 def initialize(**kwargs) self.class.after_initialize.each do |block| instance_eval(&block) end kwargs.each do |k, v| self[k] = v end end
Public Instance Methods
[](key)
click to toggle source
# File lib/xrechnung/member_container.rb, line 22 def [](key) send(key) end
[]=(key, value)
click to toggle source
# File lib/xrechnung/member_container.rb, line 26 def []=(key, value) send(members[key].fetch(:setter_name), value) end
members()
click to toggle source
# File lib/xrechnung/member_container.rb, line 18 def members self.class.instance_variable_get :@members end