Sha256: 04994ede6255b987fa7cc95b85828eb690ace0b71e4e36dd8de6ce9255b881d2

Contents?: true

Size: 878 Bytes

Versions: 1

Compression:

Stored size: 878 Bytes

Contents

require 'virtus'
require 'fog'
require 'celluloid'

module MultiSync
  class Configuration
    include Virtus.model

    attribute :verbose, Boolean, default: false
    attribute :force, Boolean, default: false
    attribute :run_on_build, Boolean, default: true
    attribute :delete_abandoned_files, Boolean, default: true
    attribute :upload_missing_files, Boolean, default: true
    attribute :target_pool_size, Integer, default: :celluloid_cores
    attribute :max_sync_attempts, Integer, default: 3
    attribute :credentials, Hash, default: :fog_credentials

    # Initialize a new Configuration object
    #
    # @param options [Hash]
    def initialize(*args)
      Celluloid.logger = MultiSync.test? ? nil : MultiSync.logger
      super
    end

    def celluloid_cores
      Celluloid.cores
    end

    def fog_credentials
      Fog.credentials
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
multi_sync-0.0.2 lib/multi_sync/configuration.rb