fudge 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/fudge.rb +1 -0
- data/lib/fudge/build.rb +8 -2
- data/lib/fudge/cli.rb +6 -1
- data/lib/fudge/description.rb +2 -0
- data/lib/fudge/exceptions.rb +8 -0
- data/lib/fudge/helpers.rb +1 -0
- data/lib/fudge/helpers/bundle_aware.rb +1 -0
- data/lib/fudge/runner.rb +6 -1
- data/lib/fudge/task_dsl.rb +2 -0
- data/lib/fudge/tasks.rb +2 -0
- data/lib/fudge/tasks/cane.rb +28 -0
- data/lib/fudge/tasks/clean_bundler_env.rb +1 -4
- data/lib/fudge/tasks/composite_task.rb +19 -5
- data/lib/fudge/tasks/each_directory.rb +16 -7
- data/lib/fudge/tasks/in_directory.rb +15 -6
- data/lib/fudge/tasks/rake.rb +1 -4
- data/lib/fudge/tasks/rspec.rb +12 -6
- data/lib/fudge/tasks/shell.rb +5 -4
- data/lib/fudge/tasks/task.rb +11 -2
- data/lib/fudge/tasks/yard.rb +15 -5
- data/lib/fudge/version.rb +2 -1
- data/spec/lib/fudge/description_spec.rb +27 -26
- data/spec/lib/fudge/tasks/cane_spec.rb +32 -0
- data/spec/lib/fudge/tasks/each_directory_spec.rb +2 -1
- data/spec/lib/fudge/tasks/rspec_spec.rb +2 -1
- data/spec/lib/fudge/tasks/shell_spec.rb +5 -1
- data/spec/lib/fudge/tasks/task_spec.rb +12 -0
- data/spec/lib/fudge/tasks/yard_spec.rb +6 -1
- data/spec/lib/fudge/tasks_spec.rb +2 -1
- data/spec/spec_helper.rb +7 -11
- data/spec/support/matchers.rb +40 -12
- data/spec/support/output.rb +9 -0
- metadata +39 -4
- data/lib/fudge/railtie.rb +0 -17
- data/lib/tasks/fudge.rake +0 -7
    
        data/lib/fudge.rb
    CHANGED
    
    
    
        data/lib/fudge/build.rb
    CHANGED
    
    | @@ -15,17 +15,23 @@ module Fudge | |
| 15 15 | 
             
                def run(options={})
         | 
| 16 16 | 
             
                  success = super
         | 
| 17 17 | 
             
                  if callbacks
         | 
| 18 | 
            -
                     | 
| 18 | 
            +
                    message "Running #{success ? 'success' : 'failure'} callbacks..."
         | 
| 19 19 | 
             
                    hooks = success ? @success_hooks : @failure_hooks
         | 
| 20 20 |  | 
| 21 21 | 
             
                    hooks.each do |hook|
         | 
| 22 22 | 
             
                      return false unless hook.run
         | 
| 23 23 | 
             
                    end
         | 
| 24 24 | 
             
                  else
         | 
| 25 | 
            -
                     | 
| 25 | 
            +
                    message "Skipping callbacks..."
         | 
| 26 26 | 
             
                  end
         | 
| 27 27 |  | 
| 28 28 | 
             
                  success
         | 
| 29 29 | 
             
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                private
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                def message(message)
         | 
| 34 | 
            +
                  puts message.foreground(:cyan).bright
         | 
| 35 | 
            +
                end
         | 
| 30 36 | 
             
              end
         | 
| 31 37 | 
             
            end
         | 
    
        data/lib/fudge/cli.rb
    CHANGED
    
    | @@ -1,8 +1,10 @@ | |
| 1 1 | 
             
            require 'thor'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Fudge
         | 
| 4 | 
            +
              # Fudge command line interface
         | 
| 4 5 | 
             
              class Cli < Thor
         | 
| 5 6 | 
             
                desc "init", "Initialize a blank Fudgefile"
         | 
| 7 | 
            +
                # Initalizes the blank Fudgefile
         | 
| 6 8 | 
             
                def init
         | 
| 7 9 | 
             
                  path = File.expand_path('Fudgefile', Dir.pwd)
         | 
| 8 10 |  | 
| @@ -19,8 +21,11 @@ RUBY | |
| 19 21 | 
             
                  end
         | 
| 20 22 | 
             
                end
         | 
| 21 23 |  | 
| 22 | 
            -
                desc "build [BUILD_NAME]", | 
| 24 | 
            +
                desc "build [BUILD_NAME]",
         | 
| 25 | 
            +
                  "Run a build with the given name (default: 'default')"
         | 
| 23 26 | 
             
                method_option :callbacks, :type => :boolean, :default => false
         | 
| 27 | 
            +
                # Runs the parsed builds
         | 
| 28 | 
            +
                # @param [String] build_name the given build to run (default 'default')
         | 
| 24 29 | 
             
                def build(build_name='default')
         | 
| 25 30 | 
             
                  description = Fudge::Parser.new.parse('Fudgefile')
         | 
| 26 31 | 
             
                  Fudge::Runner.new(description).run_build(build_name, options)
         | 
    
        data/lib/fudge/description.rb
    CHANGED
    
    | @@ -36,6 +36,7 @@ module Fudge | |
| 36 36 | 
             
                  end
         | 
| 37 37 | 
             
                end
         | 
| 38 38 |  | 
| 39 | 
            +
                # Add actions to be invoked upon success
         | 
| 39 40 | 
             
                def on_success
         | 
| 40 41 | 
             
                  task = Fudge::Tasks::CompositeTask.new
         | 
| 41 42 | 
             
                  current_scope.success_hooks << task
         | 
| @@ -43,6 +44,7 @@ module Fudge | |
| 43 44 | 
             
                  with_scope(task) { yield }
         | 
| 44 45 | 
             
                end
         | 
