Sha256: 352b30afa4be5c849778697fd89e6af93b1173fbe69cd0b009bcf99165f68056
Contents?: true
Size: 836 Bytes
Versions: 1
Compression:
Stored size: 836 Bytes
Contents
module Gorillib module Model module Validate module_function VALID_NAME_RE = /\A[A-Za-z_][A-Za-z0-9_]*\z/ def identifier!(name) raise TypeError, "can't convert #{name.class} into Symbol", caller unless name.respond_to? :to_sym raise ArgumentError, "Name must start with [A-Za-z_] and subsequently contain only [A-Za-z0-9_]", caller unless name =~ VALID_NAME_RE end def hashlike!(desc, val) return true if val.respond_to?(:[]) && val.respond_to?(:has_key?) raise ArgumentError, "#{desc} should be something that behaves like a hash: #{val.inspect}", caller end def included_in!(desc, val, colxn) raise ArgumentError, "#{desc} must be one of #{colxn.inspect}: got #{val.inspect}", caller unless colxn.include?(val) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gorillib-0.4.0pre | lib/gorillib/model/validate.rb |