Class: SVGGVS::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/svggvs/context.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cardfile = "Cardfile") ⇒ Context



7
8
9
10
11
# File 'lib/svggvs/context.rb', line 7

def initialize(cardfile = "Cardfile")
  @cardfile = cardfile

  @individual_files = []
end

Instance Attribute Details

#individual_filesObject (readonly)

Returns the value of attribute individual_files.



5
6
7
# File 'lib/svggvs/context.rb', line 5

def individual_files
  @individual_files
end

Class Method Details

.load(cardfile = "Cardfile") ⇒ Object



13
14
15
16
17
# File 'lib/svggvs/context.rb', line 13

def self.load(cardfile = "Cardfile")
  context = new(cardfile)
  context.load
  context
end

Instance Method Details

#cardfile_rbObject



37
38
39
# File 'lib/svggvs/context.rb', line 37

def cardfile_rb
  @cardfile_rb ||= ::File.read(@cardfile)
end

#cardrc?Boolean



23
24
25
# File 'lib/svggvs/context.rb', line 23

def cardrc?
  ::File.file?('.cardrc')
end

#loadObject



27
28
29
30
31
32
33
34
35
# File 'lib/svggvs/context.rb', line 27

def load
  session

  if cardrc?
    self.instance_eval(::File.read('.cardrc'))
  end

  self.instance_eval(cardfile_rb)
end

#sessionObject



19
20
21
# File 'lib/svggvs/context.rb', line 19

def session
  @session ||= SVGGVS::Session.new
end

#write_individual_filesObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/svggvs/context.rb', line 48

def write_individual_files
  session.on_card_finished do |index|
    target = Pathname(session.individual_files_path % index)

    target.parent.mkpath

    session.file.dup_with_only_last_target.save target.to_s

    session.file.clear_targets!

    @individual_files << target
  end

  session.run
end

#write_merged_fileObject



41
42
43
44
45
46
# File 'lib/svggvs/context.rb', line 41

def write_merged_file
  session.on_card_finished = nil
  session.run

  session.file.save @session.svg_merged_target
end