asset_sync 1.3.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd1393284c71b816a4c7adf08939bc98a3db8c85
4
- data.tar.gz: dcd639f471d42d101d06203acbd395532948db5c
3
+ metadata.gz: 5201ed972f382f2871c2a1ac0b9a6815c09d405b
4
+ data.tar.gz: 623dd4f586d82eb6603b2b536a322679d16015d4
5
5
  SHA512:
6
- metadata.gz: 56449736185bb8f05f762d366124ea6024811cfc3b34754a4c8f1673a29bba9cc6d423d3a523fc2a16339fd43dad702f7d3fe8c8e6d59451da7add64817e43ae
7
- data.tar.gz: 28495c0ede2eb463c35afc429aa8d6b527b03a7c4595835bfcf12da5c7dcc96631f524df73ff612c9551a0faeb729abea86f294cdd367b12c987a7f1708a167d
6
+ metadata.gz: 94a34b39843e11ea819de2df23a48b71ee985edd709c77eb28a085e9c0be5d8c4307e4331ca77b2fa03cef8d3ba7136c700498719f06419383cc287c67f774b6
7
+ data.tar.gz: 667284efc400775f931a7164d251f087b6b61fdd8dbe2284eb8b50059ce3dd2593cf02c01ef714bd0bb4fb57f05203b25158476cfe49e00b163f6d36844bd459
@@ -18,6 +18,13 @@ This project adheres to [Semantic Versioning](http://semver.org/).
18
18
  - Nothing
19
19
 
20
20
 
21
+ ## [2.0.0] - 2016-12-21
22
+
23
+ ### Changed
24
+
25
+ - [BREAKING] require “fog-core” instead of “fog” as runtime requirement
26
+
27
+
21
28
  ## [1.3.0] - 2016-11-30
22
29
 
23
30
  ### Changed
@@ -790,7 +797,8 @@ Changes:
790
797
  * Merge branch 'sinatra'
791
798
 
792
799
 
793
- [Unreleased]: https://github.com/AssetSync/asset_sync/compare/v1.3.0...HEAD
800
+ [Unreleased]: https://github.com/AssetSync/asset_sync/compare/v2.0.0...HEAD
801
+ [2.0.0]: https://github.com/AssetSync/asset_sync/compare/v1.3.0...v2.0.0
794
802
  [1.3.0]: https://github.com/AssetSync/asset_sync/compare/v1.2.1...v1.3.0
795
803
  [1.2.1]: https://github.com/AssetSync/asset_sync/compare/v1.2.0...v1.2.1
796
804
  [1.2.0]: https://github.com/AssetSync/asset_sync/compare/v1.1.0...v1.2.0
data/README.md CHANGED
@@ -12,26 +12,20 @@ This was initially built and is intended to work on [Heroku](http://heroku.com)
12
12
 
13
13
  ## Upgrading?
14
14
 
15
- If you are upgrading from a version of asset_sync **< 0.2.0** (i.e. 0.1.x). All of the references to config variables have changed to reference those used in **Fog**. Ensure to backup your `asset_sync.rb` or `asset_sync.yml` files and re-run the generator. You may also then need to update your ENV configuration variables (or you can change the ones that are referenced).
15
+ Upgraded from 1.x? Read `UPGRADING.md`
16
16
 
17
17
  ## Installation
18
18
 
19
- Add the gem to your Gemfile
19
+ Since 2.x, Asset Sync depends on gem `fog-core` instead of `fog`.
20
+ This is due to `fog` is including many unused storage provider gems as its dependencies.
20
21
 
21
- ``` ruby
22
- gem 'asset_sync'
23
- ```
24
-
25
- ### Optimized Fog loading
26
-
27
- Since AssetSync doesn't know which parts of Fog you intend to use, it will just load the entire library.
28
- If you prefer to load fewer classes into your application, which will reduce load time and memory use,
29
- you need to load those parts of Fog yourself *before* loading AssetSync:
22
+ Asset Sync has no idea about what provider will be used,
23
+ so you are responsible for bundling the right gem for the provider to be used.
30
24
 
31
25
  In your Gemfile:
32
26
  ```ruby
33
- gem "fog", "~>1.20", require: "fog/aws/storage"
34
27
  gem "asset_sync"
28
+ gem "fog-aws"
35
29
  ```
36
30
 
37
31
  ### Extended Installation (Faster sync with turbosprockets)
@@ -0,0 +1,25 @@
1
+ # Guide to upgrading from AssetSync 1.x to 2.x
2
+
3
+ Make sure that you're running the latest AssetSync 1.x release.
4
+
5
+ This upgrading guide touches on:
6
+ - Changed dependencies
7
+
8
+
9
+ ## Changed dependencies
10
+ Asset Sync now depends on gem `fog-core` instead of `fog`.
11
+ This is due to `fog` is including many unused storage provider gems as its dependencies.
12
+
13
+ Asset Sync has no idea about what provider will be used,
14
+ so you are responsible for bundling the right gem for the provider to be used.
15
+
16
+ For example, when using AWS as fog provider:
17
+ ```ruby
18
+ # Gemfile
19
+ gem "asset_sync"
20
+ gem "fog-aws"
21
+ ```
22
+
23
+ If you don't install the required gem,
24
+ Fog will complain (by exception) about it when provider is set by Asset Sync.
25
+
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.rubyforge_project = "asset_sync"
20
20
 
21
- s.add_dependency('fog', ">= 1.8.0")
21
+ s.add_dependency("fog-core")
22
22
  s.add_dependency('unf')
23
23
  s.add_dependency('activemodel')
24
24
  s.add_dependency('mime-types')
@@ -27,6 +27,8 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency "bundler"
28
28
  s.add_development_dependency "jeweler"
29
29
 
30
+ s.add_development_dependency "fog-aws"
31
+
30
32
  s.add_development_dependency "uglifier"
31
33
  s.add_development_dependency "appraisal"
32
34
 
@@ -1,6 +1,3 @@
1
- require 'fog' unless defined?(::Fog)
2
- require 'active_model'
3
- require 'erb'
4
1
  require "asset_sync/asset_sync"
5
2
  require 'asset_sync/config'
6
3
  require 'asset_sync/storage'
@@ -1,3 +1,7 @@
1
+ require "active_model"
2
+ require "erb"
3
+ require "yaml"
4
+
1
5
  module AssetSync
2
6
  class Config
3
7
  include ActiveModel::Validations
@@ -61,12 +65,12 @@ module AssetSync
61
65
  self.run_on_precompile = true
62
66
  self.cdn_distribution_id = nil
63
67
  self.invalidate = []
64
- load_yml! if defined?(Rails) && yml_exists?
68
+ load_yml! if defined?(::Rails) && yml_exists?
65
69
  end
66
70
 
67
71
  def manifest_path
68
72
  directory =
69
- Rails.application.config.assets.manifest || default_manifest_directory
73
+ ::Rails.application.config.assets.manifest || default_manifest_directory
70
74
  File.join(directory, "manifest.yml")
71
75
  end
72
76
 
@@ -111,24 +115,24 @@ module AssetSync
111
115
  end
112
116
 
113
117
  def yml_exists?
114
- defined?(Rails.root) ? File.exist?(self.yml_path) : false
118
+ defined?(::Rails.root) ? File.exist?(self.yml_path) : false
115
119
  end
116
120
 
117
121
  def yml
118
- @yml ||= YAML.load(ERB.new(IO.read(yml_path)).result)[Rails.env] || {}
122
+ @yml ||= ::YAML.load(::ERB.new(IO.read(yml_path)).result)[::Rails.env] || {}
119
123
  end
120
124
 
121
125
  def yml_path
122
- Rails.root.join("config", "asset_sync.yml").to_s
126
+ ::Rails.root.join("config", "asset_sync.yml").to_s
123
127
  end
124
128
 
125
129
  def assets_prefix
126
130
  # Fix for Issue #38 when Rails.config.assets.prefix starts with a slash
127
- self.prefix || Rails.application.config.assets.prefix.sub(/^\//, '')
131
+ self.prefix || ::Rails.application.config.assets.prefix.sub(/^\//, '')
128
132
  end
129
133
 
130
134
  def public_path
131
- @public_path || Rails.public_path
135
+ @public_path || ::Rails.public_path
132
136
  end
133
137
 
134
138
  def load_yml!
@@ -212,7 +216,7 @@ module AssetSync
212
216
  private
213
217
 
214
218
  def default_manifest_directory
215
- File.join(Rails.public_path, assets_prefix)
219
+ File.join(::Rails.public_path, assets_prefix)
216
220
  end
217
221
  end
218
222
  end
@@ -1,3 +1,5 @@
1
+ require "fog/core"
2
+
1
3
  module AssetSync
2
4
  class Storage
3
5
  REGEXP_FINGERPRINTED_FILES = /^(.*)\/([^-]+)-[^\.]+\.([^\.]+)$/
@@ -61,7 +63,7 @@ module AssetSync
61
63
  elsif File.exist?(self.config.manifest_path)
62
64
  log "Using: Manifest #{self.config.manifest_path}"
63
65
  yml = YAML.load(IO.read(self.config.manifest_path))
64
-
66
+
65
67
  return yml.map do |original, compiled|
66
68
  # Upload font originals and compiled
67
69
  if original =~ /^.+(eot|svg|ttf|woff)$/
@@ -1,3 +1,3 @@
1
1
  module AssetSync
2
- VERSION = "1.3.0"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper'
2
+ require "fog/aws"
2
3
 
3
4
  def bucket(name)
4
5
  options = {
@@ -23,12 +24,12 @@ describe "AssetSync" do
23
24
  @prefix = SecureRandom.hex(6)
24
25
  end
25
26
 
26
- let(:app_js_regex){
27
- /#{@prefix}\/application-[a-zA-Z0-9]*.js$/
27
+ let(:app_js_regex){
28
+ /#{@prefix}\/application-[a-zA-Z0-9]*.js$/
28
29
  }
29
30
 
30
- let(:app_js_gz_regex){
31
- /#{@prefix}\/application-[a-zA-Z0-9]*.js.gz$/
31
+ let(:app_js_gz_regex){
32
+ /#{@prefix}\/application-[a-zA-Z0-9]*.js.gz$/
32
33
  }
33
34
 
34
35
  let(:files){ bucket(@prefix).files }
@@ -148,7 +148,7 @@ describe AssetSync do
148
148
  end
149
149
 
150
150
  it "should be disabled" do
151
- expect{ AssetSync.sync }.not_to raise_error()
151
+ expect{ AssetSync.sync }.not_to raise_error
152
152
  end
153
153
 
154
154
  after(:each) do
@@ -162,7 +162,7 @@ describe AssetSync do
162
162
  end
163
163
 
164
164
  it "should be invalid" do
165
- expect{ AssetSync.sync }.to raise_error()
165
+ expect{ AssetSync.sync }.to raise_error(::AssetSync::Config::Invalid)
166
166
  end
167
167
  end
168
168
 
@@ -175,7 +175,7 @@ describe AssetSync do
175
175
  end
176
176
 
177
177
  it "should do nothing, without complaining" do
178
- expect{ AssetSync.sync }.not_to raise_error()
178
+ expect{ AssetSync.sync }.not_to raise_error
179
179
  end
180
180
  end
181
181
 
@@ -189,7 +189,7 @@ describe AssetSync do
189
189
  end
190
190
 
191
191
  it "should not raise an invalid exception" do
192
- expect{ AssetSync.sync }.not_to raise_error()
192
+ expect{ AssetSync.sync }.not_to raise_error
193
193
  end
194
194
 
195
195
  it "should output a warning to stderr" do
@@ -208,7 +208,7 @@ describe AssetSync do
208
208
  end
209
209
 
210
210
  it "should not raise an invalid exception" do
211
- expect{ AssetSync.sync }.not_to raise_error()
211
+ expect{ AssetSync.sync }.not_to raise_error
212
212
  end
213
213
  end
214
214
 
@@ -86,7 +86,7 @@ describe AssetSync do
86
86
  end
87
87
 
88
88
  it "should be invalid" do
89
- expect{ AssetSync.sync }.to raise_error()
89
+ expect{ AssetSync.sync }.to raise_error(::AssetSync::Config::Invalid)
90
90
  end
91
91
  end
92
92
 
@@ -100,7 +100,7 @@ describe AssetSync do
100
100
  end
101
101
 
102
102
  it "should not raise an invalid exception" do
103
- expect{ AssetSync.sync }.not_to raise_error()
103
+ expect{ AssetSync.sync }.not_to raise_error
104
104
  end
105
105
  end
106
106
 
@@ -132,7 +132,7 @@ describe AssetSync::Storage do
132
132
  storage.upload_files
133
133
  end
134
134
 
135
- it "shoud invalidate files" do
135
+ it "should invalidate files" do
136
136
  @config.cdn_distribution_id = "1234"
137
137
  @config.invalidate = ['local_image1.jpg']
138
138
  @config.fog_provider = 'AWS'
@@ -154,7 +154,12 @@ describe AssetSync::Storage do
154
154
  before(:each) do
155
155
  # Object#remove_const does not remove the loaded
156
156
  # file from the $" variable
157
- #Object.send(:remove_const, :MIME) if defined?(MIME)
157
+ #
158
+ # So we need do both
159
+ #
160
+ # 1. Remove constant(s) to avoid warning messages
161
+ # 2. Remove loaded file(s)
162
+ Object.send(:remove_const, :MIME) if defined?(MIME)
158
163
  mime_types = $".grep(/mime\/types/).first
159
164
  $".delete(mime_types)
160
165
  require 'mime/types'
@@ -204,9 +209,5 @@ describe AssetSync::Storage do
204
209
  end
205
210
  storage.upload_file('assets/some_longer_path/local_image2.jpg')
206
211
  end
207
-
208
- after(:each) do
209
- #Object.send(:remove_const, :MIME) if defined?(MIME)
210
- end
211
212
  end
212
213
  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: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Hamilton
@@ -14,19 +14,19 @@ cert_chain: []
14
14
  date: 2013-08-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: fog
17
+ name: fog-core
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.8.0
22
+ version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.8.0
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: unf
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -111,6 +111,20 @@ dependencies:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: fog-aws
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
114
128
  - !ruby/object:Gem::Dependency
115
129
  name: uglifier
116
130
  requirement: !ruby/object:Gem::Requirement
@@ -157,6 +171,7 @@ files:
157
171
  - Gemfile
158
172
  - README.md
159
173
  - Rakefile
174
+ - UPGRADING.md
160
175
  - asset_sync.gemspec
161
176
  - docs/heroku.md
162
177
  - gemfiles/rails_3.1.gemfile
@@ -209,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
224
  version: '0'
210
225
  requirements: []
211
226
  rubyforge_project: asset_sync
212
- rubygems_version: 2.6.7
227
+ rubygems_version: 2.5.2
213
228
  signing_key:
214
229
  specification_version: 4
215
230
  summary: Synchronises Assets in a Rails 3 application and Amazon S3/Cloudfront and