Sha256: 567dee99d577e16ab43aaaa919e0e5b91fd18c1d60cebbf345bf6ffc5fb3614e

Contents?: true

Size: 794 Bytes

Versions: 1

Compression:

Stored size: 794 Bytes

Contents

# (c) 2017 Ribose Inc.
#

# Hashrocket style looks better when describing task dependencies.
# rubocop:disable Style/HashSyntax

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!

    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.2.1 lib/tasks/db.rake