Sha256: 69032ed389003ec623942c38babdd4172f9ea9a35f159ab394077b3ee878d5c7
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require "sdbm" require "securerandom" require "date" require 'csv' require "ostruct" require "fileutils" require "oj" require "msgpack" require_relative "dddr/sdbm" require_relative "dddr/sequel" require_relative "dddr/version" module Dddr ENTITIES = [] def self.configuration @configuration ||= OpenStruct.new end class MessagePack def self.load(obj) ::MessagePack.unpack(obj) end def self.dump(obj) obj.to_msgpack end end class Serializer def initialize(engine) @engine = engine end def dump(obj) @engine.dump(obj) end def load(obj) @engine.load(obj) end end def self.configure configuration.env = ENV["DDDR_ENV"] || "development" configuration.data_dir = "/var/dddr" configuration.engine = :sdbm configuration.serializer = MessagePack configuration.container = nil yield(configuration) if block_given? end class Error < StandardError; end module Entity def self.create_properties(*names) names.each do |name| attr_accessor name end end def self.included(base) if Dddr.configuration.engine == :sdbm Dddr::ENTITIES << base include Dddr::Sdbm base.extend(Dddr::Sdbm::ClassMethods) end if Dddr.configuration.engine == :sequel include Dddr::Sequel base.extend(Dddr::Sequel::ClassMethods) end end attr_accessor :uid, :created_at, :last_updated_at, :deleted, :deleted_at def new? created_at.nil? end end end Dddr.configure
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dddr-2.2.0 | lib/dddr.rb |