class Genit::ClassNewsTag

Replace the <genit class=“news”/> in the template.

Public Class Methods

new(working_dir, template, filename, tag) click to toggle source

Public: Constructor.

working_dir - The String working directory, where live the project. template - The Nokogiri::XML::Document into which we process the tag. filename - The String name of the page tag - The tag to process as a Nokogiri::XML::Element

Calls superclass method
# File lib/genit/tags/class_news_tag.rb, line 13
def initialize working_dir, template, filename, tag
  super working_dir, template, filename, tag
end

Public Instance Methods

process() click to toggle source

Public: Do the replacement.

Returns the template as a Nokogiri::XML::Document

# File lib/genit/tags/class_news_tag.rb, line 20
def process
  replace_tag_into_template! 'genit.news', news_content
end

Private Instance Methods

news_content() click to toggle source
# File lib/genit/tags/class_news_tag.rb, line 26
def news_content
  news_string = ''
  news_files.each { |file| news_string += process_the_news(file) }
  news_string
end
news_files() click to toggle source
# File lib/genit/tags/class_news_tag.rb, line 32
def news_files
  files = Dir.glob(File.join(@working_dir, NEWS_DIR, '*')).sort.reverse
  number = @tag['number']
  return files[0...(number).to_i] if number
  files
end
process_the_news(file) click to toggle source
# File lib/genit/tags/class_news_tag.rb, line 39
def process_the_news file 
  doc_as_string = HtmlDocument.open_as_string(file).to_s
  wrapper = @tag['wrapper']
  return "<div class='#{wrapper}'>" + doc_as_string + '</div>' if wrapper
  doc_as_string
end