asset_sync 0.4.0 → 0.4.1
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 -0
- data/asset_sync.gemspec +1 -1
- data/lib/asset_sync/asset_sync.rb +7 -1
- data/lib/asset_sync/config.rb +7 -0
- data/lib/asset_sync/engine.rb +3 -0
- data/lib/asset_sync/version.rb +1 -1
- data/lib/tasks/asset_sync.rake +1 -1
- data/spec/asset_sync_spec.rb +39 -0
- data/spec/aws_with_yml/config/asset_sync.yml +4 -0
- metadata +13 -12
data/README.md
CHANGED
@@ -221,6 +221,7 @@ AssetSync.config.gzip_compression == ENV['ASSET_SYNC_GZIP_COMPRESSION']
|
|
221
221
|
* **existing_remote_files**: (`'keep', 'delete', 'ignore'`) what to do with previously precompiled files. **default:** `'keep'`
|
222
222
|
* **gzip\_compression**: (`true, false`) when enabled, will automatically replace files that have a gzip compressed equivalent with the compressed version. **default:** `'false'`
|
223
223
|
* **manifest**: (`true, false`) when enabled, will use the `manifest.yml` generated by Rails to get the list of local files to upload. **experimental**. **default:** `'false'`
|
224
|
+
* **enabled**: (`true, false`) when false, will disable asset sync. **default:** `'true'` (enabled)
|
224
225
|
|
225
226
|
#### Fog (Required)
|
226
227
|
* **fog\_provider**: your storage provider *AWS* (S3) or *Rackspace* (Cloud Files) or *Google* (Google Storage)
|
data/asset_sync.gemspec
CHANGED
@@ -6,7 +6,7 @@ require "asset_sync/version"
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "asset_sync"
|
8
8
|
s.version = AssetSync::VERSION
|
9
|
-
s.date = "2012-04
|
9
|
+
s.date = "2012-05-04"
|
10
10
|
s.platform = Gem::Platform::RUBY
|
11
11
|
s.authors = ["Simon Hamilton", "David Rice", "Phil McClure"]
|
12
12
|
s.email = ["shamilton@rumblelabs.com", "me@davidjrice.co.uk", "pmcclure@rumblelabs.com"]
|
@@ -21,6 +21,8 @@ module AssetSync
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def sync
|
24
|
+
return unless AssetSync.enabled?
|
25
|
+
|
24
26
|
if config.fail_silently?
|
25
27
|
self.warn config.errors.full_messages.join(', ') unless config && config.valid?
|
26
28
|
else
|
@@ -37,6 +39,10 @@ module AssetSync
|
|
37
39
|
STDOUT.puts msg if ENV["RAILS_GROUPS"] == "assets"
|
38
40
|
end
|
39
41
|
|
42
|
+
def enabled?
|
43
|
+
config.enabled?
|
44
|
+
end
|
45
|
+
|
40
46
|
end
|
41
47
|
|
42
|
-
end
|
48
|
+
end
|
data/lib/asset_sync/config.rb
CHANGED
@@ -10,6 +10,7 @@ module AssetSync
|
|
10
10
|
attr_accessor :manifest
|
11
11
|
attr_accessor :fail_silently
|
12
12
|
attr_accessor :always_upload
|
13
|
+
attr_accessor :enabled
|
13
14
|
|
14
15
|
# FOG configuration
|
15
16
|
attr_accessor :fog_provider # Currently Supported ['AWS', 'Rackspace']
|
@@ -44,6 +45,7 @@ module AssetSync
|
|
44
45
|
self.manifest = false
|
45
46
|
self.fail_silently = false
|
46
47
|
self.always_upload = []
|
48
|
+
self.enabled = true
|
47
49
|
load_yml! if yml_exists?
|
48
50
|
end
|
49
51
|
|
@@ -69,6 +71,10 @@ module AssetSync
|
|
69
71
|
fail_silently == true
|
70
72
|
end
|
71
73
|
|
74
|
+
def enabled?
|
75
|
+
enabled == true
|
76
|
+
end
|
77
|
+
|
72
78
|
def rackspace?
|
73
79
|
fog_provider == 'Rackspace'
|
74
80
|
end
|
@@ -95,6 +101,7 @@ module AssetSync
|
|
95
101
|
end
|
96
102
|
|
97
103
|
def load_yml!
|
104
|
+
self.enabled = yml["enabled"] if yml.has_key?('enabled')
|
98
105
|
self.fog_provider = yml["fog_provider"]
|
99
106
|
self.fog_directory = yml["fog_directory"]
|
100
107
|
self.fog_region = yml["fog_region"]
|
data/lib/asset_sync/engine.rb
CHANGED
@@ -25,6 +25,9 @@ class Engine < Rails::Engine
|
|
25
25
|
config.google_storage_access_key_id = ENV['GOOGLE_STORAGE_ACCESS_KEY_ID']
|
26
26
|
config.google_storage_secret_access_key = ENV['GOOGLE_STORAGE_SECRET_ACCESS_KEY']
|
27
27
|
|
28
|
+
if ENV.has_key? 'ASSET_SYNC_ENABLED'
|
29
|
+
config.enabled = ENV['ASSET_SYNC_ENABLED'] == 'true'
|
30
|
+
end
|
28
31
|
config.existing_remote_files = ENV['ASSET_SYNC_EXISTING_REMOTE_FILES'] || "keep"
|
29
32
|
config.gzip_compression = ENV['ASSET_SYNC_GZIP_COMPRESSION'] == 'true'
|
30
33
|
config.manifest = ENV['ASSET_SYNC_MANIFEST'] == 'true'
|
data/lib/asset_sync/version.rb
CHANGED
data/lib/tasks/asset_sync.rake
CHANGED
data/spec/asset_sync_spec.rb
CHANGED
@@ -16,6 +16,11 @@ describe AssetSync do
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
it "should default AssetSync to enabled" do
|
20
|
+
AssetSync.config.enabled?.should be_true
|
21
|
+
AssetSync.enabled?.should be_true
|
22
|
+
end
|
23
|
+
|
19
24
|
it "should configure provider as AWS" do
|
20
25
|
AssetSync.config.fog_provider.should == 'AWS'
|
21
26
|
AssetSync.config.should be_aws
|
@@ -60,6 +65,11 @@ describe AssetSync do
|
|
60
65
|
AssetSync.config = AssetSync::Config.new
|
61
66
|
end
|
62
67
|
|
68
|
+
it "should default AssetSync to enabled" do
|
69
|
+
AssetSync.config.enabled?.should be_true
|
70
|
+
AssetSync.enabled?.should be_true
|
71
|
+
end
|
72
|
+
|
63
73
|
it "should configure aws_access_key_id" do
|
64
74
|
AssetSync.config.aws_access_key_id.should == "xxxx"
|
65
75
|
end
|
@@ -89,6 +99,22 @@ describe AssetSync do
|
|
89
99
|
end
|
90
100
|
end
|
91
101
|
|
102
|
+
describe 'from yml, exporting to a mobile hybrid development directory' do
|
103
|
+
before(:each) do
|
104
|
+
Rails.env.replace('hybrid')
|
105
|
+
set_rails_root('aws_with_yml')
|
106
|
+
AssetSync.config = AssetSync::Config.new
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should be disabled" do
|
110
|
+
lambda{ AssetSync.sync }.should_not raise_error(AssetSync::Config::Invalid)
|
111
|
+
end
|
112
|
+
|
113
|
+
after(:each) do
|
114
|
+
Rails.env.replace('test')
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
92
118
|
describe 'with no configuration' do
|
93
119
|
before(:each) do
|
94
120
|
AssetSync.config = AssetSync::Config.new
|
@@ -99,6 +125,19 @@ describe AssetSync do
|
|
99
125
|
end
|
100
126
|
end
|
101
127
|
|
128
|
+
describe "with no other configuration than enabled = false" do
|
129
|
+
before(:each) do
|
130
|
+
AssetSync.config = AssetSync::Config.new
|
131
|
+
AssetSync.configure do |config|
|
132
|
+
config.enabled = false
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should do nothing, without complaining" do
|
137
|
+
lambda{ AssetSync.sync }.should_not raise_error(AssetSync::Config::Invalid)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
102
141
|
describe 'with fail_silent configuration' do
|
103
142
|
before(:each) do
|
104
143
|
AssetSync.config = AssetSync::Config.new
|
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.4.
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-04
|
14
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: fog
|
18
|
-
requirement: &
|
18
|
+
requirement: &70254273780720 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70254273780720
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activemodel
|
29
|
-
requirement: &
|
29
|
+
requirement: &70254273780280 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70254273780280
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: rspec
|
40
|
-
requirement: &
|
40
|
+
requirement: &70254273779760 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :development
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70254273779760
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: bundler
|
51
|
-
requirement: &
|
51
|
+
requirement: &70254273779320 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70254273779320
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: jeweler
|
62
|
-
requirement: &
|
62
|
+
requirement: &70254273778800 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70254273778800
|
71
71
|
description: After you run assets:precompile your compiled assets will be synchronised
|
72
72
|
with your S3 bucket.
|
73
73
|
email:
|
@@ -138,3 +138,4 @@ test_files:
|
|
138
138
|
- spec/rackspace_with_yml/config/asset_sync.yml
|
139
139
|
- spec/spec_helper.rb
|
140
140
|
- spec/storage_spec.rb
|
141
|
+
has_rdoc:
|