Class: Capuchin::Email

Inherits:
Object
  • Object
show all
Defined in:
lib/capuchin/email.rb

Constant Summary collapse

FILENAME_REGEX =
/^(\d+-\d+-\d+)-(.*)(\.[^.]+)$/
FRONT_MATTER_REGEX =
/\A(---\s*\n.*?\n?)^(---\s*$\n?)/m

Instance Method Summary collapse

Constructor Details

#initialize(dir, filename) ⇒ Email

Returns a new instance of Email.



6
7
8
9
10
11
12
13
14
# File 'lib/capuchin/email.rb', line 6

def initialize(dir, filename)
  @dir = dir
  @filename = filename

  @options = {}
  @renderer = Capuchin::Markdown.new

  parse_file_contents
end

Instance Method Details

#contentObject



28
29
30
# File 'lib/capuchin/email.rb', line 28

def content
  @content ||= @renderer.render(@markdown_content)
end

#dateObject



16
17
18
# File 'lib/capuchin/email.rb', line 16

def date
  @options['date'] || @date
end

#output_filenameObject



32
33
34
# File 'lib/capuchin/email.rb', line 32

def output_filename
  "#{date.strftime('%Y-%m-%d')}-#{slug}.html"
end

#slugObject



20
21
22
# File 'lib/capuchin/email.rb', line 20

def slug
  @slug
end

#subjectObject



24
25
26
# File 'lib/capuchin/email.rb', line 24

def subject
  @options['subject']
end