Class: RailsAuditLog::Graphql::Sources::RecordByIdSource
- Inherits:
-
GraphQL::Dataloader::Source
- Object
- GraphQL::Dataloader::Source
- RailsAuditLog::Graphql::Sources::RecordByIdSource
- Defined in:
- lib/rails_audit_log/graphql/sources/record_by_id_source.rb
Instance Method Summary collapse
- #fetch(ids) ⇒ Object
-
#initialize(class_name) ⇒ RecordByIdSource
constructor
A new instance of RecordByIdSource.
Constructor Details
#initialize(class_name) ⇒ RecordByIdSource
Returns a new instance of RecordByIdSource.
7 8 9 |
# File 'lib/rails_audit_log/graphql/sources/record_by_id_source.rb', line 7 def initialize(class_name) @class_name = class_name end |
Instance Method Details
#fetch(ids) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/rails_audit_log/graphql/sources/record_by_id_source.rb', line 11 def fetch(ids) klass = @class_name.safe_constantize return ids.map { nil } unless klass records = klass.where(id: ids).index_by { |r| r.id.to_s } ids.map { |id| records[id]&.attributes } end |