Module: Edfize

Defined in:
lib/edfize.rb,
lib/edfize/edf.rb,
lib/edfize/tests.rb,
lib/edfize/signal.rb,
lib/edfize/version.rb,
lib/edfize/tests/result.rb,
lib/edfize/tests/runner.rb,
lib/edfize/tests/check_length.rb,
lib/edfize/tests/check_reserved_area.rb,
lib/edfize/tests/check_reserved_signal_areas.rb

Defined Under Namespace

Modules: Tests, VERSION Classes: Edf, Signal

Class Method Summary collapse

Class Method Details

.check(argv) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/edfize.rb', line 34

def self.check(argv)
  test_start_time = Time.now
  edf_count = edfs_in_current_directory_and_subdirectories.count
  test_count = 0
  failure_count = 0
  puts "Started\n"
  edfs_in_current_directory_and_subdirectories.each do |edf_file_name|
    edf = Edfize::Edf.new(edf_file_name)
    runner = Edfize::Tests::Runner.new(edf, argv)
    runner.run_tests
    test_count += runner.tests_run
    failure_count += runner.tests_failed
  end
  puts "\nFinished in #{Time.now - test_start_time}s"
  puts "#{edf_count} EDF#{'s' unless edf_count == 1}, #{test_count} test#{'s' unless test_count == 1}, " + "#{failure_count} failure#{'s' unless failure_count == 1}".colorize( failure_count == 0 ? :green : :red )
end

.edfs_in_current_directory_and_subdirectoriesObject



70
71
72
# File 'lib/edfize.rb', line 70

def self.edfs_in_current_directory_and_subdirectories
  Dir.glob('**/*.edf')
end

.helpObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/edfize.rb', line 51

def self.help
  help_message = <<-EOT
Usage: edfize COMMAND [ARGS]

The most common edfize commands are:
[t]est            Check EDFs in directory and subdirectories
  --failing       Only display failing tests
  --quiet         Suppress failing test descriptions
[r]un             Print EDF header information
[h]elp            Show edfize command documentation
[v]ersion         Returns the version of Edfize

Commands can be referenced by the first letter:
Ex: `edfize t`, for test

EOT
  puts help_message
end

.launch(argv) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/edfize.rb', line 8

def self.launch(argv)
  case argv.first.to_s.scan(/\w/).first
  when 'v'
    version
  when 'c', 't'
    check(argv[1..-1])
  when 'r'
    print_headers
  else
    help
  end
end


21
22
23
24
25
26
27
28
# File 'lib/edfize.rb', line 21

def self.print_headers
  puts "----------------"
  edfs_in_current_directory_and_subdirectories.each do |edf_file_name|
    edf = Edfize::Edf.new(edf_file_name)
    edf.print_header
    puts "----------------"
  end
end

.versionObject



30
31
32
# File 'lib/edfize.rb', line 30

def self.version
  puts "Edfize #{Edfize::VERSION::STRING}"
end