Sha256: d05f7e7ce6d15aae19c31c42bbd223a5c5a193be44bc39d5d99e460ed7e5ef51

Contents?: true

Size: 597 Bytes

Versions: 1

Compression:

Stored size: 597 Bytes

Contents

module RelationToStruct::ActiveRecordBaseExtension
  extend ::ActiveSupport::Concern

  module ClassMethods
    def structs_from_sql(struct_class, sql, binds=[])
      result = connection.select_all(sanitize_sql(sql, nil), "Structs SQL Load", binds)
      result.cast_values().map do |tuple|
        struct_class.new(*tuple)
      end
    end

    def pluck_from_sql(sql, binds=[])
      result = connection.select_all(sanitize_sql(sql, nil), "Structs SQL Load", binds)
      result.cast_values()
    end
  end
end

::ActiveRecord::Base.send(:include, RelationToStruct::ActiveRecordBaseExtension)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
relation_to_struct-0.0.3 lib/relation_to_struct/active_record_base_extension.rb