Sha256: de0add9e1d7552e2db6caceaad12a817d490c3e901ad09b24d2c20df66c7b2b8

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

Contents

module Ruroku
  class ConfigVar < NestedBase
    attribute :key, String
    attribute :value, String

    resource_id :key
    deletable_resource

    # Public: Set a ConfigVar value.
    # Sets instance variable if current value is nil.
    # If curren value is present, queries the api to update current var's
    # value, and updates instance variable.
    #
    # Examples
    #
    #   config_var = ConfigVar.new app # empty config var
    #   config_var.key = 'KEY'
    #   config_var.value = 'value' # doesn't send an api request
    #
    #   config_var = app.config_vars['KEY'] # non-empty config var
    #   config_var.value = 'value' # sends the api request & updates i-var
    def value=(new_value)
      if @value.nil?
        @value = new_value
      else
        api.put_config_vars app.name, key => new_value
        @value = new_value
      end
    end

    def inspect
      "<#{self.class} #{key} => #{value}>"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruroku-0.0.3 lib/ruroku/config_var.rb