Class: Bmg::Operator::Autosummarize::DistinctList
- Inherits:
-
Object
- Object
- Bmg::Operator::Autosummarize::DistinctList
- Defined in:
- lib/bmg/operator/autosummarize.rb
Overview
Summarizes by putting distinct dependents inside an Array, ignoring nils, and optionally sorting the array.
Instance Method Summary collapse
- #init(v) ⇒ Object
-
#initialize(&sorter) ⇒ DistinctList
constructor
A new instance of DistinctList.
- #inspect ⇒ Object (also: #to_s)
- #sum(v1, v2) ⇒ Object
- #term(v) ⇒ Object
Constructor Details
#initialize(&sorter) ⇒ DistinctList
Returns a new instance of DistinctList.
162 163 164 |
# File 'lib/bmg/operator/autosummarize.rb', line 162 def initialize(&sorter) @sorter = sorter end |
Instance Method Details
#init(v) ⇒ Object
166 167 168 |
# File 'lib/bmg/operator/autosummarize.rb', line 166 def init(v) Set.new v.nil? ? [] : [v] end |
#inspect ⇒ Object Also known as: to_s
181 182 183 |
# File 'lib/bmg/operator/autosummarize.rb', line 181 def inspect ":group" end |
#sum(v1, v2) ⇒ Object
170 171 172 173 |
# File 'lib/bmg/operator/autosummarize.rb', line 170 def sum(v1, v2) v1 << v2 unless v2.nil? v1 end |
#term(v) ⇒ Object
175 176 177 178 179 |
# File 'lib/bmg/operator/autosummarize.rb', line 175 def term(v) v = v.to_a v = v.sort(&@sorter) if @sorter v end |