Module: Sevgi::Graphics::Mixtures::Save

Defined in:
lib/sevgi/graphics/mixtures/save.rb

Constant Summary collapse

EXT =
".svg"

Instance Method Summary collapse

Instance Method Details

#Out(&filter) ⇒ Object



11
12
13
# File 'lib/sevgi/graphics/mixtures/save.rb', line 11

def Out(*, **, &filter)
  F.out(self.(**), *, &filter)
end

#Save(path = nil, default: nil, backup_suffix: nil, &filter) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sevgi/graphics/mixtures/save.rb', line 15

def Save(path = nil, default: nil, backup_suffix: nil, &filter)
  default ||= F.subext(EXT, caller_locations(1..1).first.path)

  if path
    ::File.directory?(path) ? ::File.join(path, ::File.basename(default)) : path
  else
    default
  end => path

  ::FileUtils.mkdir_p(::File.dirname(path))
  if backup_suffix && !backup_suffix.empty? && ::File.exist?(path)
    ::FileUtils.cp(path, "#{path}#{backup_suffix}")
  end

  Out(path, &filter)
end