class ThreeScale::Core::Service
Public Class Methods
change_provider_key!(old_key, new_key)
click to toggle source
# File lib/3scale/core/service.rb, line 26 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)
click to toggle source
# File lib/3scale/core/service.rb, line 13 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)
click to toggle source
Deletes all the stats for the given service. Note: delete_job is no longer needed. It's kept to avoid breaking compatibility.
# File lib/3scale/core/service.rb, line 47 def delete_stats(service_id, _delete_job) api_delete({}, uri: "#{service_uri(service_id)}/stats", prefix: '') end
load_by_id(service_id)
click to toggle source
# File lib/3scale/core/service.rb, line 9 def load_by_id(service_id) api_read({}, uri: service_uri(service_id), rprefix: :service) end
make_default(service_id)
click to toggle source
# File lib/3scale/core/service.rb, line 40 def make_default(service_id) save! id: service_id, default_service: true end
new(attributes = {})
click to toggle source
Calls superclass method
ThreeScale::Core::APIClient::Resource::new
# File lib/3scale/core/service.rb, line 71 def initialize(attributes = {}) @state = :active super(attributes) end
save!(attributes)
click to toggle source
# File lib/3scale/core/service.rb, line 21 def save!(attributes) id = attributes.fetch(:id) api_update(attributes, uri: service_uri(id)) end
Private Class Methods
provider_key_exception(error, old_key, new_key)
click to toggle source
# File lib/3scale/core/service.rb, line 57 def provider_key_exception(error, old_key, new_key) case error when /does not exist/ ProviderKeyNotFound.new old_key when /already exists/ ProviderKeyExists.new new_key when /are not valid/ InvalidProviderKeys.new else nil end end
service_uri(id)
click to toggle source
# File lib/3scale/core/service.rb, line 53 def service_uri(id) "#{default_uri}#{id}" end
Public Instance Methods
activate()
click to toggle source
# File lib/3scale/core/service.rb, line 76 def activate self.state = :active end
active?()
click to toggle source
# File lib/3scale/core/service.rb, line 92 def active? state == :active end
deactivate()
click to toggle source
# File lib/3scale/core/service.rb, line 80 def deactivate self.state = :suspended end
referrer_filters_required?()
click to toggle source
# File lib/3scale/core/service.rb, line 84 def referrer_filters_required? @referrer_filters_required end
save!()
click to toggle source
# File lib/3scale/core/service.rb, line 96 def save! self.class.save! attributes end
user_registration_required?()
click to toggle source
# File lib/3scale/core/service.rb, line 88 def user_registration_required? @user_registration_required end
Private Instance Methods
state=(value)
click to toggle source
# File lib/3scale/core/service.rb, line 102 def state=(value) # only :active or nil will be considered as :active @state = value.nil? || value.to_sym == :active ? :active : :suspended end