Sha256: 8415b20e0d5676f3635995070e5dff87897768b6565ad2d1e759c0123702176a

Contents?: true

Size: 585 Bytes

Versions: 1

Compression:

Stored size: 585 Bytes

Contents

class Redis
  class Settings
    module ActiveRecord
      def self.included(base)
        base.class_eval do
          include InstanceMethods
          after_destroy :clear_settings
        end
      end

      module InstanceMethods
        def settings
          raise Redis::Settings::NewRecordError if new_record?
          @settings ||= Settings.new("#{self.class.name.underscore}/#{id}")
        end

        def clear_settings
          settings.clear unless new_record?
        end
      end
    end
  end
end

ActiveRecord::Base.send :include, Redis::Settings::ActiveRecord

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redis-settings-0.2.3 lib/redis/settings/active_record.rb