Method: Censive.write

Defined in:
lib/censive.rb

.write(obj = nil, **opts, &code) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/censive.rb', line 40

def self.write(obj=nil, **opts, &code)
  case obj
  when String
    if block_given?
      File.open(obj, "w") {|io| new(out: io, **opts, &code) }
    else
      new(out: File.open(obj, "w"), **opts)
    end
  when StringIO, IO, nil
    new(out: obj, **opts, &code)
  else
    abort "#{File.basename($0)}: #{self}.write can't use #{obj.class} objects"
  end
end