Class: RbLatex::MetaInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/rb_latex/meta_info.rb

Constant Summary collapse

ATTRS =
%i(title creator page_progression_direction language publisher)

Instance Method Summary collapse

Constructor Details

#initializeMetaInfo

Returns a new instance of MetaInfo.



16
17
18
19
# File 'lib/rb_latex/meta_info.rb', line 16

def initialize
  @info = Hash.new
  @info[:creator] = Hash.new
end

Instance Method Details

#add_creator(name, role) ⇒ Object



69
70
71
72
73
74
# File 'lib/rb_latex/meta_info.rb', line 69

def add_creator(name, role)
  if !@info[:creator][role]
    !@info[:creator][role] = Array.new
  end
  @info[:creator][role] << name
end

#allObject



53
54
55
# File 'lib/rb_latex/meta_info.rb', line 53

def all
  @info
end

#author(sep = ", ") ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/rb_latex/meta_info.rb', line 76

def author(sep = ", ")
  aut = @info[:creator]["aut"]
  if aut
    aut.join(sep)
  else
    ""
  end
end

#dateObject



29
30
31
# File 'lib/rb_latex/meta_info.rb', line 29

def date
  @info[:date]
end

#date=(time) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/rb_latex/meta_info.rb', line 21

def date=(time)
  if time.kind_of? String
    @info[:date] = Time.parse(time)
  else
    @info[:date] = time
  end
end

#date_format(time) ⇒ Object



65
66
67
# File 'lib/rb_latex/meta_info.rb', line 65

def date_format(time)
  time.strftime("%Y年%-m月%-d日")
end

#date_to_sObject



33
34
35
# File 'lib/rb_latex/meta_info.rb', line 33

def date_to_s
  date_format(@info[:date])
end

#lastmodifiedObject



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

def lastmodified
  @info[:lastmodified]
end

#lastmodified=(time) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/rb_latex/meta_info.rb', line 37

def lastmodified=(time)
  if time.kind_of? String
    @info[:lastmodified] = Time.parse(time)
  else
    @info[:lastmodified] = time
  end
end

#lastmodified_to_sObject



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

def lastmodified_to_s
  date_format(@info[:lastmodified])
end

#to_latexObject



57
58
59
60
61
62
63
# File 'lib/rb_latex/meta_info.rb', line 57

def to_latex
  "\\newcommand{\\rblatexTitle}{#{escape_latex(title)}}\n"+
  "\\newcommand{\\rblatexAuthor}{#{escape_latex(author)}}\n"+
  "\\newcommand{\\rblatexPubdate}{#{escape_latex(date_to_s)}}\n"+
  "\\newcommand{\\rblatexPublisher}{#{escape_latex(publisher)}}\n"+
  "\\newcommand{\\rblatexPageDirection}{#{escape_latex(page_progression_direction)}}\n"
end