Sha256: 02da6720784c21c9b037f9b9573e8d2a7ed76495183b9ea699f2fa33048520eb
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require "peto" require "rake" require "rake/tasklib" module Peto class RakeTask < ::Rake::TaskLib attr_accessor :contracts attr_accessor :output_dir attr_accessor :languages attr_accessor :name attr_accessor :fail_on_error attr_accessor :failure_message def initialize(*args) @contracts ||= [] @output_dir ||= "./" @languages ||= [] @name ||= :peto @fail_on_error ||= true yield self if block_given? desc("Generate codes by contracts") unless ::Rake.application.last_comment task name do RakeFileUtils.send(:verbose, verbose) do if contracts.empty? puts "No contracts" else begin languages.each do |language| self.contracts = [contracts] if contracts.class == String contracts.each do |contract| peto = Peto::Master.new peto.load(contract) peto.generate(language, output_dir) end end #rescue # puts failure_message if failure_message # raise "peto failed" if fail_on_error end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
peto-0.2.7 | lib/peto/rake_task.rb |
peto-0.2.6 | lib/peto/rake_task.rb |