# File lib/uri_template/rfc6570.rb, line 297 def initialize(pattern_or_tokens,options={}) @options = options.dup.freeze if pattern_or_tokens.kind_of? String @pattern = pattern_or_tokens.dup @pattern.freeze unless @options[:lazy] self.tokens end elsif pattern_or_tokens.kind_of? Array @tokens = pattern_or_tokens.dup @tokens.freeze else raise ArgumentError, "Expected to receive a pattern string, but got #{pattern_or_tokens.inspect}" end end