Module: MaRuKu::Errors

Included in:
MDElement
Defined in:
lib/maruku.rb,
lib/maruku/errors_management.rb

Constant Summary collapse

Default_on_error =
:warning

Instance Method Summary collapse

Instance Method Details

#create_frame(s) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/maruku/errors_management.rb', line 69

def create_frame(s)
	n = 75
	"\n" +
	" "+"_"*n << "\n"<<
	"| Maruku tells you:\n" << 
	"+"+"-"*n +"\n"+
	add_tabs(s,1,'| ') << "\n" <<
	"+" << "-"*n << "\n" <<
	add_tabs(caller[0, 5].join("\n"),1,'!') << "\n" <<
	"\\" << "_"*n << "\n"
end

#describe_error(s, src, con) ⇒ Object



81
82
83
84
85
86
# File 'lib/maruku/errors_management.rb', line 81

def describe_error(s,src,con)
	t = s
	src && (t += "\n#{src.describe}\n")
	con && (t += "\n#{con.describe}\n")
	t
end

#maruku_error(s, src = nil, con = nil) ⇒ Object Also known as: error



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/maruku/errors_management.rb', line 42

def maruku_error(s,src=nil,con=nil)
	policy = @doc ? (@doc.attributes[:on_error] || Default_on_error) : :raise
	
	case policy
	when :ignore 
	when :raise
		raise_error create_frame(describe_error(s,src,con))
	when :warning
		tell_user create_frame(describe_error(s,src,con))
	end
end

#maruku_recover(s, src = nil, con = nil) ⇒ Object



54
55
56
# File 'lib/maruku/errors_management.rb', line 54

def maruku_recover(s,src=nil,con=nil)
	tell_user create_frame(describe_error(s,src,con))
end

#raise_error(s) ⇒ Object

Raises:



60
61
62
# File 'lib/maruku/errors_management.rb', line 60

def raise_error(s)
	raise MaRuKu::Exception, s, caller
end

#tell_user(s) ⇒ Object



64
65
66
67
# File 'lib/maruku/errors_management.rb', line 64

def tell_user(s)
	error_stream = self.attributes[:error_stream] || $stderr
	error_stream << s 
end