diff options
author | azul <azul@riseup.net> | 2014-04-25 12:15:37 +0200 |
---|---|---|
committer | azul <azul@riseup.net> | 2014-04-25 12:15:37 +0200 |
commit | 76ad25ba0ee344f185f8e8cdfe066685cd3b0447 (patch) | |
tree | d8122b5b5144c917f5e1924c1428a3a871e94149 /app/models/service_level.rb | |
parent | 2b6200f508ddb8e1c8a76fd3778881c39d787d8d (diff) | |
parent | be81b7430e0a2046125be7c3a4b01b8725f4afe6 (diff) |
Merge pull request #148 from azul/feature/api-quota-support
Feature/api quota support + current_user null pattern
Diffstat (limited to 'app/models/service_level.rb')
-rw-r--r-- | app/models/service_level.rb | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/app/models/service_level.rb b/app/models/service_level.rb index 299aaf1..5dd8838 100644 --- a/app/models/service_level.rb +++ b/app/models/service_level.rb @@ -4,16 +4,35 @@ class ServiceLevel @id = attributes[:id] || APP_CONFIG[:default_service_level] end - def self.authenticated_select_options - APP_CONFIG[:service_levels].map { |id,config_hash| [config_hash[:description], id] if config_hash[:name] != 'anonymous'}.compact + def self.select_options + APP_CONFIG[:service_levels].map do |id,config_hash| + [config_hash[:description], id] + end end def id @id end + delegate :to_json, to: :config_hash + + def cert_prefix + if limited_cert? + APP_CONFIG[:limited_cert_prefix] + elsif APP_CONFIG[:allow_unlimited_certs] + APP_CONFIG[:unlimited_cert_prefix] + end + end + + protected + + def limited_cert? + APP_CONFIG[:allow_limited_certs] && + (!APP_CONFIG[:allow_unlimited_certs] || config_hash[:eip_rate_limit]) + end + def config_hash - APP_CONFIG[:service_levels][@id] + @config_hash || APP_CONFIG[:service_levels][@id].with_indifferent_access end end |