| 45 46 |  | 
| 47 | 
            +
                # Add actions to be invoked upon failure
         | 
| 46 48 | 
             
                def on_failure
         | 
| 47 49 | 
             
                  task = Fudge::Tasks::CompositeTask.new
         | 
| 48 50 | 
             
                  current_scope.failure_hooks << task
         | 
    
        data/lib/fudge/exceptions.rb
    CHANGED
    
    | @@ -1,28 +1,36 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 | 
            +
              # Errors encountered
         | 
| 2 3 | 
             
              module Exceptions
         | 
| 4 | 
            +
                # Base class for failures
         | 
| 3 5 | 
             
                class Base < StandardError; end
         | 
| 4 6 |  | 
| 7 | 
            +
                # Build failure error class
         | 
| 5 8 | 
             
                class BuildFailed < Base
         | 
| 9 | 
            +
                  # error message
         | 
| 6 10 | 
             
                  def message
         | 
| 7 11 | 
             
                    "Build FAILED!".foreground(:red).bright
         | 
| 8 12 | 
             
                  end
         | 
| 9 13 | 
             
                end
         | 
| 10 14 |  | 
| 15 | 
            +
                # Unknown task error class
         | 
| 11 16 | 
             
                class TaskNotFound < Base
         | 
| 12 17 | 
             
                  def initialize(task)
         | 
| 13 18 | 
             
                    @task = task
         | 
| 14 19 | 
             
                  end
         | 
| 15 20 |  | 
| 21 | 
            +
                  # error message
         | 
| 16 22 | 
             
                  def message
         | 
| 17 23 | 
             
                    "No task found with name '#{@task}'"
         | 
| 18 24 | 
             
                  end
         | 
| 19 25 | 
             
                end
         | 
| 20 26 |  | 
| 27 | 
            +
                # Unknown task group error class
         | 
| 21 28 | 
             
                class TaskGroupNotFound < Base
         | 
| 22 29 | 
             
                  def initialize(name)
         | 
| 23 30 | 
             
                    @name = name
         | 
| 24 31 | 
             
                  end
         | 
| 25 32 |  | 
| 33 | 
            +
                  # error message
         | 
| 26 34 | 
             
                  def message
         | 
| 27 35 | 
             
                    "No task group found with name '#{@name}'"
         | 
| 28 36 | 
             
                  end
         | 
    
        data/lib/fudge/helpers.rb
    CHANGED
    
    
    
        data/lib/fudge/runner.rb
    CHANGED
    
    | @@ -1,13 +1,18 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 | 
            +
              # Executes the build
         | 
| 2 3 | 
             
              class Runner
         | 
| 3 4 | 
             
                def initialize(description)
         | 
| 4 5 | 
             
                  @description = description
         | 
| 5 6 | 
             
                end
         | 
| 6 7 |  | 
| 8 | 
            +
                # Run the specified build
         | 
| 9 | 
            +
                #
         | 
| 10 | 
            +
                # @param [String] which_build Defaults to 'default'
         | 
| 7 11 | 
             
                def run_build(which_build='default', options={})
         | 
| 8 12 | 
             
                  which_build = String.new(which_build)
         | 
| 9 13 |  | 
| 10 | 
            -
                  puts "Running build ".foreground(:cyan) + | 
| 14 | 
            +
                  puts "Running build ".foreground(:cyan) +
         | 
| 15 | 
            +
                    which_build.bright.foreground(:yellow)
         | 
| 11 16 |  | 
| 12 17 | 
             
                  # Run the build
         | 
| 13 18 | 
             
                  build = @description.builds[which_build.to_sym]
         | 
    
        data/lib/fudge/task_dsl.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 | 
            +
              # Domain specific language for expressing Tasks in the Fudgefile
         | 
| 2 3 | 
             
              module TaskDSL
         | 
| 3 4 | 
             
                extend ActiveSupport::Concern
         | 
| 4 5 |  | 
| @@ -6,6 +7,7 @@ module Fudge | |
| 6 7 | 
             
                  attr_writer :scope
         | 
| 7 8 | 
             
                end
         | 
| 8 9 |  | 
| 10 | 
            +
                # Add self to the scope
         | 
| 9 11 | 
             
                def scope
         | 
| 10 12 | 
             
                  @scope ||= [self]
         | 
| 11 13 | 
             
                end
         | 
    
        data/lib/fudge/tasks.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 | 
            +
              # Define default tasks
         | 
| 2 3 | 
             
              module Tasks
         | 
| 3 4 | 
             
                # Registers a task under a given name
         | 
| 4 5 | 
             
                def self.register(task_class)
         | 
| @@ -27,5 +28,6 @@ module Fudge | |
| 27 28 | 
             
                require 'fudge/tasks/rake'
         | 
| 28 29 | 
             
                require 'fudge/tasks/rspec'
         | 
| 29 30 | 
             
                require 'fudge/tasks/yard'
         | 
| 31 | 
            +
                require 'fudge/tasks/cane'
         | 
| 30 32 | 
             
              end
         | 
| 31 33 | 
             
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            module Fudge
         | 
| 2 | 
            +
              module Tasks
         | 
| 3 | 
            +
                # Allow use of Cane complexity and style analyser
         | 
| 4 | 
            +
                class Cane < Shell
         | 
| 5 | 
            +
                  include Helpers::BundleAware
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  private
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def cmd(options={})
         | 
| 10 | 
            +
                    cmd = ["cane"] + tty_options
         | 
| 11 | 
            +
                    bundle_cmd(cmd.join(' '), options)
         | 
| 12 | 
            +
                  end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def check_for
         | 
| 15 | 
            +
                    /\A\Z/
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  def tty_options
         | 
| 19 | 
            +
                    args = []
         | 
| 20 | 
            +
                    args << "--no-doc"    unless options.fetch(:doc, true)
         | 
