Class: Quandl::Pattern

Inherits:
Regexp
  • Object
show all
Defined in:
lib/quandl/pattern.rb,
lib/quandl/pattern/client.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Pattern

Returns a new instance of Pattern.



24
25
26
27
# File 'lib/quandl/pattern.rb', line 24

def initialize(*args)
  @options = args.pop if args.last.is_a?(Hash)
  super(*args)
end

Class Method Details

.assert_unique_pattern!(name, pattern) ⇒ Object

Raises:

  • (ArgumentError.new(name))


12
13
14
15
16
# File 'lib/quandl/pattern.rb', line 12

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

.define_pattern(name, pattern, options = {}) ⇒ Object



6
7
8
9
10
# File 'lib/quandl/pattern.rb', line 6

def define_pattern(name, pattern, options={})
  assert_unique_pattern!(name, pattern)
  patterns << name
  define_singleton_method(name){ Quandl::Pattern.new( pattern, options ) }
end

.patternsObject



18
19
20
# File 'lib/quandl/pattern.rb', line 18

def patterns
  @patterns ||= []
end

Instance Method Details

#optionsObject



33
34
35
# File 'lib/quandl/pattern.rb', line 33

def options
  @options ||= {}
end

#to_exampleObject



29
30
31
# File 'lib/quandl/pattern.rb', line 29

def to_example
  options[:example]
end