Class: TermUtils::AP::ParameterResult

Inherits:
Object
  • Object
show all
Defined in:
lib/term_utils/ap/result.rb

Overview

Represents a result for a parameter.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent, parameter) ⇒ ParameterResult

Constructs a new ParameterResult.

Parameters:



82
83
84
85
86
87
# File 'lib/term_utils/ap/result.rb', line 82

def initialize(parent, parameter)
  @parent = parent
  @parent.add_result(self)
  @parameter = parameter
  @results = []
end

Instance Attribute Details

#parameterParameter

Returns:



75
76
77
# File 'lib/term_utils/ap/result.rb', line 75

def parameter
  @parameter
end

#resultsArray<ArticleResult>

Returns:



77
78
79
# File 'lib/term_utils/ap/result.rb', line 77

def results
  @results
end

Instance Method Details

#add_result(result) ⇒ Object

Adds an ArticleResult.

Parameters:



91
92
93
# File 'lib/term_utils/ap/result.rb', line 91

def add_result(result)
  @results << result
end

#find_article(id) ⇒ ArticleResult

Returns the first ArticleResult for a given article id.

Parameters:

  • id (Symbol)

Returns:



103
104
105
# File 'lib/term_utils/ap/result.rb', line 103

def find_article(id)
  @results.find { |r| r.art_id == id }
end

#find_articles(id) ⇒ Array<Result>

Returns all ArticleResult(s) for a given article id.

Parameters:

  • id (Symbol)

Returns:



110
111
112
# File 'lib/term_utils/ap/result.rb', line 110

def find_articles(id)
  @results.find_all { |r| r.art_id == id }
end

#param_idSymbol

Returns:

  • (Symbol)


96
97
98
# File 'lib/term_utils/ap/result.rb', line 96

def param_id
  @parameter.id
end

#value(id = nil) ⇒ Object

Returns the value of the first ArticleResult.

Parameters:

  • id (Symbol) (defaults to: nil)

    Filter of article id.

Returns:

  • (Object)


117
118
119
120
121
# File 'lib/term_utils/ap/result.rb', line 117

def value(id = nil)
  return @results.first.value unless id

  find_article(id).value
end

#values(id = nil) ⇒ Array<Object>

Returns the value of all ArticleResult(s).

Parameters:

  • id (Symbol) (defaults to: nil)

    Filter of article id.

Returns:

  • (Array<Object>)


126
127
128
129
130
131
132
133
134
135
136
# File 'lib/term_utils/ap/result.rb', line 126

def values(id = nil)
  return @results.map(&:value) unless id

  vals = []
  @results.each do |r|
    next if r.art_id != id

    vals << r.values
  end
  vals
end