asset 0.1.10 → 0.1.11

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: 6867cd26673824ea72eeb8dd0e1cd71fb23fb380
4
- data.tar.gz: 9f38ee1241bf966194b86bc7f6949bfe8878584d
3
+ metadata.gz: 90fde4e9a5059373b6ef73bda578b175b836926f
4
+ data.tar.gz: 84e13b7340c9056da1b4751009ae0d2af6c42be8
5
5
  SHA512:
6
- metadata.gz: 7918c2dae433d1f4ac2fc6dc938d65d5afff0546c1346af8f49bc0ce091a5696e200bf04e4094bb05864550ae3f83699e162869e6f17b9a334a39799cd1769a0
7
- data.tar.gz: 3941bea2e41d71310309f9ca9379328ba6ca72abd528752872f77b793f97efb5d235c58567aef44e6d6320056d7b019b03329ccc643929448d3d707b723b80e3
6
+ metadata.gz: e2129596f7a05b2f64f047b37e329da0924fcc4ceb629bf49bc43de4a4bb7e5b98ff6f5a43a68aff5fc0d30d855ab24891edd248ed06aa44f31e180d78e2e24f
7
+ data.tar.gz: 25b0ed903309dc2da7c5a16ae40facbdf8fd532f81adc4de29de49cf8ce3e076f2755da85607d9e99eb038a3888e3bc2ebafd1e6a820d07be34984c58d8461f1
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
+ **Version 0.1.11** - *2017-01-25*
2
+
3
+ - Assets and images now follow symlinks
4
+
1
5
  **Version 0.1.10** - *2017-01-22*
2
6
 
3
- - Included rubyracer as dependency, fixed Uglifier not working
7
+ - Included rubyracer as dependency, fixed Uglifier now working
4
8
  - Refactored router, now 404 only if item not found
5
9
 
6
10
  **Version 0.1.9** - *2017-01-19*
data/asset.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'asset'
3
- s.version = '0.1.10'
4
- s.date = '2017-01-22'
3
+ s.version = '0.1.11'
4
+ s.date = '2017-01-25'
5
5
  s.summary = "Compress and serve your CSS and JS assets automatically"
6
6
  s.description = "The only thing you need for your assets."
7
7
  s.authors = ["Fugroup Limited"]
data/lib/assets/router.rb CHANGED
@@ -24,9 +24,8 @@ module Asset
24
24
  # Extract type and path
25
25
  type, path = $2, $3
26
26
 
27
- # Extract digest key if any
28
- path =~ /-([a-f0-9]{32})\.(css|js)$/
29
- path.gsub!("-#{@key}", '') if (@key = $1)
27
+ # Extract digest key and remove from path
28
+ path.gsub!("-#{@key = $1}", '') if path =~ /-([a-f0-9]{32})\.(css|js)$/
30
29
 
31
30
  # Find the item
32
31
  item = ::Asset.manifest.find{|i| i.path == path and i.type == type}
data/lib/assets/util.rb CHANGED
@@ -6,6 +6,9 @@ module Asset
6
6
  # Load the manifest
7
7
  ::Asset.manifest = load_manifest
8
8
 
9
+ # Insert bundles
10
+ %w[css js].each{|type| load_bundle(type)}
11
+
9
12
  # Load the bundle
10
13
  ::Asset.bundle = YAML.load_file(File.join(::Asset.path, 'manifest.yml'))
11
14
 
@@ -31,11 +34,11 @@ module Asset
31
34
  # Load manifest
32
35
  def self.load_manifest
33
36
  manifest = []
34
- list = Dir["#{Asset.path}/{css,js}/**/*"].select{|f| File.file?(f)}.each do |file|
37
+
38
+ Dir["#{Asset.path}/{css,js}/**{,/*/**}/*.{css,js}"].each do |file|
35
39
  # Extract type and name
36
40
  file =~ /(js|css)\/(.+)$/; type, name = $1, $2
37
41
 
38
- # Get the modified time
39
42
  # Get the modified time of the asset
40
43
  modified = mtime("#{type}/#{name}")
41
44
 
@@ -43,25 +46,25 @@ module Asset
43
46
  manifest << ::Asset::Item.new(name, type, digest(File.read(file)), modified)
44
47
  end
45
48
 
46
- # Insert the css bundle
47
- css = manifest.select{|r| r.type == 'css'}
48
- # Get the max modified date and the keys
49
- max, keys = css.map{|r| r.modified}.max, css.map{|r| r.key}.join
50
- manifest.insert(0, ::Asset::Item.new('bundle.css', 'css', digest(keys), max))
49
+ manifest
50
+ end
51
+
52
+ # Load bundles for js and css
53
+ def self.load_bundle(type)
54
+ # Insert the bundle
55
+ a = ::Asset.manifest.select{|r| r.type == type}
51
56
 
52
- # Insert the js bundle
53
- js = manifest.select{|r| r.type == 'js'}
54
57
  # Get the max modified date and the keys
55
- max, keys = js.map{|r| r.modified}.max, js.map{|r| r.key}.join
56
- manifest.insert(0, ::Asset::Item.new('bundle.js', 'js', digest(keys), max))
58
+ max, keys = a.map{|r| r.modified}.max, a.map{|r| r.key}.join
57
59
 
58
- manifest
60
+ # Insert the bundle into the manifest
61
+ ::Asset.manifest.insert(0, ::Asset::Item.new("bundle.#{type}", type, digest(keys), max))
59
62
  end
60
63
 
61
64
  # Load images into memory
62
65
  def self.load_images
63
66
  # Store the path and the timestamp
64
- images = Dir["#{::Asset.path}/images/**/*"].select{|f| File.file?(f)}.map do |i|
67
+ images = Dir["#{::Asset.path}/images/**{,/*/**}/*.*"].map do |i|
65
68
  i =~ /\/images\/(.+)/; [$1, mtime("images/#{$1}").to_i]
66
69
  end
67
70
  Hash[*images.flatten]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asset
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fugroup Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-22 00:00:00.000000000 Z
11
+ date: 2017-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack