Sha256: 81463405810718ea700c640007cdeae6ce4fed9fc641a0210a6c4219bb3f5cc1
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
require "active_support/concern" module Protobuf module ActiveRecord module Persistence extend ::ActiveSupport::Concern module ClassMethods # :nodoc: def create(attributes = {}, &block) attributes = attributes_from_proto(attributes) if attributes.is_a?(::Protobuf::Message) super(attributes, &block) end # :nodoc: def create!(attributes = {}, &block) attributes = attributes_from_proto(attributes) if attributes.is_a?(::Protobuf::Message) super(attributes, &block) end end # Override Active Record's initialize method so it can accept a protobuf # message as it's attributes. # :noapi: def initialize(*args, &block) args[0] = attributes_from_proto(args.first) if args.first.is_a?(::Protobuf::Message) super(*args, &block) end # :nodoc: def assign_attributes(attributes) attributes = attributes_from_proto(attributes) if attributes.is_a?(::Protobuf::Message) super(attributes) end # :nodoc: def update(attributes) attributes = attributes_from_proto(attributes) if attributes.is_a?(::Protobuf::Message) super(attributes) end # :nodoc: def update!(attributes) attributes = attributes_from_proto(attributes) if attributes.is_a?(::Protobuf::Message) super(attributes) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
protobuf-activerecord-7.0.0 | lib/protobuf/active_record/persistence.rb |
protobuf-activerecord-6.1.0 | lib/protobuf/active_record/persistence.rb |