Sha256: 65e8225118319dc8103f430bff0ade15df4910e5b0f911d8b4b939a885ca2974

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

#!/usr/bin/env ruby

require "bundler/setup"
require "pry"

PATH = File.join(File.expand_path("..", __dir__), "spec/fixtures/files")

# Object fields to replace with generic values:
#
# users
#   username
#   screenName
#   description
#
# posts
#   body
#
# comments
#   body


def purge_user(data, index)
  data["username"] = "user#{index}"
  data["screenName"] = "User ##{index}"
  data["description"] = "Sample description"
end

def purge_content(data)
  data["body"] = "Sample content"
end

Dir.glob("#{PATH}/**/*.json").each do |file_name|
  backup_copy = "#{file_name}.bak"
  FileUtils.rm_rf(backup_copy)
  FileUtils.mv(file_name, backup_copy)

  data = JSON.parse(File.read(backup_copy))
  next unless data.is_a?(Hash)

  (data["users"] || []).each_with_index { |user, index| purge_user(user, index) }
  (data["admins"] || []).each_with_index { |user, index| purge_user(user, index) }

  (data["posts"] || []).each_with_index { |entity| purge_content(entity) }
  (data["comments"] || []).each_with_index { |entity| purge_content(entity) }

  File.open(file_name, "wt").write(JSON.pretty_generate(data))
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
freefeed-0.5.4 bin/purge_samples
freefeed-0.5.3 bin/purge_samples
freefeed-0.5.2 bin/purge_samples
freefeed-0.5.1 bin/purge_samples
freefeed-0.5.0 bin/purge_samples