This commit is contained in:
Gregory Eremin
2013-06-06 22:55:21 +04:00
parent 971ef5e530
commit 04a9f70b26
85 changed files with 115 additions and 137 deletions
+6 -6
View File
@@ -2,13 +2,13 @@ require 'bundler/setup'
require 'rake'
require File.expand_path('../rake/task', __FILE__)
require 'rake_control/config'
require 'rake_control/statistics'
require 'rake_control/storage'
require 'rake_control/version'
require 'rake_control/wrapper'
require 'burden/config'
require 'burden/statistics'
require 'burden/storage'
require 'burden/version'
require 'burden/wrapper'
module RakeControl
module Burden
include Config::Helper
def wrap(name, description, &block)
@@ -1,4 +1,4 @@
module RakeControl
module Burden
class Config
attr_accessor :storage, # Storage backend (ActiveRecord, Mongoid, MongoMapper)
:ignored_tasks # Do not log this tasks (eg. environment task)
@@ -1,4 +1,4 @@
module RakeControl
module Burden
class Statistics
attr_reader :name, :success, :execution_time
+21
View File
@@ -0,0 +1,21 @@
module Burden
module Storage
def run
case Burden.config.storage
when :active_record, :activerecord
require 'burden/storage/active_record/run'
Burden::Storage::ActiveRecord::Run
when :mongoid
require 'burden/storage/mongoid/run'
Burden::Storage::Mongoid::Run
when :mongo_mapper, :mongomapper
require 'burden/storage/mongo_mapper/run'
Burden::Storage::MongoMapper::Run
else
raise Exception.new("Unknown storage: #{storage}")
end
end
extend self
end
end
@@ -1,8 +1,8 @@
module RakeControl
module Burden
module Storage
module ActiveRecord
class Run < ::ActiveRecord::Base
self.table_name = 'rake_control_runs'
self.table_name = 'burden_runs'
attr_accessible :name, :success, :execution_time
scope :summary, ->{ group(:name).order('created_at desc') }
@@ -1,9 +1,10 @@
module RakeControl
module Burden
module Storage
module MongoMapper
class Run
include ::MongoMapper::Document
set_collection_name 'burden_runs'
key :name, String
key :success, Boolean
key :execution_time, Float
@@ -1,9 +1,10 @@
module RakeControl
module Burden
module Storage
module Mongoid
class Run
include ::Mongoid::Document
store_in collection: 'burden_runs'
field :name, type: String
field :success, type: Boolean
field :execution_time, type: Float
@@ -1,3 +1,3 @@
module RakeControl
module Burden
VERSION = '0.1.0'
end
@@ -1,4 +1,4 @@
module RakeControl
module Burden
class Wrapper
attr_reader :name, :description, :block, :success, :exception, :execution_time
@@ -42,7 +42,7 @@ module RakeControl
end
def ignored?
RakeControl.config.ignored_tasks.include?(name.to_sym)
Burden.config.ignored_tasks.include?(name.to_sym)
end
def save_statistics
@@ -1,7 +1,7 @@
require 'rails/generators'
require 'rails/generators/migration'
class RakeControlGenerator < Rails::Generators::Base
class BurdenGenerator < Rails::Generators::Base
include Rails::Generators::Migration
def self.source_root
@@ -17,6 +17,6 @@ class RakeControlGenerator < Rails::Generators::Base
end
def create_migration_file
migration_template 'create_rake_control_runs.rb', 'db/migrate/create_rake_control_runs.rb'
migration_template 'create_burden_runs.rb', 'db/migrate/create_burden_runs.rb'
end
end
@@ -1,6 +1,6 @@
class CreateRakeControlRuns < ActiveRecord::Migration
class CreateBurdenRuns < ActiveRecord::Migration
def self.up
create_table :rake_control_runs do |t|
create_table :burden_runs do |t|
t.string :name
t.boolean :success
t.float :execution_time
@@ -9,6 +9,6 @@ class CreateRakeControlRuns < ActiveRecord::Migration
end
def self.down
drop_table :rake_control_runs
drop_table :burden_runs
end
end
+1 -1
View File
@@ -3,7 +3,7 @@ module Rake
alias_method :original_execute, :execute
def execute(args)
RakeControl.wrap(name, comment) do
Burden.wrap(name, comment) do
original_execute(args)
end
end
-21
View File
@@ -1,21 +0,0 @@
module RakeControl
module Storage
def run
case RakeControl.config.storage
when :active_record, :activerecord
require 'rake_control/storage/active_record/run'
RakeControl::Storage::ActiveRecord::Run
when :mongoid
require 'rake_control/storage/mongoid/run'
RakeControl::Storage::Mongoid::Run
when :mongo_mapper, :mongomapper
require 'rake_control/storage/mongo_mapper/run'
RakeControl::Storage::MongoMapper::Run
else
raise Exception.new("Unknown storage: #{storage}")
end
end
extend self
end
end