Class: Mumukit::Explainer
- Inherits:
-
Object
- Object
- Mumukit::Explainer
- Defined in:
- lib/mumukit/explainer.rb
Instance Method Summary collapse
- #eval_explain(selector, key, content, test_results) ⇒ Object
- #explain(content, test_results) ⇒ Object
- #explain_methods ⇒ Object
Instance Method Details
#eval_explain(selector, key, content, test_results) ⇒ Object
11 12 13 14 15 |
# File 'lib/mumukit/explainer.rb', line 11 def eval_explain(selector, key, content, test_results) send(selector, content, test_results).try do |it| {key: key, binding: it} end end |
#explain(content, test_results) ⇒ Object
2 3 4 5 6 7 8 9 |
# File 'lib/mumukit/explainer.rb', line 2 def explain(content, test_results) explain_methods .map { |selector, key| eval_explain(selector, key, content, test_results) } .compact .map { |explain| I18n.t(explain[:key], explain[:binding]) } .map { |it| "* #{it}" } .join("\n") end |
#explain_methods ⇒ Object
17 18 19 20 21 22 |
# File 'lib/mumukit/explainer.rb', line 17 def explain_methods self.class .instance_methods(false) .flat_map { |it| it.to_s.captures(/explain_(.*)/).map { [it, $1] } } .compact end |