Sha256: 4b893e18216b4c904893d9bf6369741e00e628523a443d4925bbfd5bf2425ae4

Contents?: true

Size: 1.61 KB

Versions: 7

Compression:

Stored size: 1.61 KB

Contents

require 'thor'

module CropDuster
  class CLI < Thor

    desc "migrate", "Migrate the database to the latest version"
    option :db, required: true
    def migrate
      CropDuster.configure do |config|
        config.db = options[:db]
      end

      ActiveRecord::Migration.verbose = true
      ActiveRecord::Migrator.migrate File.join(File.dirname(__FILE__), "..", "..", "db", "migrate")
    end

    desc "import", "Migrate the database to the latest version"
    option :db, required: true
    option :aws_secret, required: true
    option :aws_key, required: true
    option :aws_billing_bucket
    option :tmp_dir
    def import
      set_configs(options[:db], options[:aws_secret], options[:aws_key], options[:aws_billing_bucket], options[:tmp_dir])
      CropDuster::Importer.import
    end

    desc "import_billing", "Imports billing information from AWS"
    option :db, required: true
    option :aws_secret, required: true
    option :aws_key, required: true
    option :aws_billing_bucket, required: true
    option :tmp_dir
    def import_billing
      set_configs(options[:db], options[:aws_secret], options[:aws_key], options[:aws_billing_bucket], options[:tmp_dir])
      CropDuster::Importer.import_billing
    end

    private
    def set_configs(db_url, aws_secret, aws_key, aws_billing_bucket = nil, tmp_dir = "/tmp")
      CropDuster.configure do |config|
        config.db                 = db_url
        config.aws_secret         = aws_secret
        config.aws_key            = aws_key
        config.aws_billing_bucket = aws_billing_bucket
        config.tmp_dir            = tmp_dir
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
crop-duster-0.0.14 lib/crop_duster/cli.rb
crop-duster-0.0.13 lib/crop_duster/cli.rb
crop-duster-0.0.12 lib/crop_duster/cli.rb
crop-duster-0.0.11 lib/crop_duster/cli.rb
crop-duster-0.0.10 lib/crop_duster/cli.rb
crop-duster-0.0.9 lib/crop_duster/cli.rb
crop-duster-0.0.8 lib/crop_duster/cli.rb