module Publicator
The module provides methods to publish requirements documents as releases and drafts. Publicator
store settings in `publicator.creq` yml file
Public Instance Methods
draft()
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 28 def draft load up_version publish "#{output} v#{version} draft #{Time.now.strftime('%Y-%b-%d')}" end
release()
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 22 def release load up_verison! publish "#{output} v#{version}" end
Protected Instance Methods
outputs()
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 58 def outputs {}.tap {|out| format.split(/ /).each {|fmt| out[fmt] = self.send("#{fmt}_options") } } end
publish(release_title)
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 36 def publish(release_title) repo = requirements_repository repo = repo.query(query) unless query.empty? source = "#{output}.md" inside_bin do open(source, 'w') {|f| f.write "% #{title}\n" f.write " v#{version}\n" f.write " (query: #{query})\n" unless query.empty? f.write "% #{author}\n" unless author.empty? f.write "% on #{Time.now.strftime('%B %e, %Y')}\n" Creq::PubWriter.(repo, f) } outputs.each {|fmt, opt| `pandoc #{options} #{opt} -o "#{release_title}.#{fmt}" "#{source}"` puts "'#{Creq::Settings.bin}/#{release_title}.#{fmt}' created." } end end
up_verison!()
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 73 def up_verison! up_version save end
up_version()
click to toggle source
# File lib/assets/promo/lib/publicator.rb, line 66 def up_version self.version = /(\d)\.(\d)/.match(version) do |v| major, minor = v[1], v[2] "#{major}.#{minor.to_i + 1}" end end