Class: PDD::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/pdd.rb

Overview

Code base abstraction

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Base

Ctor.

opts

Options



62
63
64
65
66
# File 'lib/pdd.rb', line 62

def initialize(opts)
  @opts = opts
  PDD.log = Logger.new(File::NULL) unless @opts.verbose?
  PDD.log.info "my version is #{PDD::VERSION}"
end

Instance Method Details

#xmlObject

Generate XML.



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/pdd.rb', line 69

def xml
  dir = @opts.source? ? @opts[:source] : Dir.pwd
  PDD.log.info "reading #{dir}"
  sources = Sources.new(dir)
  @opts[:exclude].each do |p|
    sources = sources.exclude(p)
    PDD.log.info "excluding #{p}"
  end unless @opts[:exclude].nil?
  sanitize(
    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[:ticket]}:" \
              "#{puzzle.props[:estimate]}/#{puzzle.props[:role]}" \
              " at #{puzzle.props[:file]}"
            render puzzle, xml
          end
        end
      end
    end.to_xml
  )
end