Class: SpecFileGenerator::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/spec_file_generator/runner.rb

Instance Method Summary collapse

Instance Method Details

#optsObject

rubocop:disable Metrics/MethodLength



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/spec_file_generator/runner.rb', line 15

def opts
  Slop.parse do |o|
    o.string "-s", "--source", "source file for which spec should be generated", required: true
    o.string "-p", "--place-into", "directory path where generated spec file needs to be placed"
    o.on "-v", "--version", "print the version" do
      puts SpecFileGenerator::VERSION
      exit
    end

    o.on "-h", "--help", "print help message" do
      puts "        Usage: spec_file_generator [flags]\n\n        Generates spec test for a ruby class for specified source file.\n\n        Flags:\n\n          -s, --source (required) source file for which spec should be generated\n          -p, --place-into        directory path where generated spec file needs to be placed\n          -v, --version           output the version number\n          -h, --help              output usage information\n      USAGE\n      exit\n    end\n  end\n  # rubocop:enable Metrics/MethodLength\nend\n"

#runObject



7
8
9
10
11
12
# File 'lib/spec_file_generator/runner.rb', line 7

def run
  config = OpenStruct.new(opts.to_hash.slice(:place_into))
  SpecFileGenerator::Core.call(opts[:source], config)
rescue Slop::MissingRequiredOption => e
  TTY::Logger.new.error "Please provide all required arguments: #{e}"
end