class Object
Public Instance Methods
access(duh)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 117 def access(duh) if duh.key?('access') duh['access'] elsif duh.layer == :register_block 'read-write' else access(duh.parent) end end
find_type(duh)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 8 def find_type(duh) type_map.find { |_, properties| match_properties?(duh, properties) }&.first end
match_properties?(duh, properties)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 113 def match_properties?(duh, properties) properties.all? { |name, value| __send__(name, duh) == value } end
modified_write_value(duh)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 127 def modified_write_value(duh) duh.fetch('modifiedWriteValue', 'default') end
read_action(duh)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 131 def read_action(duh) duh.fetch('readAction', 'default') end
reserved(duh)
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 135 def reserved(duh) duh.fetch('reserved', false) end
type_map()
click to toggle source
# File lib/rggen/duh/extractor/type.rb, line 12 def type_map @type_map ||= { rw: { access: 'read-write', modified_write_value: 'default', read_action: 'default', reserved: false }, ro: { access: 'read-only', read_action: 'default', reserved: false }, wo: { access: 'write-only', modified_write_value: 'default', reserved: false }, wrc: { access: 'read-write', modified_write_value: 'default', read_action: 'clear', reserved: false }, wrs: { access: 'read-write', modified_write_value: 'default', read_action: 'set', reserved: false }, rc: { access: 'read-only', read_action: 'clear', reserved: false }, w0c: { access: 'read-write', modified_write_value: 'zeroToClear', read_action: 'default', reserved: false }, w1c: { access: 'read-write', modified_write_value: 'oneToClear', read_action: 'default', reserved: false }, wc: { access: 'read-write', modified_write_value: 'clear', read_action: 'default', reserved: false }, woc: { access: 'write-only', modified_write_value: 'clear', reserved: false }, rs: { access: 'read-only', read_action: 'set', reserved: false }, w0s: { access: 'read-write', modified_write_value: 'zeroToSet', read_action: 'default', reserved: false }, w1s: { access: 'read-write', modified_write_value: 'oneToSet', read_action: 'default', reserved: false }, ws: { access: 'read-write', modified_write_value: 'set', read_action: 'default', reserved: false }, wos: { access: 'write-only', modified_write_value: 'set', reserved: false }, w0t: { access: 'read-write', modified_write_value: 'zeroToToggle', read_action: 'default', reserved: false }, w1t: { access: 'read-write', modified_write_value: 'oneToToggle', read_action: 'default', reserved: false }, w0crs: { access: 'read-write', modified_write_value: 'zeroToClear', read_action: 'set', reserved: false }, w1crs: { access: 'read-write', modified_write_value: 'oneToClear', read_action: 'set', reserved: false }, wcrs: { access: 'read-write', modified_write_value: 'clear', read_action: 'set', reserved: false }, w0src: { access: 'read-write', modified_write_value: 'zeroToSet', read_action: 'clear', reserved: false }, w1src: { access: 'read-write', modified_write_value: 'oneToSet', read_action: 'clear', reserved: false }, wsrc: { access: 'read-write', modified_write_value: 'set', read_action: 'clear', reserved: false }, w1: { access: 'read-writeOnce', modified_write_value: 'default', read_action: 'default', reserved: false }, wo1: { access: 'writeOnce', modified_write_value: 'default', reserved: false }, reserved: { reserved: true } }.freeze end