Module: RelationToStruct::ActiveRecordRelationExtension
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/relation_to_struct/active_record_relation_extension.rb
Instance Method Summary collapse
Instance Method Details
#to_structs(struct_class) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/relation_to_struct/active_record_relation_extension.rb', line 4 def to_structs(struct_class) raise '' unless self.select_values.present? relation = spawn result = klass.connection.select_all(relation.arel, nil, relation.arel.bind_values + bind_values) result.cast_values(klass.column_types) result.cast_values(klass.column_types).map do |tuple| struct_class.new(*tuple) end end |