module BlueDoc::SML::Utils
Public Instance Methods
attributes(node, add_if_mission: false)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 27 def attributes(node, add_if_mission: false) return {} if node.blank? return node[1].deep_symbolize_keys if has_attributes?(node) return {} unless add_if_mission name = node.shift || "" attrs = {} node.unshift(attrs) node.unshift(name) attrs end
attributes?(node)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 53 def attributes?(node) return false if node.nil? node.is_a?(Hash) end
element?(node)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 58 def element?(node) node.is_a?(Array) && node[0].is_a?(String) end
get_children(node)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 8 def get_children(node) has_attributes?(node) ? node[2..-1] : node[1..-1] end
has_attributes?(node)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 48 def has_attributes?(node) return false unless element?(node) attributes?(node[1]) end
list_tag_by_type(type)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 17 def list_tag_by_type(type) if type == "bulleted" return "ul" elsif type == "ordered" return "ol" else return nil end end
set_attribute(node, key, val)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 40 def set_attribute(node, key, val) return if node.blank? return unless element?(node) return unless has_attributes?(node) node[1][key] = val end
tag_name(node)
click to toggle source
# File lib/bluedoc/sml/utils.rb, line 12 def tag_name(node) return nil if node.blank? node[0] || "" end