Sha256: 7851ca3589ce0663a7937804dc00ee553ab3579f85f065a86d9d05c68f3c0a94

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

require "reek/rake/task"
require "rspec/core/rake_task"
require "rubocop/rake_task"
require "bump/tasks"

Reek::Rake::Task.new do |reek|
  reek.fail_on_error = true
end

RuboCop::RakeTask.new

RSpec::Core::RakeTask.new(:spec) do |rspec|
  rspec.verbose = false
end

task test: :spec

task default: %i[rubocop reek spec]

desc "Export the Zuora Schema using the Describe API"
task :export_schema do
  setup_iron_bank
  IronBank::Schema.export
end

desc "Query Zuora for fields that we should not use in a query"
task :excluded_fields, [:filename] do |_t, args|
  require "psych"
  setup_iron_bank

  destination = args[:filename] || IronBank.configuration.excluded_fields_file
  fields      = IronBank::Schema.excluded_fields.sort.to_h

  File.write(destination, Psych.dump(fields))
end

# Helper function to set up an `IronBank::Client` instance
def setup_iron_bank
  require "dotenv/load"
  require "iron_bank"

  IronBank.configure do |config|
    config.client_id            = ENV["ZUORA_CLIENT_ID"]
    config.client_secret        = ENV["ZUORA_CLIENT_SECRET"]
    config.auth_type            = ENV.fetch("ZUORA_AUTH_TYPE", "token")
    config.domain               = ENV["ZUORA_DOMAIN"]
    config.excluded_fields_file = ENV["ZUORA_EXCLUDED_FIELDS_FILE"]
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iron_bank-5.3.2 Rakefile
iron_bank-5.3.0 Rakefile