Sha256: bb32c6e1bea75b72383f7aed9a0466fd91cbc49babc289c34a1b44bb9cb433c5
Contents?: true
Size: 829 Bytes
Versions: 1
Compression:
Stored size: 829 Bytes
Contents
# frozen_string_literal: true require 'hanami/interactor' require 'json' require 'fileutils' require 'pathname' module Umwelt::Abstract::File class Store extend Forwardable include Hanami::Interactor def_delegators FileUtils, :mkpath def initialize(path: '.umwelt') @path = path end private def serialize(struct) JSON.pretty_generate struct end def destruct(obj) obj.is_a?(Struct) ? destruct_members(obj.to_h) : obj end def destruct_members(hash) hash.transform_values do |value| if value.is_a?(Array) value.map { |member| destruct(member) } elsif value.is_a? Time value.to_s else destruct(value) end end end def umwelt_root_path Pathname.pwd / @path end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
umwelt-0.1.0 | lib/umwelt/abstract/file/store.rb |