module Sashite::CGN::Occupied

Constants

PATTERN

Public Class Methods

dump(io) click to toggle source
# File lib/sashite/cgn/occupied.rb, line 36
def self.dump io
  raise ArgumentError unless dumpable? io

  if Null.dumpable?(io)
    Null.dump(io)
  elsif Boolean.dumpable?(io)
    Boolean.dump(io)
  elsif Subject.dumpable?(io)
    Subject.dump(io)
  elsif io == :an_ally_actor
    'an_ally_actor'
  elsif io == :an_enemy_actor
    'an_enemy_actor'
  end
end
dumpable?(io) click to toggle source
# File lib/sashite/cgn/occupied.rb, line 28
def self.dumpable? io
  Null.dumpable?(io) ||
  Boolean.dumpable?(io) ||
  Subject.dumpable?(io) ||
  io == :an_ally_actor ||
  io == :an_enemy_actor
end
load(io) click to toggle source
# File lib/sashite/cgn/occupied.rb, line 14
def self.load io
  raise ArgumentError unless loadable? io

  if Null.loadable? io
    Null.load
  elsif Boolean.loadable? io
    Boolean.load io
  elsif Subject.loadable? io
    Subject.load io
  else
    io.to_sym
  end
end
loadable?(io) click to toggle source
# File lib/sashite/cgn/occupied.rb, line 10
def self.loadable? io
  !!io.match("^#{PATTERN}$")
end