lib/brief/document/section/builder.rb in brief-1.2.0 vs lib/brief/document/section/builder.rb in brief-1.3.0
- old
+ new
@@ -1,17 +1,17 @@
class Brief::Document::Section
class Builder
- def self.run(source, options={})
+ def self.run(source, options = {})
new(source, options).to_fragment
end
attr_accessor :source, :nodes, :low, :high
- def initialize(source, options={})
+ def initialize(source, options = {})
@source = source.map do |item|
level, group = item
- [level, group.map {|f| f.is_a?(String) ? Nokogiri::HTML.fragment(f) : f }]
+ [level, group.map { |f| f.is_a?(String) ? Nokogiri::HTML.fragment(f) : f }]
end
@low = options.fetch(:low, 1)
@high = options.fetch(:high, 6)
@nodes = []
@@ -26,11 +26,11 @@
n = index + 1
level, fragments = item
next_level, next_fragments = source[n]
if next_level && (next_level == level) && (level > low)
- new_fragment = (fragments + next_fragments).map(&:to_html).join("")
+ new_fragment = (fragments + next_fragments).map(&:to_html).join('')
source[index] = [level, [Nokogiri::HTML.fragment(new_fragment)]]
source[n] = nil
end
end
@@ -47,11 +47,11 @@
level, fragment = item
n = index + 1
next_level, next_fragment = source[n]
if fragment && next_level && (next_level > level)
- parent = fragment.css("section, article").first
+ parent = fragment.css('section, article').first
parent.add_child(next_fragment)
source[index] = [level, fragment]
source[n] = nil
end
end
@@ -61,18 +61,18 @@
@cycles += 1
end
self.nodes = source.map(&:last)
- self.nodes.each do |node|
- parent = node.css("section, article").first
+ nodes.each do |node|
+ parent = node.css('section, article').first
if %w(h1 h2 h3 h4 h5 h6).include?(parent.children.first.name)
parent['data-heading'] = parent.children.first.text
end
end
- self.nodes.map!(&:to_html)
+ nodes.map!(&:to_html)
end
def maxed_out?
@cycles > source.length
end
@@ -80,10 +80,10 @@
def even?
source.map(&:first).uniq.length == 1
end
def to_fragment
- @html = nodes.join("") unless nodes.empty?
- Nokogiri::HTML.fragment(@html || "<div/>")
+ @html = nodes.join('') unless nodes.empty?
+ Nokogiri::HTML.fragment(@html || '<div/>')
end
end
end