Environment variable based URL helper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class URLHelpers::Env | |
include ActionController::UrlFor | |
include Sprockets::Rails::Helper | |
include Rails.application.routes.url_helpers | |
def self.config | |
Rails.application.config | |
end | |
def self.app | |
Rails.application | |
end | |
self.debug_assets = config.assets.debug | |
self.digest_assets = config.assets.digest | |
self.assets_prefix = config.assets.prefix | |
self.assets_environment = app.assets | |
manifest_assets_path = File.join(config.paths['public'].first, config.assets.prefix) | |
self.assets_manifest = Sprockets::Manifest.new(app.assets, manifest_assets_path, config.assets.manifest) | |
class MockRequest | |
def initialize(url_helper) | |
@urls = url_helper | |
end | |
def host | |
case Rails.env | |
when "development" | |
"localhost" | |
else | |
ENV["PUBLIC_HOSTNAME"] | |
end | |
end | |
def optional_port | |
case Rails.env | |
when "development" | |
5100 | |
else | |
ENV["PUBLIC_PORT"] | |
end | |
end | |
def protocol | |
"http" | |
end | |
def symbolized_path_parameters | |
{} | |
end | |
def base_url | |
@urls.root_url | |
end | |
end | |
def request | |
@request_mock ||= MockRequest.new(self) | |
end | |
def env | |
Rails.env | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment