Module: UniverseCompiler::Entity::Persistence

Included in:
Base
Defined in:
lib/universe_compiler/entity/persistence.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#source_uriObject

Returns the value of attribute source_uri.



8
9
10
# File 'lib/universe_compiler/entity/persistence.rb', line 8

def source_uri
  @source_uri
end

Class Method Details

.load(uri) ⇒ Object



10
11
12
13
14
# File 'lib/universe_compiler/entity/persistence.rb', line 10

def self.load(uri)
  entity = YAML.load_file uri
  entity.source_uri = uri
  entity
end

Instance Method Details

#deleteObject



24
25
26
27
28
29
# File 'lib/universe_compiler/entity/persistence.rb', line 24

def delete
  universe.delete self
  unless self.source_uri.nil?
    FileUtils.rm self.source_uri
  end
end

#save(uri = source_uri, raise_error: true) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/universe_compiler/entity/persistence.rb', line 16

def save(uri = source_uri, raise_error: true)
  valid? raise_error: raise_error
  FileUtils.mkpath File.dirname(uri)
  File.write uri, to_yaml, mode: 'w'
  self.source_uri = uri
  self
end