Class: ForemanAnsibleDirector::RequestCtx::RequestContext
- Inherits:
-
Object
- Object
- ForemanAnsibleDirector::RequestCtx::RequestContext
- Defined in:
- app/services/foreman_ansible_director/request_ctx/request_context.rb
Instance Attribute Summary collapse
-
#created ⇒ Object
readonly
Returns the value of attribute created.
-
#deleted ⇒ Object
readonly
Returns the value of attribute deleted.
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#updated ⇒ Object
readonly
Returns the value of attribute updated.
-
#warnings ⇒ Object
readonly
Returns the value of attribute warnings.
Class Method Summary collapse
Instance Method Summary collapse
- #add_created(record) ⇒ Object
- #add_deleted(record) ⇒ Object
- #add_error(error) ⇒ Object
- #add_updated(record) ⇒ Object
- #add_warning(warning) ⇒ Object
-
#initialize(coincidence_id) ⇒ RequestContext
constructor
A new instance of RequestContext.
- #response_created ⇒ Object
- #response_deleted ⇒ Object
- #response_errors ⇒ Object
- #response_status ⇒ Object
- #response_updated ⇒ Object
- #response_warnings ⇒ Object
Constructor Details
#initialize(coincidence_id) ⇒ RequestContext
Returns a new instance of RequestContext.
22 23 24 25 26 27 28 29 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 22 def initialize(coincidence_id) @coincidence_id = coincidence_id @errors = [] @warnings = [] @created = [] @updated = [] @deleted = [] end |
Instance Attribute Details
#created ⇒ Object (readonly)
Returns the value of attribute created.
20 21 22 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 20 def created @created end |
#deleted ⇒ Object (readonly)
Returns the value of attribute deleted.
20 21 22 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 20 def deleted @deleted end |
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
20 21 22 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 20 def errors @errors end |
#updated ⇒ Object (readonly)
Returns the value of attribute updated.
20 21 22 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 20 def updated @updated end |
#warnings ⇒ Object (readonly)
Returns the value of attribute warnings.
20 21 22 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 20 def warnings @warnings end |
Class Method Details
.current ⇒ Object
7 8 9 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 7 def current Thread.current[:ansible_director_request_context] end |
.with_context(context) ⇒ Object
11 12 13 14 15 16 17 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 11 def with_context(context) old = Thread.current[:ansible_director_request_context] Thread.current[:ansible_director_request_context] = context yield ensure Thread.current[:ansible_director_request_context] = old end |
Instance Method Details
#add_created(record) ⇒ Object
83 84 85 86 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 83 def add_created(record) ::ForemanAnsibleDirector::Logging::CrudLogger.log_record_creation(record) @created << record end |
#add_deleted(record) ⇒ Object
93 94 95 96 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 93 def add_deleted(record) ::ForemanAnsibleDirector::Logging::CrudLogger.log_record_deletion(record) @deleted << record end |
#add_error(error) ⇒ Object
75 76 77 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 75 def add_error(error) @errors << error end |
#add_updated(record) ⇒ Object
88 89 90 91 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 88 def add_updated(record) ::ForemanAnsibleDirector::Logging::CrudLogger.log_record_update(record) @updated << record end |
#add_warning(warning) ⇒ Object
79 80 81 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 79 def add_warning(warning) @warnings << warning end |
#response_created ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 45 def response_created @created.group_by { |k| k.class.name.demodulize.underscore }.transform_values do |items| items.map do |item| { id: item.id, } end end end |
#response_deleted ⇒ Object
65 66 67 68 69 70 71 72 73 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 65 def response_deleted @deleted.group_by { |k| k.class.name.demodulize.underscore }.transform_values do |items| items.map do |item| { id: item.id, } end end end |
#response_errors ⇒ Object
41 42 43 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 41 def response_errors @errors.map(&:render_for_response) end |
#response_status ⇒ Object
31 32 33 34 35 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 31 def response_status return 'error' if @errors.any? return 'warning' if @warnings.any? 'success' end |
#response_updated ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 55 def response_updated @updated.group_by { |k| k.class.name.demodulize.underscore }.transform_values do |items| items.map do |item| { id: item.id, } end end end |
#response_warnings ⇒ Object
37 38 39 |
# File 'app/services/foreman_ansible_director/request_ctx/request_context.rb', line 37 def response_warnings @warnings.map(&:render_for_response) end |