Sha256: 31d0ad7a9649d871e261190422f48760d3917a83915061d26aee76f7df343fd4

Contents?: true

Size: 610 Bytes

Versions: 8

Compression:

Stored size: 610 Bytes

Contents

module RailsOps
  module ModelMixins
    module VirtualHasOne
      extend ActiveSupport::Concern

      module ClassMethods
        def virtual_has_one(name, base_class, required: false, default: nil, type: Integer)
          RailsOps.deprecator.warn('virtual_has_one is deprecated and will be removed in a future version.')

          fk = "#{name}_id"
          attribute fk, type, default: default
          belongs_to name, anonymous_class: base_class, foreign_key: fk, class_name: base_class.name, required: required

          return reflect_on_association(name)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rails_ops-1.7.1 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.7.0 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.6.0 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.6.0.rc1 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.6.0.rc0 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.5.8 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.5.7 lib/rails_ops/model_mixins/virtual_has_one.rb
rails_ops-1.5.6 lib/rails_ops/model_mixins/virtual_has_one.rb