Sha256: 1d6f2d7900470f33c61e423072eadaf7efa6363251c0d6f81fe7efd5d10302f4

Contents?: true

Size: 699 Bytes

Versions: 3

Compression:

Stored size: 699 Bytes

Contents

module Appfuel
  module Memory
    class Repository < Appfuel::Repository::Base

      class << self
        def create_mapper(maps = nil)
          Mapper.new(maps)
        end
      end

      attr_reader :items, :sequence
      def initialize
        @items    = {}
        @sequence = 0
      end


      def create(entity)
        id = sequence_id
        entity.id = id
        data = to_storage(entity)
        items[id] = data


        build(name: entity.domain_name, storage: data)
      end

      def build(name:, storage:, **inputs)
        super(type: :memory, name: name, storage: storage,  **inputs)
      end

      def sequence_id
        @sequence + 1
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
appfuel-0.2.3 lib/appfuel/storage/memory/repository.rb
appfuel-0.2.2.pre.alpha.pre.140 lib/appfuel/storage/memory/repository.rb
appfuel-0.2.0 lib/appfuel/storage/memory/repository.rb