asset_sync 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
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. Herok is actually running something like
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
@@ -3,4 +3,8 @@ require 'active_model'
3
3
  require 'erb'
4
4
  require "asset_sync/asset_sync"
5
5
  require 'asset_sync/config'
6
- require 'asset_sync/storage'
6
+ require 'asset_sync/storage'
7
+
8
+
9
+ require 'asset_sync/railtie'
10
+ require 'asset_sync/engine'
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module AssetSync
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -34,8 +34,8 @@ module AssetSync
34
34
  end
35
35
  end
36
36
 
37
- def generate_rake_task
38
- template "asset_sync.rake", "lib/tasks/asset_sync.rake"
39
- end
37
+ # def generate_rake_task
38
+ # template "asset_sync.rake", "lib/tasks/asset_sync.rake"
39
+ # end
40
40
  end
41
41
  end
@@ -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
- existing_remote_files: keep # Existing pre-compiled assets on S3 will be kept
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
- existing_remote_files: keep
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
- existing_remote_files: delete # Existing pre-compiled assets on S3 will be deleted
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.6
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: &70173874548220 !ruby/object:Gem::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: *70173874548220
25
+ version_requirements: *70350244355240
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activemodel
28
- requirement: &70173874547760 !ruby/object:Gem::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: *70173874547760
36
+ version_requirements: *70350244354660
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &70173874547260 !ruby/object:Gem::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: *70173874547260
47
+ version_requirements: *70350244353580
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: bundler
50
- requirement: &70173874540440 !ruby/object:Gem::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: *70173874540440
58
+ version_requirements: *70350244353160
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: jeweler
61
- requirement: &70173874540020 !ruby/object:Gem::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: *70173874540020
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