| 21 | 
            +
                    args << "--no-style"  unless options.fetch(:style, true)
         | 
| 22 | 
            +
                    args
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                register Cane
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| @@ -1,8 +1,10 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            +
                # Allow for tasks to be combined
         | 
| 3 4 | 
             
                class CompositeTask < Task
         | 
| 4 5 | 
             
                  attr_accessor :description
         | 
| 5 6 |  | 
| 7 | 
            +
                  # Define task array
         | 
| 6 8 | 
             
                  def tasks
         | 
| 7 9 | 
             
                    @tasks ||= []
         | 
| 8 10 | 
             
                  end
         | 
| @@ -10,15 +12,27 @@ module Fudge | |
| 10 12 | 
             
                  # Runs the task (by default running all other tasks in order)
         | 
| 11 13 | 
             
                  def run(options={})
         | 
| 12 14 | 
             
                    tasks.each do |t|
         | 
| 13 | 
            -
                       | 
| 14 | 
            -
             | 
| 15 | 
            -
                      puts "Running task ".foreground(:blue) +
         | 
| 16 | 
            -
                        t.class.name.to_s.foreground(:yellow).bright + ' ' +
         | 
| 17 | 
            -
                        args_text.foreground(:yellow).bright
         | 
| 15 | 
            +
                      output_message(t)
         | 
| 18 16 |  | 
| 19 17 | 
             
                      return unless t.run(options)
         | 
| 20 18 | 
             
                    end
         | 
| 21 19 | 
             
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  private
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  def join_arguments(t)
         | 
| 24 | 
            +
                    t.respond_to?(:args) && t.args ? t.args.join(', ') : ''
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  def output_message(t)
         | 
| 28 | 
            +
                      args_text = join_arguments(t)
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                      puts [
         | 
| 31 | 
            +
                        "Running task".foreground(:blue),
         | 
| 32 | 
            +
                        t.class.name.to_s.foreground(:yellow).bright,
         | 
| 33 | 
            +
                        args_text.foreground(:yellow).bright
         | 
| 34 | 
            +
                      ].join(' ')
         | 
| 35 | 
            +
                  end
         | 
| 22 36 | 
             
                end
         | 
| 23 37 | 
             
              end
         | 
| 24 38 | 
             
            end
         | 
| @@ -1,13 +1,10 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            -
                # A task which runs a number of other tasks in a given directory | 
| 3 | 
            +
                # A task which runs a number of other tasks in a given directory
         | 
| 4 | 
            +
                # (relative to the current directory)
         | 
| 4 5 | 
             
                class EachDirectory < CompositeTask
         | 
| 5 6 | 
             
                  attr_accessor :exclude
         | 
| 6 7 |  | 
| 7 | 
            -
                  def self.name
         | 
| 8 | 
            -
                    :each_directory
         | 
| 9 | 
            -
                  end
         | 
| 10 | 
            -
             | 
| 11 8 | 
             
                  def initialize(pattern, *args)
         | 
| 12 9 | 
             
                    super(*args)
         | 
| 13 10 |  | 
| @@ -15,18 +12,30 @@ module Fudge | |
| 15 12 | 
             
                  end
         | 
| 16 13 |  | 
| 17 14 | 
             
                  def run(options={})
         | 
| 18 | 
            -
                    # Allow either a string (usually "*") or an array of strings | 
| 15 | 
            +
                    # Allow either a string (usually "*") or an array of strings
         | 
| 16 | 
            +
                    # with directories
         | 
| 19 17 | 
             
                    redir = @pattern.kind_of?(String) ? Dir[@pattern] : Dir[*@pattern]
         | 
| 20 18 |  | 
| 21 19 | 
             
                    redir.select { |path| File.directory? path }.each do |dir|
         | 
| 22 20 | 
             
                      next if exclude && exclude.include?(dir)
         | 
| 23 21 |  | 
| 24 22 | 
             
                      Dir.chdir dir do
         | 
| 25 | 
            -
                         | 
| 23 | 
            +
                        output_dir(dir)
         | 
| 24 | 
            +
             | 
| 26 25 | 
             
                        return false unless super
         | 
| 27 26 | 
             
                      end
         | 
| 28 27 | 
             
                    end
         | 
| 29 28 | 
             
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  private
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  def output_dir(dir)
         | 
| 33 | 
            +
                    message = ""
         | 
| 34 | 
            +
                    message << "--> In directory".foreground(:cyan)
         | 
| 35 | 
            +
                    message << " #{dir}:".foreground(:cyan).bright
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                    puts message
         | 
| 38 | 
            +
                  end
         | 
| 30 39 | 
             
                end
         | 
| 31 40 |  | 
| 32 41 | 
             
                register EachDirectory
         | 
| @@ -1,22 +1,31 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            -
                # A task which runs a number of other tasks in a given | 
| 3 | 
            +
                # A task which runs a number of other tasks in a given
         | 
| 4 | 
            +
                # directory (relative to the current directory)
         | 
| 4 5 | 
             
                class InDirectory < CompositeTask
         | 
| 5 | 
            -
                  def self.name
         | 
| 6 | 
            -
                    :in_directory
         | 
| 7 | 
            -
                  end
         | 
| 8 | 
            -
             | 
| 9 6 | 
             
                  def initialize(directory, *args)
         | 
| 10 7 | 
             
                    super
         | 
| 8 | 
            +
             | 
| 11 9 | 
             
                    @directory = directory
         | 
| 12 10 | 
             
                  end
         | 
| 13 11 |  | 
| 14 12 | 
             
                  def run(options={})
         | 
| 15 13 | 
             
                    Dir.chdir @directory do
         | 
| 16 | 
            -
                       | 
| 14 | 
            +
                      output_dir(@directory)
         | 
| 15 | 
            +
             | 
| 17 16 | 
             
                      super
         | 
| 18 17 | 
             
                    end
         | 
