Class: SiteSetting::Upload
- Inherits:
-
Object
- Object
- SiteSetting::Upload
- Defined in:
- app/models/site_setting.rb
Overview
helpers for getting s3 settings that fallback to global
Class Method Summary collapse
- .absolute_base_url ⇒ Object
- .enable_s3_uploads ⇒ Object
- .s3_base_url ⇒ Object
- .s3_cdn_url ⇒ Object
- .s3_endpoint ⇒ Object
- .s3_region ⇒ Object
- .s3_upload_bucket ⇒ Object
Class Method Details
.absolute_base_url ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'app/models/site_setting.rb', line 178 def self.absolute_base_url url_basename = SiteSetting.s3_endpoint.split("/")[-1] bucket = ( if SiteSetting.enable_s3_uploads Discourse.store.s3_bucket_name else GlobalSetting.s3_bucket_name end ) # cf. http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region if SiteSetting.s3_endpoint.blank? || SiteSetting.s3_endpoint.end_with?("amazonaws.com") if SiteSetting.Upload.s3_region.start_with?("cn-") "//#{bucket}.s3.#{SiteSetting.Upload.s3_region}.amazonaws.com.cn" else "//#{bucket}.s3.dualstack.#{SiteSetting.Upload.s3_region}.amazonaws.com" end else "//#{bucket}.#{url_basename}" end end |
.enable_s3_uploads ⇒ Object
169 170 171 |
# File 'app/models/site_setting.rb', line 169 def self.enable_s3_uploads SiteSetting.enable_s3_uploads || GlobalSetting.use_s3? end |
.s3_base_url ⇒ Object
173 174 175 176 |
# File 'app/models/site_setting.rb', line 173 def self.s3_base_url path = self.s3_upload_bucket.split("/", 2)[1] "#{self.absolute_base_url}#{path ? "/" + path : ""}" end |
.s3_cdn_url ⇒ Object
153 154 155 |
# File 'app/models/site_setting.rb', line 153 def self.s3_cdn_url SiteSetting.enable_s3_uploads ? SiteSetting.s3_cdn_url : GlobalSetting.s3_cdn_url end |
.s3_endpoint ⇒ Object
165 166 167 |
# File 'app/models/site_setting.rb', line 165 def self.s3_endpoint SiteSetting.enable_s3_uploads ? SiteSetting.s3_endpoint : GlobalSetting.s3_endpoint end |
.s3_region ⇒ Object
157 158 159 |
# File 'app/models/site_setting.rb', line 157 def self.s3_region SiteSetting.enable_s3_uploads ? SiteSetting.s3_region : GlobalSetting.s3_region end |
.s3_upload_bucket ⇒ Object
161 162 163 |
# File 'app/models/site_setting.rb', line 161 def self.s3_upload_bucket SiteSetting.enable_s3_uploads ? SiteSetting.s3_upload_bucket : GlobalSetting.s3_bucket end |