Class: ThreeScale::Core::Service
Class Method Summary
collapse
Instance Method Summary
collapse
included
included
#attributes, #dirty?, included, #update_attributes
Constructor Details
#initialize(attributes = {}) ⇒ Service
Returns a new instance of Service.
70
71
72
73
|
# File 'lib/3scale/core/service.rb', line 70
def initialize(attributes = {})
@state = :active
super(attributes)
end
|
Class Method Details
.change_provider_key!(old_key, new_key) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/3scale/core/service.rb', line 25
def change_provider_key!(old_key, new_key)
ret = api_do_put({ new_key: new_key },
uri: "#{default_uri}change_provider_key/#{old_key}",
prefix: '') do |result|
if result[:response].status == 400
exception = provider_key_exception(
result[:response_json][:error], old_key, new_key)
raise exception if exception
end
true
end
ret[:ok]
end
|
.delete_by_id!(service_id) ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/3scale/core/service.rb', line 12
def delete_by_id!(service_id)
api_delete({}, uri: service_uri(service_id)) do |result|
if result[:response].status == 400
raise ServiceIsDefaultService, service_id
end
end
end
|
.delete_stats(service_id, _delete_job) ⇒ Object
Deletes all the stats for the given service. Note: delete_job is no longer needed. It’s kept to avoid breaking compatibility.
46
47
48
|
# File 'lib/3scale/core/service.rb', line 46
def delete_stats(service_id, _delete_job)
api_delete({}, uri: "#{service_uri(service_id)}/stats", prefix: '')
end
|
.load_by_id(service_id) ⇒ Object
8
9
10
|
# File 'lib/3scale/core/service.rb', line 8
def load_by_id(service_id)
api_read({}, uri: service_uri(service_id), rprefix: :service)
end
|
.make_default(service_id) ⇒ Object
39
40
41
|
# File 'lib/3scale/core/service.rb', line 39
def make_default(service_id)
save! id: service_id, default_service: true
end
|
.save!(attributes) ⇒ Object
20
21
22
23
|
# File 'lib/3scale/core/service.rb', line 20
def save!(attributes)
id = attributes.fetch(:id)
api_update(attributes, uri: service_uri(id))
end
|
Instance Method Details
#activate ⇒ Object
75
76
77
|
# File 'lib/3scale/core/service.rb', line 75
def activate
self.state = :active
end
|
#active? ⇒ Boolean
87
88
89
|
# File 'lib/3scale/core/service.rb', line 87
def active?
state == :active
end
|
#deactivate ⇒ Object
79
80
81
|
# File 'lib/3scale/core/service.rb', line 79
def deactivate
self.state = :suspended
end
|
#referrer_filters_required? ⇒ Boolean
83
84
85
|
# File 'lib/3scale/core/service.rb', line 83
def referrer_filters_required?
@referrer_filters_required
end
|
#save! ⇒ Object
91
92
93
|
# File 'lib/3scale/core/service.rb', line 91
def save!
self.class.save! attributes
end
|