Sha256: 2d1d10862dc6d86b784ac24d8b0ec4c6739999b3625cbecbb323caec2a9083ef
Contents?: true
Size: 771 Bytes
Versions: 31
Compression:
Stored size: 771 Bytes
Contents
module Quandl class Pattern < Regexp class << self def define_pattern(name, pattern, options={}) assert_unique_pattern!(name, pattern) patterns << name define_singleton_method(name){ Quandl::Pattern.new( pattern, options ) } end def assert_unique_pattern!(name, pattern) return false unless self.respond_to?(name) message = "Attempted to redefine previously defined pattern! '#{name}', /#{pattern}/" raise ArgumentError.new(name), message end def patterns @patterns ||= [] end end def initialize(*args) @options = args.pop if args.last.is_a?(Hash) super(*args) end def to_example options[:example] end def options @options ||= {} end end end
Version data entries
31 entries across 31 versions & 1 rubygems