Module: MaRuKu::Errors

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

Instance Method Summary collapse

Instance Method Details

#create_frame(s) ⇒ Object



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

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



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

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



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

def maruku_error(s,src=nil,con=nil)
	policy = get_setting(:on_error)
	
	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))
	else
		raise "BugBug: policy = #{policy.inspect}"
	end
end

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



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

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

#raise_error(s) ⇒ Object

Raises:



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

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

#tell_user(s) ⇒ Object



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

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