Class: Unico::SimilarityControlChecker

Inherits:
Object
  • Object
show all
Defined in:
app/business/unico/similarity_control_checker.rb

Direct Known Subclasses

SimilarityControlChecker

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(similarity_control, options = {}) ⇒ SimilarityControlChecker

Returns a new instance of SimilarityControlChecker.



2
3
4
5
6
7
8
9
10
11
12
# File 'app/business/unico/similarity_control_checker.rb', line 2

def initialize(similarity_control, options = {})
  @similarity_control = similarity_control
  @column = similarity_control.column_name
  @scope_column1 = similarity_control.scope_column1
  @scope_column2 = similarity_control.scope_column2
  @table = similarity_control.table_name
  @search = similarity_control.search

  @similarity_control_item_repository = options.delete(:similarity_control_item_repository) { ::SimilarityControlItem }
  @connection = options.delete(:connection) { ActiveRecord::Base.connection }
end

Class Method Details

.do!(*attr) ⇒ Object



14
15
16
# File 'app/business/unico/similarity_control_checker.rb', line 14

def self.do!(*attr)
  new(*attr).do!
end

Instance Method Details

#do!Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/business/unico/similarity_control_checker.rb', line 18

def do!
  code = nil

  query.each_with_index do |result, index|
    id1 = result['id1'].to_i
    id2 = result['id2'].to_i

    code = get_code(result, index, code)

    check_and_create_item(id1, result['field1'], result['scope_x1'], result['scope_x2'], code)
    check_and_create_item(id2, result['field2'], result['scope_y1'], result['scope_y2'], code)
  end
end