Sha256: f3392aed4866710a7a57e681a22bbc5e4d5397fe595d1f1b1bc1076dd400a09f

Contents?: true

Size: 478 Bytes

Versions: 1

Compression:

Stored size: 478 Bytes

Contents

module JSONSelect::Ast::PseudoSelector

  def to_ast
    if respond_to?(:e)
      ast = { :pseudo_function => a.text_value, :a => 0 , :b => 0 }
      ast.merge!(e.to_ast)
      ast
    else
      case a.text_value

      when 'first-child'
        { :pseudo_function => 'nth-child', :a => 0, :b => 1 }

      when 'last-child'
        { :pseudo_function => 'nth-last-child', :a => 0, :b => 1 }

      else
        { :pseudo_class => a.text_value }

      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
json_select-0.1.1 lib/json_select/ast/pseudo_selector.rb