asset_sync 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -1
- data/lib/asset_sync.rb +5 -1
- data/lib/asset_sync/asset_sync.rb +2 -2
- data/lib/asset_sync/config.rb +5 -5
- data/lib/asset_sync/engine.rb +27 -0
- data/lib/asset_sync/railtie.rb +25 -0
- data/lib/asset_sync/version.rb +1 -1
- data/lib/generators/asset_sync/install_generator.rb +3 -3
- data/lib/generators/asset_sync/templates/asset_sync.yml +9 -3
- data/lib/tasks/asset_sync.rake +7 -0
- metadata +14 -11
data/README.md
CHANGED
@@ -16,7 +16,7 @@ We are currently trying to talk with Heroku to iron these out.
|
|
16
16
|
|
17
17
|
### 1. RAILS_ENV
|
18
18
|
|
19
|
-
When you see `rake assets:precompile` during deployment.
|
19
|
+
When you see `rake assets:precompile` during deployment. Heroku is actually running something like
|
20
20
|
|
21
21
|
env RAILS_ENV=production DATABASE_URL=scheme://user:pass@127.0.0.1/dbname bundle exec rake assets:precompile 2>&1
|
22
22
|
|
data/lib/asset_sync.rb
CHANGED
@@ -8,7 +8,6 @@ module AssetSync
|
|
8
8
|
|
9
9
|
def config
|
10
10
|
@config ||= Config.new
|
11
|
-
raise Config::Invalid.new(@config.errors.full_messages.join(', ')) unless @config && @config.valid?
|
12
11
|
@config
|
13
12
|
end
|
14
13
|
|
@@ -22,9 +21,10 @@ module AssetSync
|
|
22
21
|
end
|
23
22
|
|
24
23
|
def sync
|
24
|
+
raise Config::Invalid.new(config.errors.full_messages.join(', ')) unless config && config.valid?
|
25
25
|
self.storage.sync
|
26
26
|
end
|
27
27
|
|
28
28
|
end
|
29
29
|
|
30
|
-
end
|
30
|
+
end
|
data/lib/asset_sync/config.rb
CHANGED
@@ -40,11 +40,11 @@ module AssetSync
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def load_yml!
|
43
|
-
self.aws_access_key = yml["aws_access_key"]
|
44
|
-
self.aws_access_secret = yml["aws_access_secret"]
|
45
|
-
self.aws_bucket = yml["aws_bucket"]
|
46
|
-
self.aws_region = yml["aws_region"]
|
47
|
-
self.existing_remote_files = yml["existing_remote_files"]
|
43
|
+
self.aws_access_key = yml["aws_access_key"] if yml.has_key?("aws_access_key")
|
44
|
+
self.aws_access_secret = yml["aws_access_secret"] if yml.has_key?("aws_access_secret")
|
45
|
+
self.aws_bucket = yml["aws_bucket"] if yml.has_key?("aws_bucket")
|
46
|
+
self.aws_region = yml["aws_region"] if yml.has_key?("aws_region")
|
47
|
+
self.existing_remote_files = yml["existing_remote_files"] if yml.has_key?("existing_remote_files")
|
48
48
|
|
49
49
|
# TODO deprecate old style config settings
|
50
50
|
self.aws_access_key = yml["access_key_id"] if yml.has_key?("access_key_id")
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class Engine < Rails::Engine
|
2
|
+
|
3
|
+
engine_name "asset_sync"
|
4
|
+
|
5
|
+
initializer "asset_sync config", :group => :all do |app|
|
6
|
+
app_initializer = File.join(Rails.root, 'config/initializers/asset_sync.rb')
|
7
|
+
app_yaml = File.join(Rails.root, 'config/asset_sync.yml')
|
8
|
+
|
9
|
+
if File.exists?( app_initializer )
|
10
|
+
STDERR.puts "AssetSync: using #{app_initializer}"
|
11
|
+
load app_initializer
|
12
|
+
else
|
13
|
+
STDERR.puts "AssetSync: using default configuration from built-in initializer"
|
14
|
+
AssetSync.configure do |config|
|
15
|
+
config.aws_access_key = ENV['AWS_ACCESS_KEY']
|
16
|
+
config.aws_access_secret = ENV['AWS_ACCESS_SECRET']
|
17
|
+
config.aws_bucket = ENV['AWS_BUCKET']
|
18
|
+
config.existing_remote_files = "keep"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
if File.exists?( app_yaml )
|
23
|
+
STDERR.puts "AssetSync: YAML file found #{app_yaml} settings will be merged into the configuration"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class Rails::Railtie::Configuration
|
2
|
+
# Adds compass configuration accessor to the application configuration.
|
3
|
+
#
|
4
|
+
# If a configuration file for compass exists, it will be read in and
|
5
|
+
# the project's configuration values will already be set on the config
|
6
|
+
# object.
|
7
|
+
#
|
8
|
+
# For example:
|
9
|
+
#
|
10
|
+
# module MyApp
|
11
|
+
# class Application < Rails::Application
|
12
|
+
# config.compass.line_comments = !Rails.env.production?
|
13
|
+
# config.compass.fonts_dir = "app/assets/fonts"
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# It is suggested that you create a compass configuration file if you
|
18
|
+
# want a quicker boot time when using the compass command line tool.
|
19
|
+
#
|
20
|
+
# For more information on available configuration options see:
|
21
|
+
# http://compass-style.org/help/tutorials/configuration-reference/
|
22
|
+
def asset_sync
|
23
|
+
AssetSync.config
|
24
|
+
end
|
25
|
+
end
|
data/lib/asset_sync/version.rb
CHANGED
@@ -3,19 +3,25 @@ defaults: &defaults
|
|
3
3
|
secret_access_key: "<%= aws_access_secret %>"
|
4
4
|
# You may need to specify what region your S3 bucket is in
|
5
5
|
# region: "eu-west-1"
|
6
|
+
existing_remote_files: keep
|
6
7
|
|
7
8
|
development:
|
8
9
|
<<: *defaults
|
9
10
|
bucket: "<%= app_name %>_development"
|
10
|
-
|
11
|
+
# Existing pre-compiled assets on S3 will be kept
|
12
|
+
# existing_remote_files: keep
|
11
13
|
|
12
14
|
test:
|
13
15
|
<<: *defaults
|
14
16
|
bucket: "<%= app_name %>_test"
|
15
|
-
|
17
|
+
|
18
|
+
staging:
|
19
|
+
<<: *defaults
|
20
|
+
bucket: "<%= app_name %>_test"
|
16
21
|
|
17
22
|
production:
|
18
23
|
<<: *defaults
|
19
24
|
bucket: "<%= app_name %>_production"
|
20
|
-
|
25
|
+
# Existing pre-compiled assets on S3 will be deleted
|
26
|
+
# existing_remote_files: delete
|
21
27
|
|
@@ -0,0 +1,7 @@
|
|
1
|
+
Rake::Task["assets:precompile"].enhance do
|
2
|
+
# rails 3.1.1 will clear out Rails.application.config if the env vars
|
3
|
+
# RAILS_GROUP and RAILS_ENV are not defined. We need to reload the
|
4
|
+
# assets environment in this case.
|
5
|
+
Rake::Task["assets:environment"].invoke if Rake::Task.task_defined?("assets:environment")
|
6
|
+
AssetSync.sync
|
7
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asset_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2011-08-30 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: fog
|
17
|
-
requirement: &
|
17
|
+
requirement: &70350244355240 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70350244355240
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activemodel
|
28
|
-
requirement: &
|
28
|
+
requirement: &70350244354660 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70350244354660
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &70350244353580 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70350244353580
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: bundler
|
50
|
-
requirement: &
|
50
|
+
requirement: &70350244353160 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70350244353160
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: jeweler
|
61
|
-
requirement: &
|
61
|
+
requirement: &70350244352660 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70350244352660
|
70
70
|
description: After you run assets:precompile your assets will be synchronised with
|
71
71
|
your S3 bucket, deleting unused files and only uploading the files it needs to.
|
72
72
|
email:
|
@@ -84,12 +84,15 @@ files:
|
|
84
84
|
- lib/asset_sync.rb
|
85
85
|
- lib/asset_sync/asset_sync.rb
|
86
86
|
- lib/asset_sync/config.rb
|
87
|
+
- lib/asset_sync/engine.rb
|
88
|
+
- lib/asset_sync/railtie.rb
|
87
89
|
- lib/asset_sync/storage.rb
|
88
90
|
- lib/asset_sync/version.rb
|
89
91
|
- lib/generators/asset_sync/install_generator.rb
|
90
92
|
- lib/generators/asset_sync/templates/asset_sync.rake
|
91
93
|
- lib/generators/asset_sync/templates/asset_sync.rb
|
92
94
|
- lib/generators/asset_sync/templates/asset_sync.yml
|
95
|
+
- lib/tasks/asset_sync.rake
|
93
96
|
- spec/asset_sync_spec.rb
|
94
97
|
- spec/spec_helper.rb
|
95
98
|
- spec/with_yml/config/asset_sync.yml
|