Sha256: c2b0b6da8231a87cf2f78b2f3c2fa06c5037e165dffe90f730e7414d9d770de8

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

module RGSS
  module BasicCoder
    def encode_with(coder)
        ivars.each do |var|
        name = var.to_s.sub(/^@/, '')
        value = instance_variable_get(var)
        coder[name] = encode(name, value)
      end
    end

    def encode(name, value)
      return value
    end

    def init_with(coder)
      coder.map.each do |key, value|
        sym = "@#{key}".to_sym
        instance_variable_set(sym, decode(key, value))
      end
    end

    def decode(name, value)
      return value
    end

    def ivars
      return instance_variables
    end

    INCLUDED_CLASSES = []
    def self.included(mod)
      INCLUDED_CLASSES.push(mod)
    end

    def self.set_ivars_methods(version)
      INCLUDED_CLASSES.each do |c|
        if version == :ace
          RGSS::reset_method(c, :ivars, ->{
                         return instance_variables
                       })
        else
          RGSS::reset_method(c, :ivars, ->{
                         return instance_variables.sort
                       })
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
fusionpacker-0.1.3 lib/RGSS/BasicCoder.rb
fusionpacker-0.1.2 lib/RGSS/BasicCoder.rb
fusionpacker-0.1.1 lib/RGSS/BasicCoder.rb
rvpacker-1.2.0 lib/RGSS/BasicCoder.rb
rvpacker-1.0.0 lib/RGSS/BasicCoder.rb