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.



69
70
71
72
73
74
75
76
77
# File 'lib/opener/outlet/visualizer.rb', line 69

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.



67
68
69
# File 'lib/opener/outlet/visualizer.rb', line 67

def content
  @content
end

#referencesObject (readonly)

Returns the value of attribute references.



67
68
69
# File 'lib/opener/outlet/visualizer.rb', line 67

def references
  @references
end

#tagObject (readonly)

Returns the value of attribute tag.



67
68
69
# File 'lib/opener/outlet/visualizer.rb', line 67

def tag
  @tag
end

#targetsObject (readonly)

Returns the value of attribute targets.



67
68
69
# File 'lib/opener/outlet/visualizer.rb', line 67

def targets
  @targets
end

Instance Method Details

#has_target?(*ids) ⇒ Boolean

Returns:

  • (Boolean)


104
105
106
107
108
109
# File 'lib/opener/outlet/visualizer.rb', line 104

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

#process_subnodesObject



101
102
# File 'lib/opener/outlet/visualizer.rb', line 101

def process_subnodes
end

#set_contentObject



79
80
81
# File 'lib/opener/outlet/visualizer.rb', line 79

def set_content
  @content = tag.content
end

#set_instance_variablesObject



83
84
85
86
87
88
89
90
91
# File 'lib/opener/outlet/visualizer.rb', line 83

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



93
94
95
96
97
98
99
# File 'lib/opener/outlet/visualizer.rb', line 93

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

#target_idsObject



119
120
121
# File 'lib/opener/outlet/visualizer.rb', line 119

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

#to_sObject



111
112
113
114
115
116
117
# File 'lib/opener/outlet/visualizer.rb', line 111

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