| 19 18 | 
             
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  private
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  def output_dir(dir)
         | 
| 23 | 
            +
                    message = ""
         | 
| 24 | 
            +
                    message << "--> In directory".foreground(:cyan)
         | 
| 25 | 
            +
                    message << " #{dir}:".foreground(:cyan).bright
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                    puts message
         | 
| 28 | 
            +
                  end
         | 
| 20 29 | 
             
                end
         | 
| 21 30 |  | 
| 22 31 | 
             
                register InDirectory
         | 
    
        data/lib/fudge/tasks/rake.rb
    CHANGED
    
    
    
        data/lib/fudge/tasks/rspec.rb
    CHANGED
    
    | @@ -1,27 +1,33 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            +
                # Allow use of RSpec as a task
         | 
| 3 4 | 
             
                class Rspec < Shell
         | 
| 4 5 | 
             
                  include Helpers::BundleAware
         | 
| 5 6 |  | 
| 6 7 | 
             
                  attr_accessor :color, :coverage
         | 
| 7 8 |  | 
| 8 | 
            -
                  def self.name
         | 
| 9 | 
            -
                    :rspec
         | 
| 10 | 
            -
                  end
         | 
| 11 | 
            -
             | 
| 12 9 | 
             
                  private
         | 
| 10 | 
            +
             | 
| 13 11 | 
             
                  def cmd(options={})
         | 
| 14 12 | 
             
                    self.arguments = 'spec/' if arguments.blank?
         | 
| 15 | 
            -
                    bundle_cmd("rspec#{ | 
| 13 | 
            +
                    bundle_cmd("rspec#{tty_options} #{arguments}", options)
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def tty_options
         | 
| 17 | 
            +
                    ' --tty' unless color == false
         | 
| 16 18 | 
             
                  end
         | 
| 17 19 |  | 
| 18 20 | 
             
                  def check_for
         | 
| 19 21 | 
             
                    if coverage
         | 
| 20 | 
            -
                      [/(\d+\.\d+)%\) covered/,  | 
| 22 | 
            +
                      [/(\d+\.\d+)%\) covered/, method(:coverage_checker)]
         | 
| 21 23 | 
             
                    else
         | 
| 22 24 | 
             
                      super
         | 
| 23 25 | 
             
                    end
         | 
| 24 26 | 
             
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  def coverage_checker(matches)
         | 
| 29 | 
            +
                    matches[1].to_f >= coverage ? true : 'Insufficient Coverage.'
         | 
| 30 | 
            +
                  end
         | 
| 25 31 | 
             
                end
         | 
| 26 32 |  | 
| 27 33 | 
             
                register Rspec
         | 
    
        data/lib/fudge/tasks/shell.rb
    CHANGED
    
    | @@ -1,18 +1,19 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            +
                # Allow use of shell commands as tasks
         | 
| 3 4 | 
             
                class Shell < Task
         | 
| 4 5 | 
             
                  attr_accessor :arguments, :check_for
         | 
| 5 6 |  | 
| 6 | 
            -
                  def self.name
         | 
| 7 | 
            -
                    :shell
         | 
| 8 | 
            -
                  end
         | 
| 9 | 
            -
             | 
| 10 7 | 
             
                  def initialize(*args)
         | 
| 11 8 | 
             
                    self.arguments = super.join(' ')
         | 
| 12 9 | 
             
                  end
         | 
| 13 10 |  | 
| 11 | 
            +
                  # Execute the shell command
         | 
| 12 | 
            +
                  #
         | 
| 13 | 
            +
                  # @param [Hash] options Any options to pass to the shell
         | 
| 14 14 | 
             
                  def run(options={})
         | 
| 15 15 | 
             
                    @output, success = run_command(cmd(options))
         | 
| 16 | 
            +
             | 
| 16 17 | 
             
                    return false unless success
         | 
| 17 18 | 
             
                    return check_for_output
         | 
| 18 19 | 
             
                  end
         | 
    
        data/lib/fudge/tasks/task.rb
    CHANGED
    
    | @@ -1,11 +1,20 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            +
                # Implementation of base Task
         | 
| 3 4 | 
             
                class Task
         | 
| 4 | 
            -
                  attr_reader :args
         | 
| 5 | 
            +
                  attr_reader :args, :options
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  # Default name derived from class name.
         | 
| 8 | 
            +
                  # Can be overriden by specific tasks.
         | 
| 9 | 
            +
                  #
         | 
| 10 | 
            +
                  # @return [Symbol]
         | 
| 11 | 
            +
                  def self.name
         | 
| 12 | 
            +
                    super.demodulize.underscore.downcase.to_sym
         | 
| 13 | 
            +
                  end
         | 
| 5 14 |  | 
| 6 15 | 
             
                  def initialize(*args)
         | 
| 7 16 | 
             
                    @args = args.dup
         | 
| 8 | 
            -
                    options = args.extract_options!
         | 
| 17 | 
            +
                    @options = args.extract_options!
         | 
| 9 18 |  | 
| 10 19 | 
             
                    options.each do |k,v|
         | 
| 11 20 | 
             
                      send("#{k}=", v) if respond_to?("#{k}=")
         | 
    
        data/lib/fudge/tasks/yard.rb
    CHANGED
    
    | @@ -1,27 +1,37 @@ | |
| 1 1 | 
             
            module Fudge
         | 
| 2 2 | 
             
              module Tasks
         | 
| 3 | 
            +
                # Allow use of Yard as a supported task
         | 
| 3 4 | 
             
                class Yard < Shell
         | 
| 4 5 | 
             
                  include Helpers::BundleAware
         | 
| 5 6 |  | 
| 6 7 | 
             
                  attr_accessor :coverage
         | 
| 7 8 |  | 
| 8 | 
            -
                  def self.name
         | 
| 9 | 
            -
                    :yard
         | 
