Module: Command::Critic

Defined in:
lib/command-set/critic.rb

Defined Under Namespace

Classes: Task

Class Method Summary collapse

Class Method Details

.criticize(set, path = ["Main"]) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/command-set/critic.rb', line 45

def self.criticize(set, path = ["Main"])
  Kernel::describe "Command set: #{path.join(" ")}" do
    it_should_behave_like "A well written command set"
    before do
      @set = set
    end
  end

  set.command_list.each_pair do |name, cmd|
    if CommandSet === cmd
      Command::Spec::Critic.criticize(cmd, path + [name])
    else
      Kernel::describe "Command: #{path.join(" ")} #{name}" do
        it_should_behave_like "A well written command"
        before do
          @command = cmd
        end
      end
    end
  end
end