module Motor::Assets
Constants
- ASSETS_PATH
- CACHE_STORE
- DEV_SERVER_URL
- InvalidPathError
- MANIFEST_PATH
Public Instance Methods
asset_path(path)
click to toggle source
# File lib/motor/assets.rb, line 32 def asset_path(path) Motor::Admin.routes.url_helpers.motor_asset_path(manifest[path]) end
icons()
click to toggle source
# File lib/motor/assets.rb, line 26 def icons manifest.select do |k, v| !k.ends_with?('.gz') && v.starts_with?('icons/') && v.exclude?('DS_Store') end.keys end
load_asset(filename, gzip: false)
click to toggle source
# File lib/motor/assets.rb, line 36 def load_asset(filename, gzip: false) if Motor.development? load_from_dev_server(filename) else load_from_disk(filename, gzip: gzip) end end
load_from_dev_server(filename)
click to toggle source
# File lib/motor/assets.rb, line 56 def load_from_dev_server(filename) uri = URI(DEV_SERVER_URL + filename) Net::HTTP.get_response(uri).body end
load_from_disk(filename, gzip:)
click to toggle source
# File lib/motor/assets.rb, line 44 def load_from_disk(filename, gzip:) filename += '.gz' if gzip raise InvalidPathError if filename.include?('..') path = ASSETS_PATH.join(filename) raise InvalidPathError unless path.to_s.starts_with?(ASSETS_PATH.to_s) path.read end
manifest()
click to toggle source
# File lib/motor/assets.rb, line 20 def manifest CACHE_STORE.fetch('manifest') do JSON.parse(MANIFEST_PATH.read) end end