Module: Isy::Methods
- Defined in:
- lib/isy.rb
Instance Method Summary collapse
Instance Method Details
#isy(subject, *args, &evaluation) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/isy.rb', line 12 def isy subject, *args, &evaluation if evaluation.nil? && args[0].nil? raise ArgumentError, 'Object#isy requires either a type or evaluation block' end evaluation ||= lambda { |s| s.is_a? args[0] } unless evaluation.call(subject) raise Isy::ArgumentTypeMismatch.new( subject: subject, caller_method: caller_locations(1,1)[0].label ) end end |