module Sashite::CGN::Pattern

Constants

PATTERN

Public Class Methods

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

  abilities = io.map {|a| Ability.dump a }
  abilities.join('; ')
end
dumpable?(io) click to toggle source
# File lib/sashite/cgn/pattern.rb, line 19
def self.dumpable? io
  io.is_a?(Array) &&
  io.length == io.uniq.length &&
  io.all? {|a| Ability.dumpable? a }
end
load(io) click to toggle source
# File lib/sashite/cgn/pattern.rb, line 13
def self.load io
  raise ArgumentError unless loadable? io

  io.split('; ').map { |ability| Ability.load ability }
end
loadable?(io) click to toggle source
# File lib/sashite/cgn/pattern.rb, line 8
def self.loadable? io
  io.match("^#{PATTERN}$") &&
  io.split('; ').uniq.join('; ') == io
end