asset_sync 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source :rubygems
2
-
3
2
  gemspec
data/README.md CHANGED
@@ -7,6 +7,41 @@ bucket, optionally deleting unused files and only uploading the files it needs t
7
7
 
8
8
  This was initially built and is intended to work on [Heroku](http://heroku.com)
9
9
 
10
+ ## KNOWN ISSUES (IMPORTANT)
11
+
12
+ We are currently trying to talk with Heroku to iron these out.
13
+
14
+ 1. Will not work on heroku on an application with a *RAILS_ENV* configured as anything other than production
15
+ 2. Will not work on heroku using ENV variables with the configuration as described below, you must hardcode all variables
16
+
17
+ ### 1. RAILS_ENV
18
+
19
+ When you see `rake assets:precompile` during deployment. Herok is actually running something like
20
+
21
+ env RAILS_ENV=production DATABASE_URL=scheme://user:pass@127.0.0.1/dbname bundle exec rake assets:precompile 2>&1
22
+
23
+ This means the *RAILS_ENV* you have set via *heroku:config* is not used.
24
+
25
+ **Workaround:** you could have just one S3 bucket dedicated to assets and ensure to set keep the existing remote files
26
+
27
+ AssetSync.configure do |config|
28
+ ...
29
+ config.aws_bucket = 'app-assets'
30
+ config.existing_remote_files = "keep"
31
+ end
32
+
33
+ ### 2. ENV varables not available
34
+
35
+ Currently when heroku runs `rake assets:precompile` during deployment. It does not load your Rails application's environment config. This means using any **ENV** variables you could normally depend on are not available.
36
+
37
+ **Workaround:** you could just hardcode your AWS credentials in the initializer or yml
38
+
39
+ AssetSync.configure do |config|
40
+ config.aws_access_key = 'xxx'
41
+ config.aws_access_secret = 'xxx'
42
+ config.aws_bucket = 'mybucket'
43
+ end
44
+
10
45
  ## Installation
11
46
 
12
47
  Add the gem to your Gemfile
@@ -1,6 +1,8 @@
1
1
  module AssetSync
2
2
  class Storage
3
3
 
4
+ class BucketNotFound < StandardError; end
5
+
4
6
  attr_accessor :config
5
7
 
6
8
  def initialize(cfg)
@@ -28,6 +30,7 @@ module AssetSync
28
30
  end
29
31
 
30
32
  def get_remote_files
33
+ raise BucketNotFound.new("AWS Bucket: #{self.config.aws_bucket} not found.") unless bucket
31
34
  return bucket.files.map { |f| f.key }
32
35
  end
33
36
 
@@ -1,3 +1,3 @@
1
1
  module AssetSync
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,85 +1,81 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: asset_sync
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
4
5
  prerelease:
5
- version: 0.1.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Simon Hamilton
9
9
  - David Rice
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2011-08-30 00:00:00 +01:00
15
- default_executable:
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
13
+ date: 2011-08-30 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
18
16
  name: fog
19
- prerelease: false
20
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70173874548220 !ruby/object:Gem::Requirement
21
18
  none: false
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: "0"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
26
23
  type: :runtime
27
- version_requirements: *id001
28
- - !ruby/object:Gem::Dependency
29
- name: activemodel
30
24
  prerelease: false
31
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *70173874548220
26
+ - !ruby/object:Gem::Dependency
27
+ name: activemodel
28
+ requirement: &70173874547760 !ruby/object:Gem::Requirement
32
29
  none: false
33
- requirements:
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
37
34
  type: :runtime
38
- version_requirements: *id002
39
- - !ruby/object:Gem::Dependency
40
- name: rspec
41
35
  prerelease: false
42
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *70173874547760
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ requirement: &70173874547260 !ruby/object:Gem::Requirement
43
40
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
48
45
  type: :development
49
- version_requirements: *id003
50
- - !ruby/object:Gem::Dependency
51
- name: bundler
52
46
  prerelease: false
53
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *70173874547260
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: &70173874540440 !ruby/object:Gem::Requirement
54
51
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
59
56
  type: :development
60
- version_requirements: *id004
61
- - !ruby/object:Gem::Dependency
62
- name: jeweler
63
57
  prerelease: false
64
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *70173874540440
59
+ - !ruby/object:Gem::Dependency
60
+ name: jeweler
61
+ requirement: &70173874540020 !ruby/object:Gem::Requirement
65
62
  none: false
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
70
67
  type: :development
71
- version_requirements: *id005
72
- description: After you run assets:precompile your assets will be synchronised with your S3 bucket, deleting unused files and only uploading the files it needs to.
73
- email:
68
+ prerelease: false
69
+ version_requirements: *70173874540020
70
+ description: After you run assets:precompile your assets will be synchronised with
71
+ your S3 bucket, deleting unused files and only uploading the files it needs to.
72
+ email:
74
73
  - shamilton@rumblelabs.com
75
74
  - me@davidjrice.co.uk
76
75
  executables: []
77
-
78
76
  extensions: []
79
-
80
77
  extra_rdoc_files: []
81
-
82
- files:
78
+ files:
83
79
  - .gitignore
84
80
  - Gemfile
85
81
  - README.md
@@ -97,35 +93,31 @@ files:
97
93
  - spec/asset_sync_spec.rb
98
94
  - spec/spec_helper.rb
99
95
  - spec/with_yml/config/asset_sync.yml
100
- has_rdoc: true
101
96
  homepage: https://github.com/rumblelabs/asset_sync
102
97
  licenses: []
103
-
104
98
  post_install_message:
105
99
  rdoc_options: []
106
-
107
- require_paths:
100
+ require_paths:
108
101
  - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
102
+ required_ruby_version: !ruby/object:Gem::Requirement
110
103
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: "0"
115
- required_rubygems_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ! '>='
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
109
  none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: "0"
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
121
114
  requirements: []
122
-
123
115
  rubyforge_project: asset_sync
124
- rubygems_version: 1.6.2
116
+ rubygems_version: 1.8.10
125
117
  signing_key:
126
118
  specification_version: 3
127
119
  summary: Synchronises Assets between Rails and S3
128
- test_files:
120
+ test_files:
129
121
  - spec/asset_sync_spec.rb
130
122
  - spec/spec_helper.rb
131
123
  - spec/with_yml/config/asset_sync.yml