Class: Mayu::Resources::Transformers::Haml::HashKeyExtractorVisitor

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/mayu/resources/transformers/haml.rb

Instance Method Summary collapse

Instance Method Details

#extract_key(node) ⇒ Object



967
968
969
970
971
972
973
974
975
# File 'lib/mayu/resources/transformers/haml.rb', line 967

def extract_key(node)
  case node
  when SyntaxTree::StringLiteral
    node.parts => [{ value: }]
    value
  when SyntaxTree::Label
    node.value
  end
end

#extract_value(node) ⇒ Object



978
979
980
# File 'lib/mayu/resources/transformers/haml.rb', line 978

def extract_value(node)
  node
end

#visit_hash(node) ⇒ Object



950
951
952
953
954
955
956
957
958
959
960
# File 'lib/mayu/resources/transformers/haml.rb', line 950

def visit_hash(node)
  hash = {}

  node.assocs.each do |child|
    if extract_key(child.key) in key
      hash[key] = extract_value(child.value)
    end
  end

  hash
end