Sha256: 0ea2b5a3cce1fc340546b0175e5cc429aed98ba773fdbb107fe5adb00a2391e3
Contents?: true
Size: 1.07 KB
Versions: 4
Compression:
Stored size: 1.07 KB
Contents
module Relax class Context attr_reader :parameters def initialize(parameters=[]) # :nodoc: @parameters = parameters end def evaluate(&block) # :nodoc: instance_eval(&block) end def parameter(name, options={}) unless @parameters.find { |parameter| parameter.named?(name) } @parameters << Parameter.new(name, options) else raise ArgumentError.new("Duplicate parameter '#{name}'.") end end def set(name, value) if parameter = @parameters.find { |parameter| parameter.named?(name) } parameter.value = value end end def parser(root, options={}, &block) # :nodoc: @parser ||= begin if root.kind_of?(Class) root.new(options, &block) else Relief::Parser.new(root, options, &block) end end end def parse(response) # :nodoc: @parser.parse(response) end def clone # :nodoc: cloned_parameters = @parameters.collect { |parameter| parameter.clone } self.class.new(cloned_parameters) end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
tylerhunt-relax-0.1.2 | lib/relax/context.rb |
tylerhunt-relax-0.1.3 | lib/relax/context.rb |
relax-0.1.3 | lib/relax/context.rb |
relax-0.1.2 | lib/relax/context.rb |