Sha256: cec7c066a2be30512235ed40ef683cbe8671ec4c345d7db2a70875ca6aeeff96

Contents?: true

Size: 444 Bytes

Versions: 2

Compression:

Stored size: 444 Bytes

Contents

module Enumerations
  class Reflection
    attr_reader :name

    def initialize(name, options = {})
      @name = name
      @options = options
    end

    def class_name
      @class_name ||= (@options[:class_name] || name).to_s.camelize
    end

    def foreign_key
      @foreign_key ||= (@options[:foreign_key] || "#{name}_id").to_sym
    end

    def enumerator_class
      @enumerator_class ||= class_name.constantize
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
enumerations-2.1.0 lib/enumerations/reflection.rb
enumerations-2.0.0 lib/enumerations/reflection.rb