class ConfigKit::DeployData

Public Class Methods

new(name, version, opts) click to toggle source
Calls superclass method
# File lib/config_kit/deploy_data.rb, line 5
def initialize(name, version, opts)
  @name = name 
  @version = version[0] == 'v' ? version : "v#{version}"
  @api_version = opts.fetch(:api_version, '1.0')
  @kind = opts.fetch(:kind, 'config_kit')
  @extra = opts.fetch(:extra, :no_default)
  @cs = opts.fetch(:cs, "no_cs") if @extra != :default_only
  
  ConfigKit.logger.debug "Deploy in #{@extra} options"
  check_extra(@extra)
  @binded_data = binding_data
  super(@binded_data)
end

Public Instance Methods

binding_data() click to toggle source
# File lib/config_kit/deploy_data.rb, line 35
def binding_data
  if @extra == :no_default
    binding_kind
  elsif @extra == :set_default
    binding_default.deep_merge(binding_kind)
  elsif @extra == :default_only
    binding_default
  end
end
binding_default() click to toggle source
# File lib/config_kit/deploy_data.rb, line 27
def binding_default
  { 
    @kind => {
      'deploy' => deploy_default_data
    }
  }
end
binding_deploy() click to toggle source
# File lib/config_kit/deploy_data.rb, line 19
def binding_deploy
  {'deploy' => data}
end
binding_kind() click to toggle source
# File lib/config_kit/deploy_data.rb, line 23
def binding_kind
  { @kind => binding_deploy}
end
data() click to toggle source
# File lib/config_kit/deploy_data.rb, line 45
def data
  { 
    @name => { 
      @version => 
            {
              "ts" => ts,
              "cs" => @cs
            }
            }
  }
end
deploy_default_data() click to toggle source
# File lib/config_kit/deploy_data.rb, line 57
def deploy_default_data
  {
    @name => {
      'default' => @version
    }
  }
end

Private Instance Methods

check_extra(extra) click to toggle source
# File lib/config_kit/deploy_data.rb, line 70
def check_extra(extra)
  raise DeployDataOptsError.new "extra options(#{extra_options.join('|')}) error: #{extra}." unless extra_options.include?(extra)
end
extra_options() click to toggle source
# File lib/config_kit/deploy_data.rb, line 66
def extra_options
  [:no_default, :set_default, :default_only]
end
ts() click to toggle source
# File lib/config_kit/deploy_data.rb, line 74
def ts
  (Time.now.to_f * 1000).to_i
end