Sha256: 36d4f1fc5914e24183531c26c5fed767c701d693e6d1fb925e51e763b0250b45

Contents?: true

Size: 630 Bytes

Versions: 2

Compression:

Stored size: 630 Bytes

Contents

module XForms
  class Form
    attr_accessor :model_instance
    attr_accessor :itext
    attr_accessor :controls
    attr_accessor :namespaces
    attr_accessor :calculates

    def initialize
      @controls = []
      @namespaces = {}
      @calculates = []
    end

    def self.parse_file(path)
      File.open(path, 'r') do |f|
        parse f
      end
    end

    def self.parse(input)
      FormParser.new(input).parse
    end

    def recalculate
      calculates.each do |calc|
        value = calc[:value].dyn_value
        model_instance.xpath(calc[:binding]).first.children = value.to_s
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xforms-0.0.4 lib/xforms/form.rb
xforms-0.0.3 lib/xforms/form.rb