| 10 | 
            -
                  end
         | 
| 11 | 
            -
             | 
| 12 9 | 
             
                  private
         | 
| 13 10 |  | 
| 14 11 | 
             
                  def cmd(options={})
         | 
| 15 12 | 
             
                    bundle_cmd("yard #{arguments}", options)
         | 
| 16 13 | 
             
                  end
         | 
| 17 14 |  | 
| 15 | 
            +
                  def arguments
         | 
| 16 | 
            +
                    args = super
         | 
| 17 | 
            +
                    if args.empty?
         | 
| 18 | 
            +
                      "stats --list-undoc"
         | 
| 19 | 
            +
                    else
         | 
| 20 | 
            +
                      args
         | 
| 21 | 
            +
                    end
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 18 24 | 
             
                  def check_for
         | 
| 19 25 | 
             
                    if coverage
         | 
| 20 | 
            -
                      [/(\d+\.\d+)% documented/,  | 
| 26 | 
            +
                      [/(\d+\.\d+)% documented/, method(:coverage_checker)]
         | 
| 21 27 | 
             
                    else
         | 
| 22 28 | 
             
                      super
         | 
| 23 29 | 
             
                    end
         | 
| 24 30 | 
             
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  def coverage_checker(matches)
         | 
| 33 | 
            +
                    matches[1].to_f >= coverage ? true : 'Insufficient Documentation.'
         | 
| 34 | 
            +
                  end
         | 
| 25 35 | 
             
                end
         | 
| 26 36 |  | 
| 27 37 | 
             
                register Yard
         | 
    
        data/lib/fudge/version.rb
    CHANGED
    
    
| @@ -63,7 +63,7 @@ describe Fudge::Description do | |
| 63 63 | 
             
                end
         | 
| 64 64 |  | 
| 65 65 | 
             
                it "should super method_missing if no task found" do
         | 
| 66 | 
            -
                  expect { subject. | 
| 66 | 
            +
                  expect { subject.no_task :foo, :bar }.to raise_error(NoMethodError)
         | 
| 67 67 | 
             
                end
         | 
| 68 68 |  | 
| 69 69 | 
             
                it "should add tasks recursively to composite tasks" do
         | 
| @@ -112,39 +112,40 @@ describe Fudge::Description do | |
| 112 112 | 
             
                  end.to raise_error Fudge::Exceptions::TaskGroupNotFound
         | 
| 113 113 | 
             
                end
         | 
| 114 114 |  | 
| 115 | 
            -
                 | 
| 116 | 
            -
                   | 
| 117 | 
            -
                    subject. | 
| 118 | 
            -
             | 
| 119 | 
            -
             | 
| 120 | 
            -
                  subject.build :default do
         | 
| 121 | 
            -
                    subject.task :dummy_composite do
         | 
| 122 | 
            -
                      subject.task_group :group1
         | 
| 115 | 
            +
                context "grouped tasks" do
         | 
| 116 | 
            +
                  before :each do
         | 
| 117 | 
            +
                    subject.task_group :group1 do
         | 
| 118 | 
            +
                      subject.task :dummy
         | 
| 123 119 | 
             
                    end
         | 
| 124 120 | 
             
                  end
         | 
| 125 121 |  | 
| 126 | 
            -
                   | 
| 127 | 
            -
             | 
| 128 | 
            -
             | 
| 122 | 
            +
                  it "allows group task reuse in composite tasks" do
         | 
| 123 | 
            +
                    subject.build :default do
         | 
| 124 | 
            +
                      subject.task :dummy_composite do
         | 
| 125 | 
            +
                        subject.task_group :group1
         | 
| 126 | 
            +
                      end
         | 
| 127 | 
            +
                    end
         | 
| 129 128 |  | 
| 130 | 
            -
             | 
| 131 | 
            -
             | 
| 132 | 
            -
                    subject.task :dummy
         | 
| 129 | 
            +
                    subject.builds[:default].run
         | 
| 130 | 
            +
                    DummyTask.ran.should be_true
         | 
| 133 131 | 
             
                  end
         | 
| 134 132 |  | 
| 135 | 
            -
                   | 
| 136 | 
            -
                    subject. | 
| 137 | 
            -
                      subject. | 
| 133 | 
            +
                  it "supports when options are given" do
         | 
| 134 | 
            +
                    subject.build :default do
         | 
| 135 | 
            +
                      subject.task :dummy_composite, :hello, :foobar => true do
         | 
| 136 | 
            +
                        subject.task_group :group1
         | 
| 137 | 
            +
                      end
         | 
| 138 138 | 
             
                    end
         | 
| 139 | 
            -
                  end
         | 
| 140 139 |  | 
| 141 | 
            -
             | 
| 140 | 
            +
                    subject.builds[:default].run
         | 
| 142 141 |  | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 142 | 
            +
                    # Check that the options are maintained through the call
         | 
| 143 | 
            +
                    build_tasks.first.args.should have(2).items
         | 
| 144 | 
            +
                    build_tasks.first.args[1][:foobar].should be_true
         | 
| 145 | 
            +
                    DummyTask.ran.should be_true
         | 
| 146 | 
            +
                  end
         | 
| 147 147 | 
             
                end
         | 
| 148 | 
            +
             | 
| 148 149 | 
             
              end
         | 
| 149 150 |  | 
| 150 151 | 
             
              describe "Callback Hooks" do
         | 
| @@ -170,7 +171,7 @@ describe Fudge::Description do | |
| 170 171 | 
             
                      @ran.should == ['FOO', 'BAR']
         | 
| 171 172 | 
             
                    end
         | 
| 172 173 |  | 
| 173 | 
            -
                    it " | 
| 174 | 
            +
                    it "fails the build HARD when hooks fail" do
         | 
| 174 175 | 
             
                      make_build do
         | 
| 175 176 | 
             
                        subject.on_success { subject.shell 'fail'; subject.shell 'FOO' }
         | 
| 176 177 | 
             
                        subject.on_success { subject.shell 'BAR' }
         | 
| @@ -213,7 +214,7 @@ describe Fudge::Description do | |
| 213 214 | 
             
                      @ran.should == ['WOOP', 'BAR']
         | 
| 214 215 | 
             
                    end
         | 
| 215 216 |  | 
| 216 | 
            -
                    it " | 
| 217 | 
            +
                    it "fails the build HARD when hooks fail" do
         | 
| 217 218 | 
             
                      make_build do
         | 
| 218 219 | 
             
                        subject.on_failure { subject.shell 'fail'; subject.shell 'FOO' }
         | 
| 219 220 | 
             
                        subject.on_failure { subject.shell 'BAR' }
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Fudge::Tasks::Cane do
         | 
| 4 | 
            +
              it { should be_registered_as :cane }
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              it_should_behave_like 'bundle aware'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              describe :run do
         | 
| 9 | 
            +
                it "runs cane on the codebase" do
         | 
| 10 | 
            +
                  subject.should run_command "cane"
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                context 'with :doc => false' do
         | 
| 14 | 
            +
                  subject {described_class.new :doc => false }
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  it "runs with --no-doc" do
         | 
| 17 | 
            +
                    subject.should run_command "cane --no-doc"
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                context 'with :style => false' do
         | 
| 22 | 
            +
                  subject {described_class.new :style => false }
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  it "runs with --no-style" do
         | 
| 25 | 
            +
                    subject.should run_command "cane --no-style"
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                it { should_not succeed_with_output 'any output from cane is bad' }
         | 
| 30 | 
            +
                it { should succeed_with_output '' }
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
            end
         | 
| @@ -25,7 +25,8 @@ describe Fudge::Tasks::EachDirectory do | |
| 25 25 | 
             
              describe :run do
         | 
| 26 26 | 
             
                let(:task) { TestEachDirectoryTask.new }
         | 
| 27 27 | 
             
                let(:dirs) do
         | 
| 28 | 
            -
                  Dir[File.expand_path('../../../../*', __FILE__)] | 
| 28 | 
            +
                  files = Dir[File.expand_path('../../../../*', __FILE__)]
         | 
| 29 | 
            +
                  files.select { |path| File.directory? path }
         | 
| 29 30 | 
             
                end
         | 
| 30 31 |  | 
| 31 32 | 
             
                before :each do
         | 
| @@ -13,7 +13,8 @@ describe Fudge::Tasks::Rspec do | |
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                it "should append any arguments passed in" do
         | 
| 16 | 
            -
                  described_class.new('foobar', :color => false) | 
| 16 | 
            +
                  task = described_class.new('foobar', :color => false)
         | 
| 17 | 
            +
                  task.should run_command 'rspec foobar'
         | 
| 17 18 | 
             
                end
         | 
| 18 19 |  | 
| 19 20 | 
             
                it "should default the arguments to spec/" do
         | 
| @@ -28,7 +28,11 @@ describe Fudge::Tasks::Shell do | |
| 28 28 | 
             
                end
         | 
| 29 29 |  | 
| 30 30 | 
             
                context "with a callable to check the matches" do
         | 
| 31 | 
            -
                   | 
| 31 | 
            +
                  let(:file_count_matcher) { lambda { |matches| matches[1].to_i >= 4 }}
         | 
| 32 | 
            +
                  subject do
         | 
| 33 | 
            +
                    described_class.new :ls,
         | 
| 34 | 
            +
                      :check_for => [/(\d+) files found/, file_count_matcher]
         | 
| 35 | 
            +
                  end
         | 
| 32 36 |  | 
| 33 37 | 
             
                  it { should_not succeed_with_output "Hello there were 3 files found." }
         | 
| 34 38 | 
             
                  it { should succeed_with_output "Hello there were 4 files found." }
         | 
| @@ -4,11 +4,23 @@ class MyTask < Fudge::Tasks::Task | |
| 4 4 | 
             
              attr_accessor :blabla
         | 
| 5 5 | 
             
            end
         | 
| 6 6 |  | 
| 7 | 
            +
            class TestNamespace
         | 
| 8 | 
            +
              class SomeTask < Fudge::Tasks::Task
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
            end
         | 
| 11 | 
            +
             | 
| 7 12 | 
             
            describe Fudge::Tasks::Task do
         | 
| 8 13 | 
             
              describe :initialize do
         | 
| 9 14 | 
             
                it "should accepts options and set them" do
         | 
| 10 15 | 
             
                  task = MyTask.new :blabla => 'foo'
         | 
| 16 | 
            +
             | 
| 11 17 | 
             
                  task.blabla.should == 'foo'
         | 
| 12 18 | 
             
                end
         | 
| 13 19 | 
             
              end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              describe :name do
         | 
| 22 | 
            +
                it "should default to implied name from class name" do
         | 
| 23 | 
            +
                  TestNamespace::SomeTask.name.should == :some_task
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 14 26 | 
             
            end
         | 
| @@ -6,8 +6,13 @@ describe Fudge::Tasks::Yard do | |
| 6 6 | 
             
              it { should be_registered_as :yard }
         | 
| 7 7 |  | 
| 8 8 | 
             
              describe :run do
         | 
| 9 | 
            +
                it "runs stats with undocumented by default" do
         | 
| 10 | 
            +
                  subject.should run_command 'yard stats --list-undoc'
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 9 13 | 
             
                it "should run yard with any arguments passed in" do
         | 
| 10 | 
            -
                  described_class.new('-r YardREADME.md') | 
| 14 | 
            +
                  task = described_class.new('-r YardREADME.md')
         | 
| 15 | 
            +
                  task.should run_command 'yard -r YardREADME.md'
         | 
| 11 16 | 
             
                end
         | 
| 12 17 | 
             
              end
         | 
| 13 18 |  | 
| @@ -26,7 +26,8 @@ describe Fudge::Tasks do | |
| 26 26 | 
             
                  end
         | 
| 27 27 |  | 
| 28 28 | 
             
                  it "should raise an exception if the task is not found" do
         | 
| 29 | 
            -
                     | 
| 29 | 
            +
                    no_task_error = Fudge::Exceptions::TaskNotFound
         | 
| 30 | 
            +
                    expect { subject.discover(:something) }.to raise_error no_task_error
         | 
| 30 31 | 
             
                  end
         | 
| 31 32 | 
             
                end
         | 
| 32 33 | 
             
              end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -9,14 +9,10 @@ require 'fudge' | |
| 9 9 | 
             
            Dir[File.expand_path('../../spec/support/*', __FILE__)].each { |f| require f }
         | 
| 10 10 |  | 
| 11 11 | 
             
            # Get rid of output in specs
         | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
            #     $stdout = @oldstdout
         | 
| 20 | 
            -
            #     $stderr = @oldstderr
         | 
| 21 | 
            -
            #   end
         | 
| 22 | 
            -
            # end
         | 
| 12 | 
            +
            RSpec.configure do |c|
         | 
| 13 | 
            +
              c.around :each do |example|
         | 
| 14 | 
            +
                hide_stdout do
         | 
| 15 | 
            +
                  example.run
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
    
        data/spec/support/matchers.rb
    CHANGED
    
    | @@ -4,26 +4,54 @@ RSpec::Matchers.define :be_registered_as do |key| | |
| 4 4 | 
             
              end
         | 
| 5 5 | 
             
            end
         | 
| 6 6 |  | 
| 7 | 
            -
            RSpec::Matchers.define :run_command do |to_match, args|
         | 
| 8 | 
            -
              match do |subject|
         | 
| 9 | 
            -
                ran = ''
         | 
| 10 | 
            -
                to_stub = subject.is_a?(Fudge::Tasks::Shell) ? subject : Fudge::Tasks::Shell.any_instance
         | 
| 11 7 |  | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 8 | 
            +
            module FudgeMatchers
         | 
| 9 | 
            +
              class Run
         | 
| 10 | 
            +
                attr_reader :args, :expected, :task
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def initialize(expected, args={})
         | 
| 13 | 
            +
                  @expected = expected
         | 
| 14 | 
            +
                  @args = args
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 | 
            -
                 | 
| 17 | 
            +
                def matches?(task)
         | 
| 18 | 
            +
                  @task = task
         | 
| 19 | 
            +
                  ran = ''
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  if task.is_a?(Fudge::Tasks::Shell)
         | 
| 22 | 
            +
                    to_stub = task
         | 
| 23 | 
            +
                  else
         | 
| 24 | 
            +
                    to_stub = Fudge::Tasks::Shell.any_instance
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  to_stub.stub(:run_command) do |cmd|
         | 
| 28 | 
            +
                    ran = cmd
         | 
| 29 | 
            +
                    ['dummy output', true]
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  task.run(args || {})
         | 
| 18 33 |  | 
| 19 | 
            -
             | 
| 20 | 
            -
                   | 
| 21 | 
            -
             | 
| 22 | 
            -
                   | 
| 34 | 
            +
                  @actual = ran
         | 
| 35 | 
            +
                  if expected.is_a? Regexp
         | 
| 36 | 
            +
                    ran =~ expected
         | 
| 37 | 
            +
                  else
         | 
| 38 | 
            +
                    ran == expected
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                def failure_message_for_should
         | 
| 43 | 
            +
                  message = ""
         | 
| 44 | 
            +
                  message << "Expected task :#{@task.class.name} "
         | 
| 45 | 
            +
                  message << "to run:\n  #{@expected}\n"
         | 
| 46 | 
            +
                  message << "but it ran:\n  #{@actual}"
         | 
| 23 47 | 
             
                end
         | 
| 24 48 | 
             
              end
         | 
| 25 49 | 
             
            end
         | 
| 26 50 |  | 
| 51 | 
            +
            def run_command(cmd, options={})
         | 
| 52 | 
            +
              FudgeMatchers::Run.new cmd, options
         | 
| 53 | 
            +
            end
         | 
| 54 | 
            +
             | 
| 27 55 | 
             
            RSpec::Matchers.define :succeed_with_output do |output|
         | 
| 28 56 | 
             
              match do |subject|
         | 
| 29 57 | 
             
                subject.stub(:run_command).and_return([output, true])
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fudge
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-10- | 
| 12 | 
            +
            date: 2012-10-24 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: thor
         | 
| @@ -59,6 +59,22 @@ dependencies: | |
| 59 59 | 
             
                - - ! '>='
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 61 | 
             
                    version: '0'
         | 
| 62 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 63 | 
            +
              name: redcarpet
         | 
| 64 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                none: false
         | 
| 66 | 
            +
                requirements:
         | 
| 67 | 
            +
                - - ! '>='
         | 
| 68 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 69 | 
            +
                    version: '0'
         | 
| 70 | 
            +
              type: :development
         | 
| 71 | 
            +
              prerelease: false
         | 
| 72 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 | 
            +
                none: false
         | 
| 74 | 
            +
                requirements:
         | 
| 75 | 
            +
                - - ! '>='
         | 
| 76 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 77 | 
            +
                    version: '0'
         | 
| 62 78 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 79 | 
             
              name: rspec
         | 
| 64 80 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -107,6 +123,22 @@ dependencies: | |
| 107 123 | 
             
                - - ! '>='
         | 
| 108 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 109 125 | 
             
                    version: '0'
         | 
| 126 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 127 | 
            +
              name: cane
         | 
| 128 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 129 | 
            +
                none: false
         | 
| 130 | 
            +
                requirements:
         | 
| 131 | 
            +
                - - ! '>='
         | 
| 132 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 133 | 
            +
                    version: '0'
         | 
| 134 | 
            +
              type: :development
         | 
| 135 | 
            +
              prerelease: false
         | 
| 136 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 137 | 
            +
                none: false
         | 
| 138 | 
            +
                requirements:
         | 
| 139 | 
            +
                - - ! '>='
         | 
| 140 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 141 | 
            +
                    version: '0'
         | 
| 110 142 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 111 143 | 
             
              name: RedCloth
         | 
| 112 144 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -213,7 +245,6 @@ files: | |
| 213 245 | 
             
            - lib/fudge.rb
         | 
| 214 246 | 
             
            - lib/fudge/tasks.rb
         | 
| 215 247 | 
             
            - lib/fudge/helpers/bundle_aware.rb
         | 
| 216 | 
            -
            - lib/fudge/railtie.rb
         | 
| 217 248 | 
             
            - lib/fudge/cli.rb
         | 
| 218 249 | 
             
            - lib/fudge/parser.rb
         | 
| 219 250 | 
             
            - lib/fudge/version.rb
         | 
| @@ -224,6 +255,7 @@ files: | |
| 224 255 | 
             
            - lib/fudge/tasks/yard.rb
         | 
| 225 256 | 
             
            - lib/fudge/tasks/rspec.rb
         | 
| 226 257 | 
             
            - lib/fudge/tasks/in_directory.rb
         | 
| 258 | 
            +
            - lib/fudge/tasks/cane.rb
         | 
| 227 259 | 
             
            - lib/fudge/tasks/composite_task.rb
         | 
| 228 260 | 
             
            - lib/fudge/tasks/shell.rb
         | 
| 229 261 | 
             
            - lib/fudge/tasks/rake.rb
         | 
| @@ -232,7 +264,6 @@ files: | |
| 232 264 | 
             
            - lib/fudge/build.rb
         | 
| 233 265 | 
             
            - lib/fudge/description.rb
         | 
| 234 266 | 
             
            - lib/fudge/task_dsl.rb
         | 
| 235 | 
            -
            - lib/tasks/fudge.rake
         | 
| 236 267 | 
             
            - spec/lib/fudge/description_spec.rb
         | 
| 237 268 | 
             
            - spec/lib/fudge/build_spec.rb
         | 
| 238 269 | 
             
            - spec/lib/fudge/parser_spec.rb
         | 
| @@ -243,12 +274,14 @@ files: | |
| 243 274 | 
             
            - spec/lib/fudge/tasks/each_directory_spec.rb
         | 
| 244 275 | 
             
            - spec/lib/fudge/tasks/yard_spec.rb
         | 
| 245 276 | 
             
            - spec/lib/fudge/tasks/in_directory_spec.rb
         | 
| 277 | 
            +
            - spec/lib/fudge/tasks/cane_spec.rb
         | 
| 246 278 | 
             
            - spec/lib/fudge/tasks/task_spec.rb
         | 
| 247 279 | 
             
            - spec/lib/fudge/tasks/rspec_spec.rb
         | 
| 248 280 | 
             
            - spec/lib/fudge/tasks/bundler_spec.rb
         | 
| 249 281 | 
             
            - spec/lib/fudge/tasks/shell_spec.rb
         | 
| 250 282 | 
             
            - spec/lib/fudge/cli_spec.rb
         | 
| 251 283 | 
             
            - spec/lib/fudge/exceptions_spec.rb
         | 
| 284 | 
            +
            - spec/support/output.rb
         | 
| 252 285 | 
             
            - spec/support/dummy_task.rb
         | 
| 253 286 | 
             
            - spec/support/matchers.rb
         | 
| 254 287 | 
             
            - spec/support/tmpdir.rb
         | 
| @@ -289,12 +322,14 @@ test_files: | |
| 289 322 | 
             
            - spec/lib/fudge/tasks/each_directory_spec.rb
         | 
| 290 323 | 
             
            - spec/lib/fudge/tasks/yard_spec.rb
         | 
| 291 324 | 
             
            - spec/lib/fudge/tasks/in_directory_spec.rb
         | 
| 325 | 
            +
            - spec/lib/fudge/tasks/cane_spec.rb
         | 
| 292 326 | 
             
            - spec/lib/fudge/tasks/task_spec.rb
         | 
| 293 327 | 
             
            - spec/lib/fudge/tasks/rspec_spec.rb
         | 
| 294 328 | 
             
            - spec/lib/fudge/tasks/bundler_spec.rb
         | 
| 295 329 | 
             
            - spec/lib/fudge/tasks/shell_spec.rb
         | 
| 296 330 | 
             
            - spec/lib/fudge/cli_spec.rb
         | 
| 297 331 | 
             
            - spec/lib/fudge/exceptions_spec.rb
         | 
| 332 | 
            +
            - spec/support/output.rb
         | 
| 298 333 | 
             
            - spec/support/dummy_task.rb
         | 
| 299 334 | 
             
            - spec/support/matchers.rb
         | 
| 300 335 | 
             
            - spec/support/tmpdir.rb
         | 
    
        data/lib/fudge/railtie.rb
    DELETED
    
    | @@ -1,17 +0,0 @@ | |
| 1 | 
            -
            require 'rails'
         | 
| 2 | 
            -
            require 'fudge'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module Fudge
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              # Adds behaviours to Rails
         | 
| 7 | 
            -
              class Railtie < Rails::Railtie
         | 
| 8 | 
            -
                railtie_name :fudge
         | 
| 9 | 
            -
                rake_tasks do
         | 
| 10 | 
            -
                  begin
         | 
| 11 | 
            -
                    
         | 
| 12 | 
            -
                    Dir[ File.join(File.dirname(__FILE__), '../tasks/*.rake')] .each { |f| load f }  #Load static tasks
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                  end
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
            end
         |