properly integrate asset_sync
This commit is contained in:
parent
e05c6e8897
commit
234b76a936
8 changed files with 48 additions and 17 deletions
|
|
@ -20,7 +20,7 @@ module LayoutHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_asset_host
|
def set_asset_host
|
||||||
path = ENV['ASSET_HOST'].to_s + '/assets/'
|
path = AppConfig.environment.assets.host.to_s + '/assets/'
|
||||||
content_tag(:script) do
|
content_tag(:script) do
|
||||||
<<-JS.html_safe
|
<<-JS.html_safe
|
||||||
if(window.app) app.baseImageUrl("#{path}")
|
if(window.app) app.baseImageUrl("#{path}")
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ if defined?(Bundler)
|
||||||
# Bundler.require(:default, :assets, Rails.env)
|
# Bundler.require(:default, :assets, Rails.env)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
module Diaspora
|
module Diaspora
|
||||||
class Application < Rails::Application
|
class Application < Rails::Application
|
||||||
# Settings in config/environments/* take precedence over those specified here.
|
# Settings in config/environments/* take precedence over those specified here.
|
||||||
|
|
@ -73,7 +72,6 @@ module Diaspora
|
||||||
# Enable the asset pipeline
|
# Enable the asset pipeline
|
||||||
config.assets.enabled = true
|
config.assets.enabled = true
|
||||||
|
|
||||||
# Do not load whole env on precompile
|
|
||||||
config.assets.initialize_on_precompile = false
|
config.assets.initialize_on_precompile = false
|
||||||
|
|
||||||
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,4 @@ rescue Bundler::GemNotFound => e
|
||||||
STDERR.puts e.message
|
STDERR.puts e.message
|
||||||
STDERR.puts "Try running `bundle install`."
|
STDERR.puts "Try running `bundle install`."
|
||||||
exit!
|
exit!
|
||||||
end if File.exist?(gemfile)
|
end if File.exist?(gemfile)
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ defaults:
|
||||||
url: "http://localhost:3000/"
|
url: "http://localhost:3000/"
|
||||||
certificate_authorities:
|
certificate_authorities:
|
||||||
redis:
|
redis:
|
||||||
serve_static_assets: false
|
|
||||||
require_ssl: true
|
require_ssl: true
|
||||||
single_process_mode: false
|
single_process_mode: false
|
||||||
s3:
|
s3:
|
||||||
|
|
@ -21,6 +20,10 @@ defaults:
|
||||||
bucket:
|
bucket:
|
||||||
region:
|
region:
|
||||||
image_redirect_url:
|
image_redirect_url:
|
||||||
|
assets:
|
||||||
|
serve: false
|
||||||
|
upload: false
|
||||||
|
host:
|
||||||
pubsub_server: 'https://pubsubhubbub.appspot.com/'
|
pubsub_server: 'https://pubsubhubbub.appspot.com/'
|
||||||
unicorn:
|
unicorn:
|
||||||
embed_resque_worker: false
|
embed_resque_worker: false
|
||||||
|
|
@ -87,7 +90,8 @@ defaults:
|
||||||
|
|
||||||
development:
|
development:
|
||||||
environment:
|
environment:
|
||||||
serve_static_assets: true
|
assets:
|
||||||
|
serve: true
|
||||||
single_process_mode: true
|
single_process_mode: true
|
||||||
require_ssl: false
|
require_ssl: false
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -99,7 +103,8 @@ test:
|
||||||
url: "http://localhost:9887/"
|
url: "http://localhost:9887/"
|
||||||
single_process_mode: true
|
single_process_mode: true
|
||||||
require_ssl: false
|
require_ssl: false
|
||||||
serve_static_assets: true
|
assets:
|
||||||
|
serve: true
|
||||||
settings:
|
settings:
|
||||||
follow_diasporahq: false
|
follow_diasporahq: false
|
||||||
invitations:
|
invitations:
|
||||||
|
|
@ -114,10 +119,12 @@ test:
|
||||||
integration1:
|
integration1:
|
||||||
environment:
|
environment:
|
||||||
url: "http://localhost:45789/"
|
url: "http://localhost:45789/"
|
||||||
serve_static_assets: true
|
assets:
|
||||||
|
serve: true
|
||||||
require_ssl: false
|
require_ssl: false
|
||||||
integration2:
|
integration2:
|
||||||
environment:
|
environment:
|
||||||
url: "http://localhost:34658/"
|
url: "http://localhost:34658/"
|
||||||
serve_static_assets: true
|
assets:
|
||||||
|
serve: true
|
||||||
require_ssl: false
|
require_ssl: false
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ require File.expand_path('../application', __FILE__)
|
||||||
require Rails.root.join("lib", "exceptions")
|
require Rails.root.join("lib", "exceptions")
|
||||||
|
|
||||||
# Load configuration system early
|
# Load configuration system early
|
||||||
require Rails.root.join("config", "load_config")
|
require Rails.root.join('config', 'load_config')
|
||||||
|
|
||||||
Haml::Template.options[:format] = :html5
|
Haml::Template.options[:format] = :html5
|
||||||
Haml::Template.options[:escape_html] = true
|
Haml::Template.options[:escape_html] = true
|
||||||
|
|
|
||||||
|
|
@ -37,12 +37,6 @@ Diaspora::Application.configure do
|
||||||
# In production, Apache or nginx will already do this
|
# In production, Apache or nginx will already do this
|
||||||
config.serve_static_assets = false
|
config.serve_static_assets = false
|
||||||
|
|
||||||
|
|
||||||
# Enable serving of images, stylesheets, and javascripts from an asset server
|
|
||||||
if ENV['ASSET_HOST']
|
|
||||||
config.action_controller.asset_host = ENV['ASSET_HOST']
|
|
||||||
end
|
|
||||||
|
|
||||||
# Disable delivery errors, bad email addresses will be ignored
|
# Disable delivery errors, bad email addresses will be ignored
|
||||||
# config.action_mailer.raise_delivery_errors = false
|
# config.action_mailer.raise_delivery_errors = false
|
||||||
|
|
||||||
|
|
@ -55,6 +49,10 @@ Diaspora::Application.configure do
|
||||||
# Generate digests for assets URLs
|
# Generate digests for assets URLs
|
||||||
config.assets.digest = true
|
config.assets.digest = true
|
||||||
|
|
||||||
|
if defined?(AppConfig) && AppConfig.environment.assets.host.present?
|
||||||
|
config.action_controller.asset_host = AppConfig.environment.assets.host.get
|
||||||
|
end
|
||||||
|
|
||||||
config.threadsafe!
|
config.threadsafe!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
28
config/initializers/asset_sync.rb
Normal file
28
config/initializers/asset_sync.rb
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
if AppConfig.environment.assets.upload? && AppConfig.environment.s3.enable?
|
||||||
|
require 'asset_sync'
|
||||||
|
AssetSync.configure do |config|
|
||||||
|
config.enabled = true
|
||||||
|
|
||||||
|
config.fog_provider = 'AWS'
|
||||||
|
config.aws_access_key_id = AppConfig.environment.s3.key.get
|
||||||
|
config.aws_secret_access_key = AppConfig.environment.s3.secret.get
|
||||||
|
config.fog_directory = AppConfig.environment.s3.bucket.get
|
||||||
|
|
||||||
|
# Increase upload performance by configuring your region
|
||||||
|
config.fog_region = AppConfig.environment.s3.region.get
|
||||||
|
#
|
||||||
|
# Don't delete files from the store
|
||||||
|
# config.existing_remote_files = "keep"
|
||||||
|
#
|
||||||
|
# Automatically replace files with their equivalent gzip compressed version
|
||||||
|
# config.gzip_compression = true
|
||||||
|
#
|
||||||
|
# Use the Rails generated 'manifest.yml' file to produce the list of files to
|
||||||
|
# upload instead of searching the assets directory.
|
||||||
|
# config.manifest = true
|
||||||
|
#
|
||||||
|
# Fail silently. Useful for environments such as Heroku
|
||||||
|
# config.fail_silently = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
# the COPYRIGHT file.
|
# the COPYRIGHT file.
|
||||||
|
|
||||||
Diaspora::Application.configure do
|
Diaspora::Application.configure do
|
||||||
config.serve_static_assets = AppConfig.environment.serve_static_assets?
|
config.serve_static_assets = AppConfig.environment.assets.serve?
|
||||||
# config.static_cache_control = "public, max-age=3600" if AppConfig[:serve_static_assets].to_s == 'true'
|
# config.static_cache_control = "public, max-age=3600" if AppConfig[:serve_static_assets].to_s == 'true'
|
||||||
end
|
end
|
||||||
Loading…
Reference in a new issue