Module: ActiveSubsetValidator
- Defined in:
- lib/active_subset_validator.rb,
lib/active_subset_validator/railtie.rb,
lib/active_subset_validator/version.rb
Defined Under Namespace
Classes: Railtie
Constant Summary collapse
- SET_DIFF_ERROR =
"Arguments much match types upon evaluation. " << "Expects Array or Set."
- VERSION =
"1.0.0"
Class Method Summary collapse
Class Method Details
.is_a_set?(obj, *args) ⇒ Boolean
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/active_subset_validator.rb', line 10 def self.is_a_set? obj, *args if obj.respond_to?(:call) obj = obj.call *args end if obj.is_a?(Set) return true elsif obj.is_a?(Array) return obj.to_set.to_a == obj else return false end end |
.set_difference(obj1, obj2) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/active_subset_validator.rb', line 23 def self.set_difference obj1, obj2 if obj1.is_a?(Array) && obj2.is_a?(Array) (obj1.to_set - obj2.to_set).to_a elsif obj1.is_a?(Set) && obj2.is_a?(Set) obj1 - obj2 else raise ArgumentError, SET_DIFF_ERROR end end |