Module: XRT::Statement::Factory

Defined in:
lib/xrt/statement.rb

Class Method Summary collapse

Class Method Details

.new_from_content(content) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/xrt/statement.rb', line 74

def self.new_from_content content
  syntax = XRT::Syntax.new

  block_level = syntax.block_level content

  if block_level == 1
    XRT::Statement::Block.new content
  elsif block_level == -1
    XRT::Statement::End.new content
  elsif syntax.block? content
    XRT::Statement::Directive.new content
  elsif syntax.whitespace? content
    XRT::Statement::Whitespace.new content
  else
    XRT::Statement::Text.new content
  end
end