Sha256: fc4b07cac367ffd48a469c6aa1302aba946234bf09a600f733e47094cd4e5c0e

Contents?: true

Size: 810 Bytes

Versions: 1

Compression:

Stored size: 810 Bytes

Contents

# (c) 2017 Ribose Inc.
#

namespace :db do
  desc "Mask every DB record according to rules set up in the respective " \
  "ActiveRecord"

  # If just:
  #   task :mask do ... end,
  # then connection won't be established.  Will need the '=> :environment'.
  #
  # URL:
  # http://stackoverflow.com/questions/14163938/activerecordconnectionnotestablished-within-a-rake-task
  #
  task :mask => :environment do
    Rails.application.eager_load!

    config_file = Rails.root.join("config", "attr_masker.rb").to_s
    require config_file if File.file?(config_file)

    performers = AttrMasker::Performer::Base.descendants.map(&:new)
    performers.select!(&:dependencies_available?)

    if performers.empty?
      raise AttrMasker::Error, "No supported database!"
    end

    performers.each(&:mask)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
attr_masker-0.3.1 lib/tasks/db.rake