Class: ComfortableMexicanSofa::Seeds::Snippet::Exporter

Inherits:
Exporter
  • Object
show all
Defined in:
lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb

Instance Attribute Summary

Attributes inherited from Exporter

#from, #path, #site, #to

Instance Method Summary collapse

Constructor Details

#initialize(from, to = from) ⇒ Exporter

Returns a new instance of Exporter.


6
7
8
9
# File 'lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb', line 6

def initialize(from, to = from)
  super
  self.path = ::File.join(ComfortableMexicanSofa.config.seeds_path, to, "snippets/")
end

Instance Method Details

#export!Object


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb', line 11

def export!
  prepare_folder!(path)

  site.snippets.each do |snippet|
    attrs = {
      "label"       => snippet.label,
      "categories"  => snippet.categories.map(&:label),
      "position"    => snippet.position
    }.to_yaml

    data = []
    data << { header: "attributes", content: attrs }
    data << { header: "content", content: snippet.content }

    snippet_path = File.join(path, "#{snippet.identifier}.html")
    write_file_content(snippet_path, data)

    message = "[CMS SEEDS] Exported Snippet \t #{snippet.identifier}"
    ComfortableMexicanSofa.logger.info(message)
  end
end