Drop base inheritance

This commit is contained in:
Takashi Kokubun 2015-10-15 22:51:34 +09:00
parent fe018aee60
commit de9392ff10
3 changed files with 37 additions and 46 deletions

View File

@ -1,41 +0,0 @@
module Hamlit
module Whitespace
class Base
private
def prepend_whitespace?(node)
return false unless %i[comment tag].include?(node.type)
!nuke_inner_whitespace?(node)
end
def nuke_inner_whitespace?(node)
return false if node.type != :tag
node.value[:nuke_inner_whitespace]
end
def nuke_outer_whitespace?(node)
return false if node.type != :tag
node.value[:nuke_outer_whitespace]
end
def rstrip_whitespace!(temple)
if temple[-1] == :whitespace
temple.delete_at(-1)
end
end
def insert_whitespace?(node)
return false if nuke_outer_whitespace?(node)
case node.type
when :doctype
node.value[:type] != 'xml'
when :comment, :filter, :plain, :script, :tag
true
else
false
end
end
end
end
end

View File

@ -1,8 +1,6 @@
require 'hamlit/whitespace/base'
module Hamlit
module Whitespace
class Compiler < Base
class Compiler
def compile_children(node, &block)
temple = [:multi]
return temple if node.children.empty?
@ -29,6 +27,40 @@ module Hamlit
end
end
end
def prepend_whitespace?(node)
return false unless %i[comment tag].include?(node.type)
!nuke_inner_whitespace?(node)
end
def nuke_inner_whitespace?(node)
return false if node.type != :tag
node.value[:nuke_inner_whitespace]
end
def nuke_outer_whitespace?(node)
return false if node.type != :tag
node.value[:nuke_outer_whitespace]
end
def rstrip_whitespace!(temple)
if temple[-1] == :whitespace
temple.delete_at(-1)
end
end
def insert_whitespace?(node)
return false if nuke_outer_whitespace?(node)
case node.type
when :doctype
node.value[:type] != 'xml'
when :comment, :filter, :plain, :script, :tag
true
else
false
end
end
end
end
end

View File

@ -1,8 +1,8 @@
require 'hamlit/whitespace/base'
require 'hamlit/whitespace/compiler'
module Hamlit
module Whitespace
class IndentedCompiler < Base
class IndentedCompiler < Compiler
def compile_children(node, indent_level, &block)
temple = [:multi]
return temple if node.children.empty?