Module: Gitlab::Triage::Resource::Context
- Defined in:
- lib/gitlab/triage/resource/context.rb
Constant Summary collapse
- EvaluationError =
Class.new(RuntimeError)
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.build(resource, **options) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/gitlab/triage/resource/context.rb', line 17 def self.build(resource, **) const_name = (resource[:type] || 'Base') .to_s.singularize.camelcase Resource.const_get(const_name).new(resource, **).extend(self) end |
Instance Method Details
#eval(ruby) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/gitlab/triage/resource/context.rb', line 24 def eval(ruby) instance_eval " begin\n \#{ruby}\n rescue StandardError, ScriptError => e\n raise EvaluationError.new(e.message)\n end\n RUBY\nrescue EvaluationError => e\n # This way we could obtain the original backtrace and error\n # If we just let instance_eval raise an error, the backtrace\n # won't contain the actual line where it's giving an error.\n raise e.cause\nend\n", __FILE__, __LINE__ + 1 |
#instance_version ⇒ Object (private)
41 42 43 |
# File 'lib/gitlab/triage/resource/context.rb', line 41 def instance_version @instance_version ||= InstanceVersion.new(parent: self) end |