Module: Serializable::SingletonMethods

Defined in:
lib/acts_as_serializable.rb

Instance Method Summary collapse

Instance Method Details

#default_serialization_versionObject



49
50
51
# File 'lib/acts_as_serializable.rb', line 49

def default_serialization_version
  @default_serialization_version
end

#default_serialization_version=(new_version) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/acts_as_serializable.rb', line 53

def default_serialization_version=(new_version)
  if new_version.is_a?(Version)
    @default_serialization_version = new_version
  else
    @default_serialization_version = Version.new(new_version)
  end
end

#find_project_serialization_classes(project_path) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/acts_as_serializable.rb', line 30

def find_project_serialization_classes(project_path)
  klass_name = self.name
  serialization_directory = File.join(project_path, 'serializations', klass_name.underscore)
  Find.find(serialization_directory) do |path|
    if File.file?(path) && versioned_klass = path.match(SERIALIZED_CLASS_NAME_REGEXP)
      require path
      klass = Serializable.const_get("#{klass_name}").const_get("Version_#{versioned_klass[1]}")
      if klass && klass.respond_to?(:serialize)
        define_local_serialization_method(versioned_klass[1])
      end
    end
  end
  @default_serialization_version = @serialization_versions.last
end

#serialization_versionsObject



45
46
47
# File 'lib/acts_as_serializable.rb', line 45

def serialization_versions
  @serialization_versions
end