Class: Opener::Kaf::Visualizer::KAFNode

Inherits:
Object
  • Object
show all
Defined in:
lib/opener/outlet/visualizer.rb

Direct Known Subclasses

Entity, Opinion, Property, Term, Word

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tag, references) ⇒ KAFNode

Returns a new instance of KAFNode.



66
67
68
69
70
71
72
73
74
# File 'lib/opener/outlet/visualizer.rb', line 66

def initialize(tag, references)
  @references = references
  @tag = tag

  set_instance_variables
  set_content
  set_targets
  process_subnodes
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content.



64
65
66
# File 'lib/opener/outlet/visualizer.rb', line 64

def content
  @content
end

#referencesObject (readonly)

Returns the value of attribute references.



64
65
66
# File 'lib/opener/outlet/visualizer.rb', line 64

def references
  @references
end

#tagObject (readonly)

Returns the value of attribute tag.



64
65
66
# File 'lib/opener/outlet/visualizer.rb', line 64

def tag
  @tag
end

#targetsObject (readonly)

Returns the value of attribute targets.



64
65
66
# File 'lib/opener/outlet/visualizer.rb', line 64

def targets
  @targets
end

Instance Method Details

#has_target?(*ids) ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
104
105
106
# File 'lib/opener/outlet/visualizer.rb', line 101

def has_target?(*ids)
  ids.flatten.each do |id|
    return true if target_ids.include?(id)
  end
  return false
end

#process_subnodesObject



98
99
# File 'lib/opener/outlet/visualizer.rb', line 98

def process_subnodes
end

#set_contentObject



76
77
78
# File 'lib/opener/outlet/visualizer.rb', line 76

def set_content
  @content = tag.content
end

#set_instance_variablesObject



80
81
82
83
84
85
86
87
88
# File 'lib/opener/outlet/visualizer.rb', line 80

def set_instance_variables
  tag.keys.each do |key|
    if respond_to?("#{key}=".to_sym)
      send("#{key}=".to_sym, tag[key])
    else
      instance_variable_set("@#{key}", tag[key])
    end
  end
end

#set_targetsObject



90
91
92
93
94
95
96
# File 'lib/opener/outlet/visualizer.rb', line 90

def set_targets
  @targets = []
  tag.css("span target").each do |target|
    id = target["id"]
    @targets << references[:terms][id]
  end
end

#target_idsObject



116
117
118
# File 'lib/opener/outlet/visualizer.rb', line 116

def target_ids
  @targets.map(&:id)
end

#to_sObject



108
109
110
111
112
113
114
# File 'lib/opener/outlet/visualizer.rb', line 108

def to_s
  if targets.size > 0
    return targets.map(&:to_s).join(" ")
  else
    return content
  end
end