Class: BatchLoad::ColumnResolver::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/batch_load/column_resolver/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeResult

Returns a new instance of Result



19
20
21
22
# File 'lib/batch_load/column_resolver/result.rb', line 19

def initialize
  @error_messages = []
  @items = []
end

Instance Attribute Details

#error_messagesObject

When the resolver can not identify a single record the reasons can be added here



17
18
19
# File 'lib/batch_load/column_resolver/result.rb', line 17

def error_messages
  @error_messages
end

#itemObject

The singular resolved item



8
9
10
# File 'lib/batch_load/column_resolver/result.rb', line 8

def item
  @item
end

#itemsObject

When more than one item is found they are listed here. In practice this should be limited to the first 10 or so, rather than all potential matches.



13
14
15
# File 'lib/batch_load/column_resolver/result.rb', line 13

def items
  @items
end

Instance Method Details

#assign(objects) ⇒ Array

Parameters:

  • objects (Object)

Returns:

  • (Array)


41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/batch_load/column_resolver/result.rb', line 41

def assign(objects)
  if objects.class == Array
    if objects.size == 1
      @item = objects.first
      @items = []
    else
      @items = objects
      @item = nil
    end
  else
    @item = objects
  end
end

#multiple_matches?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/batch_load/column_resolver/result.rb', line 30

def multiple_matches?
  items.size > 0
end

#no_matches?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/batch_load/column_resolver/result.rb', line 35

def no_matches?
  item.nil? and items.empty?
end

#resolvable?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/batch_load/column_resolver/result.rb', line 25

def resolvable?
  item && error_messages.size == 0 && items == [] # a little redundant, but keep it safe
end