Class: ThreeScale::Core::Application

Inherits:
ThreeScale::Core::APIClient::Resource show all
Defined in:
lib/3scale/core/application.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ThreeScale::Core::APIClient::Operations

included

Methods included from ThreeScale::Core::APIClient::Support

included

Methods included from ThreeScale::Core::APIClient::Attributes

#attributes, #dirty?, included, #update_attributes

Constructor Details

#initialize(attributes = {}) ⇒ Application

Returns a new instance of Application.



41
42
43
44
# File 'lib/3scale/core/application.rb', line 41

def initialize(attributes = {})
  @state = :active
  super(attributes)
end

Class Method Details

.delete(service_id, id) ⇒ Object



37
38
39
# File 'lib/3scale/core/application.rb', line 37

def self.delete(service_id, id)
  api_delete({}, uri: app_uri(service_id, id))
end

.delete_id_by_key(service_id, user_key) ⇒ Object



78
79
80
# File 'lib/3scale/core/application.rb', line 78

def self.delete_id_by_key(service_id, user_key)
  api_delete({}, uri: key_uri(service_id, user_key))
end

.load(service_id, id) ⇒ Object



28
29
30
# File 'lib/3scale/core/application.rb', line 28

def self.load(service_id, id)
  api_read({}, uri: app_uri(service_id, id))
end

.load_id_by_key(service_id, user_key) ⇒ Object

XXX Old API. Just returns an id. DEPRECATED.



67
68
69
70
# File 'lib/3scale/core/application.rb', line 67

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

.save(attributes) ⇒ Object



32
33
34
35
# File 'lib/3scale/core/application.rb', line 32

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) ⇒ Object



72
73
74
75
76
# File 'lib/3scale/core/application.rb', line 72

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=="")
  ret = api_do_put({}, uri: "#{app_uri(service_id, id)}/key/#{url_encode(user_key)}")
  ret[:ok]
end

Instance Method Details

#activateObject



46
47
48
# File 'lib/3scale/core/application.rb', line 46

def activate
  self.state = :active
end

#active?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/3scale/core/application.rb', line 54

def active?
  state == :active
end

#deactivateObject



50
51
52
# File 'lib/3scale/core/application.rb', line 50

def deactivate
  self.state = :suspended
end

#saveObject



58
59
60
# File 'lib/3scale/core/application.rb', line 58

def save
  api_save uri: self.class.send(:app_uri, service_id, id)
end

#service_idObject

added the :user_required to distinguish between types of application: false is the default value, do not expect user_id or ignore it if it happends true, the user_id must be defined + the user of the service (service_id#user_id), user_id is typically the UUID of a cellphone, or the twitter account



8
9
# File 'lib/3scale/core/application.rb', line 8

attributes :service_id, :id, :state, :plan_id, :plan_name,
:redirect_url, :user_required

#user_required?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/3scale/core/application.rb', line 62

def user_required?
  user_required
end