Module: Genny::Regexp

Defined in:
lib/genny/regexp.rb

Constant Summary collapse

DEFAULT_OPTS =
{
  min: 2,
  max: 5
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.genny(_opts = {}) ⇒ Object

A bit unecessary, but who knows, maybe someone will have use for it



10
11
12
# File 'lib/genny/regexp.rb', line 10

def self.genny(_opts = {})
  %r{.*}
end

Instance Method Details

#genny(opts = {}) ⇒ Object

Raises:

  • (NotImplementedError)


14
15
16
17
18
19
20
21
22
23
# File 'lib/genny/regexp.rb', line 14

def genny(opts = {})
  raise NotImplementedError, "This regular expression doesn't seem to support the `source` method" unless self.respond_to?(:source)
  begin
    str = generate_from_regexp_string(self.source, DEFAULT_OPTS.merge(opts))
    raise unless str.match(self)
  rescue
    raise NotImplementedError, "Looks like Genny doesn't support the regular expression #{self.source}#{str.nil? ? '.' : ", it made '#{str}'."} Feel like adding support? https://github.com/blinkboxbooks/genny"
  end
  str
end