Class: Locomotive::Steam::AssetHostService
- Inherits:
-
Object
- Object
- Locomotive::Steam::AssetHostService
- Defined in:
- lib/locomotive/steam/services/asset_host_service.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#site ⇒ Object
readonly
Returns the value of attribute site.
Instance Method Summary collapse
- #compute(source, timestamp = nil) ⇒ Object
- #host ⇒ Object
-
#initialize(request, site, default_host) ⇒ AssetHostService
constructor
A new instance of AssetHostService.
Constructor Details
#initialize(request, site, default_host) ⇒ AssetHostService
Returns a new instance of AssetHostService.
8 9 10 |
# File 'lib/locomotive/steam/services/asset_host_service.rb', line 8 def initialize(request, site, default_host) @request, @site, @default_host = request, site, default_host end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
6 7 8 |
# File 'lib/locomotive/steam/services/asset_host_service.rb', line 6 def request @request end |
#site ⇒ Object (readonly)
Returns the value of attribute site.
6 7 8 |
# File 'lib/locomotive/steam/services/asset_host_service.rb', line 6 def site @site end |
Instance Method Details
#compute(source, timestamp = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/locomotive/steam/services/asset_host_service.rb', line 12 def compute(source, = nil) return source if source.blank? ||= (site.try(:template_version) || site.try(:updated_at)).to_i return (source, ) if source =~ Steam::IsHTTP url = self.host ? build_url(host, source) : source (url, ) end |
#host ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/locomotive/steam/services/asset_host_service.rb', line 24 def host return @host if @host @host = if site.try(:asset_host).present? build_host_with_protocol(site.asset_host) elsif @default_host.respond_to?(:call) @default_host.call(request, site) elsif @default_host.present? build_host_with_protocol(@default_host) else nil end end |