class NxtSupport::Crystalizer
Constants
- Error
Public Instance Methods
call()
click to toggle source
# File lib/nxt_support/util/crystalizer.rb, line 9 def call ensure_unanimity unique_values.first end
Private Instance Methods
default_ambiguity_handler()
click to toggle source
# File lib/nxt_support/util/crystalizer.rb, line 24 def default_ambiguity_handler ->(collection) { raise Error, "Values in collection are not unanimous: #{collection}" } end
ensure_unanimity()
click to toggle source
# File lib/nxt_support/util/crystalizer.rb, line 28 def ensure_unanimity return if unique_values.size == 1 on_ambiguity.arity == 1 ? on_ambiguity.call(collection) : on_ambiguity.call end
resolved_collection()
click to toggle source
# File lib/nxt_support/util/crystalizer.rb, line 20 def resolved_collection @resolved_collection ||= collection.map { |value| with.is_a?(Proc) ? with.call(value) : value.send(with) } end
unique_values()
click to toggle source
# File lib/nxt_support/util/crystalizer.rb, line 16 def unique_values @unique_values ||= resolved_collection.uniq end