asset_sync 0.1.4 → 0.1.6
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/Gemfile +0 -1
- data/README.md +35 -0
- data/lib/asset_sync/storage.rb +3 -0
- data/lib/asset_sync/version.rb +1 -1
- metadata +63 -71
data/Gemfile
CHANGED
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
|
data/lib/asset_sync/storage.rb
CHANGED
|
@@ -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
|
|
data/lib/asset_sync/version.rb
CHANGED
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
63
|
+
requirements:
|
|
64
|
+
- - ! '>='
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '0'
|
|
70
67
|
type: :development
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
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
|