Sha256: 3f89a67eb1f6af9df4206bf542172f50da79b5fc7cb329f89796d37525532d10

Contents?: true

Size: 549 Bytes

Versions: 2

Compression:

Stored size: 549 Bytes

Contents

require 'i_am_i_can/configs/configs'

module IAmICan
  module Configurable
    extend ActiveSupport::Concern

    class_methods do
      def i_am_i_can
        Configs.get(self.name)
      end

      def _reflect_of(key)
        _name = i_am_i_can.send("#{key}_class")
        reflections.each do |name, reflection|
          return name if reflection.class_name == _name
        end; nil
      end
    end

    included do
      def i_am_i_can
        Configs.get(self.class.name)
      end

      delegate :_reflect_of, to: self
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
i_am_i_can-3.0.1 lib/i_am_i_can/configurable.rb
i_am_i_can-3.0.0 lib/i_am_i_can/configurable.rb