class ThreeScale::Core::Application

Public Class Methods

delete(service_id, id) click to toggle source
# File lib/3scale/core/application.rb, line 43
def self.delete(service_id, id)
  api_delete({}, uri: app_uri(service_id, id))
end
delete_id_by_key(service_id, user_key) click to toggle source
# File lib/3scale/core/application.rb, line 85
def self.delete_id_by_key(service_id, user_key)
  api_delete({}, uri: key_uri(service_id, user_key))
end
load(service_id, id) click to toggle source
# File lib/3scale/core/application.rb, line 34
def self.load(service_id, id)
  api_read({}, uri: app_uri(service_id, id))
end
load_id_by_key(service_id, user_key) click to toggle source

XXX Old API. Just returns an id. DEPRECATED.

# File lib/3scale/core/application.rb, line 73
def self.load_id_by_key(service_id, user_key)
  ret = api_do_get({}, uri: key_uri(service_id, user_key))
  ret[:ok] ? ret[:attributes][:id] : nil
end
new(attributes = {}) click to toggle source
# File lib/3scale/core/application.rb, line 47
def initialize(attributes = {})
  @state = :active
  super(attributes)
end
save(attributes) click to toggle source
# File lib/3scale/core/application.rb, line 38
def self.save(attributes)
  service_id, id = attributes.fetch(:service_id), attributes.fetch(:id)
  api_update attributes, uri: app_uri(service_id, id)
end
save_id_by_key(service_id, user_key, id) click to toggle source
# File lib/3scale/core/application.rb, line 78
def self.save_id_by_key(service_id, user_key, id)
  raise ApplicationHasInconsistentData.new(id, user_key) if (service_id.nil? || id.nil? || user_key.nil? || service_id=="" || id=="" || user_key=="")
  escaped_key = CGI::escape(user_key)
  ret = api_do_put({}, uri: "#{app_uri(service_id, id)}/key/#{escaped_key}")
  ret[:ok]
end

Private Class Methods

app_uri(service_id, id) click to toggle source
# File lib/3scale/core/application.rb, line 20
def self.app_uri(service_id, id)
  escaped_id = CGI::escape(id.to_s)

  "#{base_uri(service_id)}#{escaped_id}"
end
base_uri(service_id) click to toggle source
# File lib/3scale/core/application.rb, line 15
def self.base_uri(service_id)
  "#{default_uri}#{service_id}/applications/"
end
key_uri(service_id, key) click to toggle source
# File lib/3scale/core/application.rb, line 27
def self.key_uri(service_id, key)
  escaped_key = CGI::escape(key)

  "#{base_uri(service_id)}key/#{escaped_key}"
end

Public Instance Methods

activate() click to toggle source
# File lib/3scale/core/application.rb, line 52
def activate
  self.state = :active
end
active?() click to toggle source
# File lib/3scale/core/application.rb, line 60
def active?
  state == :active
end
deactivate() click to toggle source
# File lib/3scale/core/application.rb, line 56
def deactivate
  self.state = :suspended
end
save() click to toggle source
# File lib/3scale/core/application.rb, line 64
def save
  api_save uri: self.class.send(:app_uri, service_id, id)
end
user_required?() click to toggle source
# File lib/3scale/core/application.rb, line 68
def user_required?
  user_required
end

Private Instance Methods

state=(value) click to toggle source
# File lib/3scale/core/application.rb, line 91
def state=(value)
  # only :active or nil will be considered as :active
  @state = value.nil? || value.to_sym == :active ? :active : :suspended
end