Class: Bmg::Operator::Autosummarize::Check

Inherits:
Object
  • Object
show all
Defined in:
lib/bmg/operator/autosummarize.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sums) ⇒ Check

Returns a new instance of Check.



117
118
119
# File 'lib/bmg/operator/autosummarize.rb', line 117

def initialize(sums)
  @sums = sums
end

Instance Attribute Details

#sums ⇒ Object (readonly)

Returns the value of attribute sums.



120
121
122
# File 'lib/bmg/operator/autosummarize.rb', line 120

def sums
  @sums
end

Instance Method Details

#init(tuple) ⇒ Object



126
127
128
129
130
# File 'lib/bmg/operator/autosummarize.rb', line 126

def init(tuple)
  tuple.each_with_object({}){|(k,v),h|
    h.merge!(k => summarizer(k).init(v))
  }
end

#sum(memo, tuple) ⇒ Object



132
133
134
135
136
# File 'lib/bmg/operator/autosummarize.rb', line 132

def sum(memo, tuple)
  tuple.each_with_object(memo.dup){|(k,v),h|
    h.merge!(k => summarizer(k).sum(h[k], v))
  }
end

#summarizer(k) ⇒ Object



122
123
124
# File 'lib/bmg/operator/autosummarize.rb', line 122

def summarizer(k)
  @sums[k] ||= Same::INSTANCE
end

#term(tuple) ⇒ Object



138
139
140
141
142
# File 'lib/bmg/operator/autosummarize.rb', line 138

def term(tuple)
  tuple.each_with_object({}){|(k,v),h|
    h.merge!(k => summarizer(k).term(v))
  }
end