Class: PDD::Base
- Inherits:
-
Object
- Object
- PDD::Base
- Defined in:
- lib/pdd.rb
Overview
Code base abstraction
Instance Method Summary collapse
-
#initialize(opts) ⇒ Base
constructor
Ctor.
-
#xml ⇒ Object
Generate XML.
Constructor Details
#initialize(opts) ⇒ Base
Ctor.
opts-
Options
76 77 78 79 80 81 82 |
# File 'lib/pdd.rb', line 76 def initialize(opts) @opts = opts PDD.log.level = Logger::INFO if @opts[:verbose] PDD.log.level = Logger::ERROR if @opts[:quiet] PDD.log.info "My version is #{PDD::VERSION}" PDD.log.info "Ruby version is #{RUBY_VERSION} at #{RUBY_PLATFORM}" end |
Instance Method Details
#xml ⇒ Object
Generate XML.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/pdd.rb', line 85 def xml dir = @opts[:source] ? @opts[:source] : Dir.pwd PDD.log.info "Reading #{dir}" require_relative 'pdd/sources' sources = Sources.new(dir) unless @opts[:exclude].nil? @opts[:exclude].each do |p| sources = sources.exclude(p) PDD.log.info "Excluding #{p}" end end sanitize( rules( Nokogiri::XML::Builder.new do |xml| xml << "<?xml-stylesheet type='text/xsl' href='#{xsl}'?>" xml.puzzles(attrs) do sources.fetch.each do |source| source.puzzles.each do |puzzle| PDD.log.info "Puzzle #{puzzle.props[:id]} " \ "#{puzzle.props[:estimate]}/#{puzzle.props[:role]}" \ " at #{puzzle.props[:file]}" render puzzle, xml end end end end.to_xml ) ) end |