Я новичок в рубине.
Когда я использую .empty? это дает мне ошибку NoMethodError: неопределенный метод `empty? ' для 20: целое число, но если я использую .nil? /. blank? мой тест пройден.
Я на самом деле пытаюсь сделать исходный минус целевой запрос. 20 мои записи в источнике.
def self.diff()
if targetcheck.empty?
puts "Target table is empty for #{@tableName}"
elsif sourcecheck.empty?
puts "Source table is empty for #{@tableName}"
else
# minus_result = Netezzasalesmiqueries.source_target_diff(dataone, datatwo)
@source_minus_target_result = Generalqueries.source_target_diff(@source,@target)
@target_minus_source_result = Generalqueries.source_target_diff(@target,@source)
end
end
def self.source_target_diff(data_one, data_two)
puts "(#{data_one}) minus (#{data_two})"
# database = $dif_env.teradata.execute("(#{data_one}) minus (#{data_two})")
# database.as_json
# database
end
def self.reporting()
@error_token = false
if @source_minus_target_result.empty?
puts "Target matches with the Source for #{@tableName}"
else
puts "There are #{@source_minus_target_result.size} records that are in the Source but not the Target for #{@tableName}"
#below is for detailed view of missing records
# @source_minus_target_result.each{|rec| puts "#{rec}\n"}
@error_token = true
end
if @target_minus_source_result.empty?
puts "Source matches with the Target for #{@tableName}"
else
puts "There are #{@target_minus_source_result.size} records that are in the Target but not the Source for #{@tableName}"
#below is for detailed view of missing records
# @target_minus_source_result.each{|rec| puts "#{rec}\n"}
@error_token = true
end
if @error_token
fail("There were mismatches for #{@tableName}")
end
end
Трассировка стека
NoMethodError: undefined method `empty?' for 20:Integer
./features/pages/utility.rb:23:in `diff'
./features/step_definitions/general_steps.rb:48:in `/^I have a query to compare Source and Target$/'
./features/scenarios/general_file.feature:20:in `When I have a query to compare Source and Target'
./features/scenarios/general_file.feature:16:in `When I have a query to compare Source and Target'
Спасибо в Advnace.