Module: XmlLaborabrechnungsdaten::MemberContainer
- Included in:
- Document, MwstGruppe, Position, Rechnung
- Defined in:
- lib/xml_laborabrechnungsdaten/member_container.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 |
# File 'lib/xml_laborabrechnungsdaten/member_container.rb', line 3 def self.included(base) base.instance_variable_set :@members, {} base.extend ClassMethods end |
Instance Method Details
#[](key) ⇒ Object
22 23 24 |
# File 'lib/xml_laborabrechnungsdaten/member_container.rb', line 22 def [](key) send(key) end |
#[]=(key, value) ⇒ Object
26 27 28 |
# File 'lib/xml_laborabrechnungsdaten/member_container.rb', line 26 def []=(key, value) send(members[key].fetch(:setter_name), value) end |
#initialize(**kwargs) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/xml_laborabrechnungsdaten/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 |
#members ⇒ Object
18 19 20 |
# File 'lib/xml_laborabrechnungsdaten/member_container.rb', line 18 def members self.class.instance_variable_get :@members end |