Class: Summarily::MergeStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/summarily/merge_strategy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMergeStrategy

Returns a new instance of MergeStrategy.



5
6
7
# File 'lib/summarily/merge_strategy.rb', line 5

def initialize
  @merge_operations = {}
end

Instance Attribute Details

#merge_operationsObject (readonly)

Returns the value of attribute merge_operations.



9
10
11
# File 'lib/summarily/merge_strategy.rb', line 9

def merge_operations
  @merge_operations
end

Instance Method Details

#custom(attr, &block) ⇒ Object



35
36
37
# File 'lib/summarily/merge_strategy.rb', line 35

def custom(attr, &block)
  @merge_operations[attr] = block
end

#max(attr) ⇒ Object



19
20
21
# File 'lib/summarily/merge_strategy.rb', line 19

def max(attr)
  @merge_operations[attr] = Summarily::MAX
end

#merge(attr) ⇒ Object



23
24
25
# File 'lib/summarily/merge_strategy.rb', line 23

def merge(attr)
  @merge_operations[attr] = Summarily::MERGE
end

#merge!(attr) ⇒ Object



27
28
29
# File 'lib/summarily/merge_strategy.rb', line 27

def merge!(attr)
  @merge_operations[attr] = Summarily::MERGE_LEFT
end

#min(attr) ⇒ Object



15
16
17
# File 'lib/summarily/merge_strategy.rb', line 15

def min(attr)
  @merge_operations[attr] = Summarily::MIN
end

#sum(attr) ⇒ Object



11
12
13
# File 'lib/summarily/merge_strategy.rb', line 11

def sum(attr)
  @merge_operations[attr] = Summarily::SUM
end

#union(attr) ⇒ Object



31
32
33
# File 'lib/summarily/merge_strategy.rb', line 31

def union(attr)
  @merge_operations[attr] = Summarily::UNION
end