class SBF::Client::EntityCollection
Attributes
errors[R]
total_count[R]
Public Class Methods
new(entities = [], total_count = 0, errors = nil)
click to toggle source
# File lib/stbaldricks/entities/lib/collection.rb, line 10 def initialize(entities = [], total_count = 0, errors = nil) concat(entities) @total_count = total_count @errors = errors || SBF::Client::Entity::Errors.new(self) end
Public Instance Methods
[](*args)
click to toggle source
rubocop:disable Style/MultipleComparison
Calls superclass method
# File lib/stbaldricks/entities/lib/collection.rb, line 31 def [](*args) log_deprecated('[]', caller) if args == [:results] || args == [:total_count] return self if args == [:results] return @total_count if args == [:total_count] result = super result.is_a?(Array) ? self.class.new(result, total_count) : result end
error()
click to toggle source
Attempt to return an ErrorEntity
similar to or exactly like the original
# File lib/stbaldricks/entities/lib/collection.rb, line 19 def error log_deprecated('error', caller) return nil if single_active_model_error.nil? details = single_active_model_error.find { |x| x.is_a?(String) } if single_active_model_error.is_a?(Array) details ||= single_active_model_error.is_a?(String) ? single_active_model_error : '' details = details["#{errors.type}: ".length..(details.length - 1)] if details.start_with?("#{errors.type}: ") SBF::Client::ErrorEntity.new(code: errors.code, type: errors.type, details: details) end