Sha256: beac9efd2b14820240bf8f0f719613db1b196b4820005c276871f4aaecc4f162

Contents?: true

Size: 553 Bytes

Versions: 1

Compression:

Stored size: 553 Bytes

Contents

module Superstore
  module BelongsTo
    class Reflection
      attr_reader :model, :name, :options
      def initialize(model, name, options)
        @model, @name, @options = model, name, options
      end

      def instance_variable_name
        "@#{name}"
      end

      def foreign_key
        "#{name}_id"
      end

      def polymorphic_column
        "#{name}_type"
      end

      def polymorphic?
        options[:polymorphic]
      end

      def class_name
        options[:class_name] || name.to_s.camelize
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
superstore-1.0.0 lib/superstore/belongs_to/reflection.rb