Sha256: 700ad659c65e19455158c7547d1c098761c17039cced7385664df7f9bd1f7702

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

module Hipbot
  module Storages
    module Base
      extend ActiveSupport::Concern

      included do
        extend ClassMethods
        alias_method :to_s, :name
      end

      def initialize attributes
        raise NotImplementedError
      end

      def attributes
        raise NotImplementedError
      end

      def destroy
        raise NotImplementedError
      end

      def id
        raise NotImplementedError
      end

      def name
        raise NotImplementedError
      end

      def name= value
        raise NotImplementedError
      end

      def update_attribute key, value
        raise NotImplementedError
      end

      def update_attributes attributes
        raise NotImplementedError
      end

      module ClassMethods
        def all
          raise NotImplementedError
        end

        def create attributes
          raise NotImplementedError
        end

        def find id
          raise NotImplementedError
        end

        def find_by attributes
          raise NotImplementedError
        end

        def find_or_create_by attributes
          raise NotImplementedError
        end

        def find_or_initialize_by attributes
          raise NotImplementedError
        end

        def new attributes
          raise NotImplementedError
        end

        def where attributes
          raise NotImplementedError
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hipbot-1.0.4 lib/hipbot/storages/base.rb
hipbot-1.0.3 lib/hipbot/storages/base.rb
hipbot-1.0.0 lib/hipbot/storages/base.rb