Module: Quarto::InheritableAttributes::ClassMethods

Defined in:
lib/quarto/inheritable_attributes.rb

Instance Method Summary collapse

Instance Method Details

#read_inheritable_attribute(key) ⇒ Object



8
9
10
11
# File 'lib/quarto/inheritable_attributes.rb', line 8

def read_inheritable_attribute(key)
  @inheritable_attributes ||= {}
  @inheritable_attributes[key]
end

#write_inheritable_array(key, elements) ⇒ Object



13
14
15
16
# File 'lib/quarto/inheritable_attributes.rb', line 13

def write_inheritable_array(key, elements)
  write_inheritable_attribute(key, []) if read_inheritable_attribute(key).nil?
  write_inheritable_attribute(key, read_inheritable_attribute(key) + elements)
end

#write_inheritable_attribute(key, value) ⇒ Object



18
19
20
21
# File 'lib/quarto/inheritable_attributes.rb', line 18

def write_inheritable_attribute(key, value)
  @inheritable_attributes ||= {}
  @inheritable_attributes[key] = value
end

#write_inheritable_hash(key, hash) ⇒ Object



23
24
25
26
# File 'lib/quarto/inheritable_attributes.rb', line 23

def write_inheritable_hash(key, hash)
  write_inheritable_attribute(key, {}) if read_inheritable_attribute(key).nil?
  write_inheritable_attribute(key, read_inheritable_attribute(key).merge(hash))
end