Sha256: 2f97c2b986e11f2c688b6f372966cb18156b032a97a80b69da8cd2b549e99e7a

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

# Configuration for AppleDEPClient
# Configuration values can be either literals or Procs; note that Procs will not
# be overwritten by AppleDEPClient::Token.save_data

module AppleDEPClient
  module Configuration
    DEP_CONFIG = {
      private_key: nil,         # MDM Server's private key for decrypting token files
      consumer_key: nil,        # Server Token information
      consumer_secret: nil,
      access_token: nil,
      access_secret: nil,
      access_token_expiry: nil,
      apple_dep_server: "https://mdmenrollment.apple.com", # Domain that Apple's DEP servers are at
      user_agent: "CellabusMDM",
    }

    DEP_CONFIG.freeze

    attr_writer *DEP_CONFIG.keys

    def method_missing(m, *_args, &_block)
      if DEP_CONFIG.keys.include? m.to_sym
        get_value(m)
      else
        raise NoMethodError, "Unknown method #{m}"
      end
    end

    def get_value(m)
      value = instance_variable_get("@#{m}")
      value = get_default_value(m) if value.nil?
      (value.is_a? Proc) ? value.call : value
    end

    def get_default_value(key)
      DEP_CONFIG[key.to_sym]
    end

    def configure
      yield self
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
apple_dep_client-2.2.3 lib/apple_dep_client/configuration.rb
apple_dep_client-2.2.2 lib/apple_dep_client/configuration.rb
apple_dep_client-2.2.0 lib/apple_dep_client/configuration.rb
apple_dep_client-2.1.1 lib/apple_dep_client/configuration.rb
apple_dep_client-2.1.0 lib/apple_dep_client/configuration.rb
apple_dep_client-2.0.1 lib/apple_dep_client/configuration.rb