Sha256: 74ef5b2d8d39e8958eb3677c91dc68463614740a3749195f37fcdaa2ac16604e

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

module Capistrano
  module Measure
    module Integration
      module Capistrano3
        def measure_adapter
          @measure_adapter ||= Capistrano::Measure::Adapter.new(::Logger.new(STDOUT), ::Capistrano::Configuration.env)
        end

        def insert_measure_tasks
          Rake.application.tasks.each do |current_task|
            before(current_task, :"bm_#{current_task}_before_hook") do
              measure_adapter.before_task(current_task)
            end

            after(current_task, :"bm_#{current_task}_after_hook") do
              measure_adapter.after_task(current_task)
            end
          end
        end

        def invoke_task(task_string)
          name, _ = parse_task_string(task_string)

          insert_measure_tasks if top_level_tasks.first == name
          super(task_string)
          measure_adapter.print_report if top_level_tasks.last == name
        end
      end
    end
  end
end

module Capistrano
  class Application
    include Capistrano::Measure::Integration::Capistrano3
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
capistrano-measure-0.10.0 lib/capistrano/measure/integration/capistrano_3.rb
capistrano-measure-0.9.1 lib/capistrano/measure/integration/capistrano_3.rb
capistrano-measure-0.9.0 lib/capistrano/measure/integration/capistrano_3.rb