class AppRb::Config
Constants
- Node
Public Class Methods
new(yml)
click to toggle source
# File lib/app-rb/config.rb, line 2 def initialize(yml) @body = yml end
Public Instance Methods
app()
click to toggle source
# File lib/app-rb/config.rb, line 7 def app; @body["app"]; end
consul()
click to toggle source
# File lib/app-rb/config.rb, line 8 def consul; @body["consul"]; end
cron()
click to toggle source
# File lib/app-rb/config.rb, line 15 def cron; @body["cron"] || {}; end
deploy()
click to toggle source
# File lib/app-rb/config.rb, line 14 def deploy; @body["deploy"] || {}; end
env()
click to toggle source
# File lib/app-rb/config.rb, line 12 def env; @body["env"] || {}; end
image()
click to toggle source
# File lib/app-rb/config.rb, line 11 def image; @body["image"]; end
nodes(constraint = nil)
click to toggle source
# File lib/app-rb/config.rb, line 21 def nodes(constraint = nil) constraint ||= {} out = __nodes if constraint["name"] out = out.select { |n| Array(constraint["name"]).index(n.name) } end out.shuffle end
pre_deploy()
click to toggle source
# File lib/app-rb/config.rb, line 13 def pre_deploy; @body["pre_deploy"] || []; end
registry()
click to toggle source
# File lib/app-rb/config.rb, line 9 def registry; @body["registry"]; end
run()
click to toggle source
# File lib/app-rb/config.rb, line 16 def run; @body["run"] || {}; end
slack?()
click to toggle source
# File lib/app-rb/config.rb, line 19 def slack?; slack_url && slack_channel; end
slack_channel()
click to toggle source
# File lib/app-rb/config.rb, line 18 def slack_channel; @body["slack_channel"]; end
slack_url()
click to toggle source
# File lib/app-rb/config.rb, line 17 def slack_url; @body["slack_url"]; end
tool_version()
click to toggle source
# File lib/app-rb/config.rb, line 6 def tool_version; @body["tool_version"]; end
user()
click to toggle source
# File lib/app-rb/config.rb, line 10 def user; @body["user"]; end
Private Instance Methods
__nodes()
click to toggle source
# File lib/app-rb/config.rb, line 33 def __nodes @__nodes ||= JSON.load(AppRb::Util.just_cmd("curl -s #{@body["consul"]}/v1/catalog/nodes")).sort_by { |n| n["Node"] }.map { |n| Node.new(n["Node"], n["Address"]) } end