Module: Pathutil::Helpers

Extended by:
Helpers
Included in:
Pathutil, Helpers
Defined in:
lib/pathutil/helpers.rb

Instance Method Summary collapse

Instance Method Details

#load_yaml(data, safe: true, whitelist_classes: [], whitelist_symbols: [], aliases: :yes) ⇒ Object

Note:

We default aliases to yes so we can detect if you explicit true.


Wraps around YAML and SafeYAML to provide alternatives to Rubies.




10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pathutil/helpers.rb', line 10

def load_yaml(data, safe: true, whitelist_classes: [], whitelist_symbols: [], aliases: :yes)
  require "yaml"

  unless safe
    return YAML.load(
      data
    )
  end

  if !YAML.respond_to?(:safe_load)
    setup_safe_yaml whitelist_classes, aliases
    SafeYAML.load(
      data
    )

  else
    YAML.safe_load(
      data,
      whitelist_classes,
      whitelist_symbols,
      aliases
    )
  end
end

#make_tmpname(prefix = "", suffix = nil) ⇒ Object




37
38
39
40
41
42
43
44
45
46
# File 'lib/pathutil/helpers.rb', line 37

def make_tmpname(prefix = "", suffix = nil)
  prefix = prefix.gsub(/\-\Z/, "") + "-" unless prefix.empty?

  File.join(
    Dir::Tmpname.tmpdir,
    Dir::Tmpname.make_tmpname(
      prefix, suffix
    )
  )
end