Module: Marathon

Defined in:
lib/marathon.rb,
lib/marathon/version.rb

Overview

The top-level module for this gem. It’s purpose is to hold global configuration variables that are used as defaults in other classes.

Defined Under Namespace

Modules: Error Classes: App, Apps, Base, Connection, Constraint, Container, ContainerDocker, ContainerDockerPortMapping, ContainerVolume, Deployment, DeploymentAction, DeploymentInfo, DeploymentStep, Deployments, EventSubscriptions, Group, HealthCheck, Leader, MarathonInstance, Queue, Queues, Task, Tasks, Util

Constant Summary collapse

DEFAULT_URL =
'http://localhost:8080'
VERSION =
'1.3.2'

Class Method Summary collapse

Class Method Details

.connectionObject

Set a new connection



123
124
125
# File 'lib/marathon.rb', line 123

def connection
  singleton.connection
end

.env_optionsObject

Get marathon options from environment



91
92
93
94
95
96
97
# File 'lib/marathon.rb', line 91

def env_options
  opts = {}
  opts[:username] = ENV['MARATHON_USER'] if ENV['MARATHON_USER']
  opts[:password] = ENV['MARATHON_PASSWORD'] if ENV['MARATHON_PASSWORD']
  opts[:insecure] = ENV['MARATHON_INSECURE'] == 'true' if ENV['MARATHON_INSECURE']
  opts
end

.env_urlObject

Get the marathon url from environment



86
87
88
# File 'lib/marathon.rb', line 86

def env_url
  ENV['MARATHON_URL']
end

.infoObject

Get information about the marathon server



137
138
139
# File 'lib/marathon.rb', line 137

def info
  singleton.info
end

.loggerObject

Returns the value of attribute logger.



11
12
13
# File 'lib/marathon.rb', line 11

def logger
  @logger
end

.logger=(value) ⇒ Object

Sets the attribute logger

Parameters:

  • value

    the value to set the attribute logger to.



11
12
13
# File 'lib/marathon.rb', line 11

def logger=(value)
  @logger = value
end

.optionsObject

Get options for connecting to marathon API



106
107
108
# File 'lib/marathon.rb', line 106

def options
  @options ||= env_options
end

.options=(new_options) ⇒ Object

Set new options



117
118
119
120
# File 'lib/marathon.rb', line 117

def options=(new_options)
  @options = env_options.merge(new_options || {})
  reset_singleton!
end

.pingObject

Ping marathon



142
143
144
# File 'lib/marathon.rb', line 142

def ping
  singleton.ping
end

.reset_connection!Object



132
133
134
# File 'lib/marathon.rb', line 132

def reset_connection!
  reset_singleton!
end

.reset_singleton!Object



128
129
130
# File 'lib/marathon.rb', line 128

def reset_singleton!
  @singleton = MarathonInstance.new(url,options)
end

.singletonObject

Returns the value of attribute singleton.



81
82
83
# File 'lib/marathon.rb', line 81

def singleton
  @singleton
end

.urlObject

Get the marathon API URL



100
101
102
103
# File 'lib/marathon.rb', line 100

def url
  @url ||= env_url || DEFAULT_URL
  @url
end

.url=(new_url) ⇒ Object

Set a new url



111
112
113
114
# File 'lib/marathon.rb', line 111

def url=(new_url)
  @url = new_url
  reset_singleton!
end