Sha256: 3a9a5f050bb8bb11b87502df7acace39c8ebb0369ed10e1828d07b04dbce0504
Contents?: true
Size: 930 Bytes
Versions: 3
Compression:
Stored size: 930 Bytes
Contents
require 'bundler/gem_tasks' require 'junoser/development' require 'nokogiri' require 'pathname' xsd_path = File.expand_path('../tmp/junos-system.xsd', Pathname.new(__FILE__).realpath) rule_path = File.expand_path('../tmp/rule.rb', Pathname.new(__FILE__).realpath) parser_path = File.expand_path('../lib/junoser/parser.rb', Pathname.new(__FILE__).realpath) def open_files(input, output, &block) i = open(input) o = open(output, 'w') yield i, o i.close o.close end namespace :build do desc 'Build an intermediate config hierarchy' task(:config) do open_files(xsd_path, rule_path) do |input, output| Nokogiri::XML(input).root.remove_unused.xpath('/xsd:schema/*').each do |e| output.puts e.to_config end end end desc 'Build the parser' task(:rule) do open_files(rule_path, parser_path) do |input, output| output.puts Junoser::Ruler.new(input).to_rule end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
junoser-0.1.2 | Rakefile |
junoser-0.1.1 | Rakefile |
junoser-0.1.0 | Rakefile |