class Scoruby::Node

Attributes

children[R]
decision[R]
pred[R]

Public Class Methods

new(xml) click to toggle source
# File lib/scoruby/node.rb, line 10
def initialize(xml)
  children = xml.children
  @decision = Decision.new(xml)
  children = remove_nodes(children)
  @pred     = PredicateFactory.for(children[0])
  @children = children_nodes(children)
end

Public Instance Methods

true?(features) click to toggle source
# File lib/scoruby/node.rb, line 18
def true?(features)
  @pred.nil? || @pred.true?(features)
end

Private Instance Methods

children_nodes(children) click to toggle source
# File lib/scoruby/node.rb, line 24
def children_nodes(children)
  children.select { |c| c.name == 'Node' }
          .map { |child| Node.new(child) }
end
remove_nodes(children) click to toggle source
# File lib/scoruby/node.rb, line 29
def remove_nodes(children)
  children.reject { |c| %w[Extension ScoreDistribution].include? c.name }
end