Sha256: 6227fe013d7c83eb6c088df1a7706a1791b78fe4c8af04871e590c67d0ef4566
Contents?: true
Size: 1.03 KB
Versions: 3
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true require "dato/dump/format" module Dato module Dump module Operation class AddToDataFile attr_reader :context, :path, :format, :value def initialize(context, path, format, value) @context = context @path = path @format = format @value = value end def perform complete_path = File.join(context.path, path) FileUtils.mkdir_p(File.dirname(complete_path)) content_to_add = Format.dump(format, value) old_content = if File.exist? complete_path ::File.read(complete_path) else "" end new_content = old_content.sub( /\n*(#\s*datocms:start.*#\s*datocms:end|\Z)/m, "\n\n# datocms:start\n#{content_to_add}\n# datocms:end", ) File.open(complete_path, "w") do |f| f.write new_content end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dato-0.8.3 | lib/dato/dump/operation/add_to_data_file.rb |
dato-0.8.2 | lib/dato/dump/operation/add_to_data_file.rb |
dato-0.8.1 | lib/dato/dump/operation/add_to_data_file.rb |