Class: Cucumber::Cli::ProfileLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/cli/profile_loader.rb

Instance Method Summary collapse

Constructor Details

#initializeProfileLoader

Returns a new instance of ProfileLoader.



9
10
11
# File 'lib/cucumber/cli/profile_loader.rb', line 9

def initialize
  @cucumber_yml = nil
end

Instance Method Details

#args_from(profile) ⇒ Object



13
14
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
# File 'lib/cucumber/cli/profile_loader.rb', line 13

def args_from(profile)
  unless cucumber_yml.key?(profile)
    raise(ProfileNotFound, "      Could not find profile: '\#{profile}'\n\n      Defined profiles in cucumber.yml:\n        * \#{cucumber_yml.keys.sort.join(\"\\n  * \")}\n    ERROR_MESSAGE\n  end\n\n  args_from_yml = cucumber_yml[profile] || ''\n\n  case args_from_yml\n  when String\n    if args_from_yml =~ /^\\s*$/\n      raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was blank.\" \\\n      \"  Please define the command line arguments for the '\#{profile}' profile in cucumber.yml.\\n\"\n    end\n\n    args_from_yml = processed_shellwords(args_from_yml)\n  when Array\n    raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was empty.  Please define the command line arguments for the '\#{profile}' profile in cucumber.yml.\\n\" if args_from_yml.empty?\n  else\n    raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was a \#{args_from_yml.class}. It must be a String or Array\"\n  end\n\n  args_from_yml\nend\n")

#cucumber_yml_defined?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/cucumber/cli/profile_loader.rb', line 46

def cucumber_yml_defined?
  cucumber_file && File.exist?(cucumber_file)
end

#profile?(profile) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/cucumber/cli/profile_loader.rb', line 42

def profile?(profile)
  cucumber_yml.key?(profile)
end