dassets 0.13.2 → 0.14.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
- SHA512:
3
- metadata.gz: 6c88f5b13dbd9fd2f53e83907fee24cafab13103d25764d95461bb9c0f440c5411b698a94283eb06d870279bacde458e87f7b0ae363da0ea2a9579fb1ae4bd98
4
- data.tar.gz: 874b87a5c52bbd3e3f47eb5f1b816f4c92e95ba7af6904a0811eaf51b815e101da59081e13b0ca01a23e1cb0b2df10d942d978a0d6a8505adee7933458a67f0c
5
2
  SHA1:
6
- metadata.gz: 77e8957bf984a1b6957afee6fbb99d370a9752af
7
- data.tar.gz: bf20c13e61aeccabed7110b6eb630fbfc933d0a6
3
+ data.tar.gz: 42a4505c113f65ab11aba8c4eb4b8e8ffc6ad909
4
+ metadata.gz: fe45e83de311469fdb752d0d002c99a458ec4391
5
+ SHA512:
6
+ data.tar.gz: 43319a4222a6daefb725ce87b9d8c0c8dc6169a518f5cef67176ef8f9acae20cfe60f360bbef5f6e29dc138e4047d3797f9950de5728ae91b2aa4fb5ca74d96a
7
+ metadata.gz: b648a9c3df1e2f01196aba0aaf3add9a967fb93fee069f54c714b419f34d82117671a43740b68143759de8e9e580db0c2f1f7cd3a47e061a88be0a8c96d509c6
data/Gemfile CHANGED
@@ -2,5 +2,4 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'rake', "~> 10.4.0"
6
- gem 'pry', "~> 0.9.0"
5
+ gem 'pry', "~> 0.9.0"
data/dassets.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Dassets::VERSION
9
9
  gem.authors = ["Kelly Redding", "Collin Redding"]
10
10
  gem.email = ["kelly@kellyredding.com", "collin.redding@me.com"]
11
- gem.description = %q{Digest and serve HTML asset files}
12
11
  gem.summary = %q{Digested asset files}
12
+ gem.description = %q{Digest and serve HTML asset files}
13
13
  gem.homepage = "http://github.com/redding/dassets"
14
14
  gem.license = 'MIT'
15
15
 
@@ -18,11 +18,10 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_development_dependency("assert", ["~> 2.15"])
22
- gem.add_development_dependency('assert-rack-test', ["~> 1.0"])
21
+ gem.add_development_dependency("assert", ["~> 2.16.1"])
22
+ gem.add_development_dependency('assert-rack-test', ["~> 1.0.4"])
23
23
  gem.add_development_dependency("sinatra", ["~> 1.4"])
24
24
 
25
- gem.add_dependency('ns-options', ["~> 1.1"])
26
- gem.add_dependency("rack", ["~> 1.0"])
25
+ gem.add_dependency("rack", ["~> 1.0"])
27
26
 
28
27
  end
@@ -1,5 +1,4 @@
1
1
  require 'pathname'
2
- require 'ns-options'
3
2
  require 'dassets/cache'
4
3
  require 'dassets/file_store'
5
4
  require 'dassets/source'
@@ -7,9 +6,6 @@ require 'dassets/source'
7
6
  module Dassets
8
7
 
9
8
  class Config
10
- include NsOptions::Proxy
11
-
12
- option :file_store, FileStore, :default => proc{ FileStore::NullStore.new }
13
9
 
14
10
  attr_reader :sources, :combinations
15
11
 
@@ -19,6 +15,7 @@ module Dassets
19
15
  @combinations = Hash.new{ |h, k| [k] } # digest pass-thru if none defined
20
16
  @content_cache = Dassets::Cache::NoCache.new
21
17
  @fingerprint_cache = Dassets::Cache::NoCache.new
18
+ @file_store = FileStore::NullStore.new
22
19
  end
23
20
 
24
21
  def base_url(value = nil)
@@ -30,6 +27,13 @@ module Dassets
30
27
  @base_url = value
31
28
  end
32
29
 
30
+ def file_store(value = nil)
31
+ if !value.nil?
32
+ @file_store = (value.kind_of?(FileStore) ? value : FileStore.new(value))
33
+ end
34
+ @file_store
35
+ end
36
+
33
37
  def content_cache(cache = nil)
34
38
  @content_cache = cache if !cache.nil?
35
39
  @content_cache
@@ -1,3 +1,3 @@
1
1
  module Dassets
2
- VERSION = "0.13.2"
2
+ VERSION = "0.14.0"
3
3
  end
data/test/helper.rb CHANGED
@@ -9,6 +9,15 @@ require 'pry'
9
9
 
10
10
  require 'test/support/factory'
11
11
 
12
+ # 1.8.7 backfills
13
+
14
+ # Array#sample
15
+ if !(a = Array.new).respond_to?(:sample) && a.respond_to?(:choice)
16
+ class Array
17
+ alias_method :sample, :choice
18
+ end
19
+ end
20
+
12
21
  require 'pathname'
13
22
  TEST_SUPPORT_PATH = Pathname.new(File.expand_path('../support', __FILE__))
14
23
 
@@ -70,7 +70,7 @@ module Dassets
70
70
 
71
71
  should "return a full response on invalid-range partial content requests" do
72
72
  # see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
73
- env = { 'HTTP_RANGE' => ['bytes=3-2', 'bytes=abc'].choice }
73
+ env = { 'HTTP_RANGE' => ['bytes=3-2', 'bytes=abc'].sample }
74
74
 
75
75
  resp = get '/file1-daa05c683a4913b268653f7a7e36a5b4.txt', {}, env
76
76
  assert_equal 200, resp.status
@@ -83,13 +83,13 @@ module Dassets
83
83
  setup do
84
84
  base_url = Factory.base_url
85
85
  Assert.stub(Dassets.config, :base_url){ base_url }
86
- Dassets.config.file_store = TEST_SUPPORT_PATH.join('public').to_s
86
+ Dassets.config.file_store TEST_SUPPORT_PATH.join('public').to_s
87
87
  @url = Dassets['file1.txt'].url
88
88
  @url_file = Dassets.config.file_store.store_path(@url)
89
89
  end
90
90
  teardown do
91
91
  FileUtils.rm(@url_file)
92
- Dassets.config.file_store = FileStore::NullStore.new
92
+ Dassets.config.file_store FileStore::NullStore.new
93
93
  end
94
94
 
95
95
  should "digest the asset" do
@@ -116,14 +116,14 @@ class Dassets::AssetFile
116
116
  setup do
117
117
  base_url = Factory.base_url
118
118
  Assert.stub(Dassets.config, :base_url){ base_url }
119
- Dassets.config.file_store = TEST_SUPPORT_PATH.join('public').to_s
119
+ Dassets.config.file_store TEST_SUPPORT_PATH.join('public').to_s
120
120
 
121
121
  @save_path = @asset_file.digest!
122
122
  @outfile = Dassets.config.file_store.store_path(@asset_file.url)
123
123
  end
124
124
  teardown do
125
125
  FileUtils.rm(@outfile)
126
- Dassets.config.file_store = Dassets::FileStore::NullStore.new
126
+ Dassets.config.file_store Dassets::FileStore::NullStore.new
127
127
  end
128
128
 
129
129
  should "return the asset file url" do
@@ -1,25 +1,21 @@
1
1
  require 'assert'
2
2
  require 'dassets/config'
3
3
 
4
- require 'ns-options/assert_macros'
5
4
  require 'dassets/cache'
6
5
  require 'dassets/file_store'
7
6
 
8
7
  class Dassets::Config
9
8
 
10
9
  class UnitTests < Assert::Context
11
- include NsOptions::AssertMacros
12
-
13
10
  desc "Dassets::Config"
14
11
  setup do
15
12
  @config = Dassets::Config.new
16
13
  end
17
14
  subject{ @config }
18
15
 
19
- should have_options :file_store
20
16
  should have_readers :combinations
21
17
  should have_imeths :base_url, :set_base_url
22
- should have_imeths :content_cache, :fingerprint_cache
18
+ should have_imeths :file_store, :content_cache, :fingerprint_cache
23
19
  should have_imeths :source, :combination, :combination?
24
20
 
25
21
  should "have no base url by default" do
@@ -48,11 +44,24 @@ class Dassets::Config
48
44
  assert_kind_of Dassets::FileStore::NullStore, subject.file_store
49
45
  end
50
46
 
47
+ should "configure non-nil file stores" do
48
+ store_root = Factory.path
49
+ subject.file_store(store_root)
50
+ assert_equal store_root, subject.file_store.root
51
+
52
+ store = Dassets::FileStore.new(Factory.path)
53
+ subject.file_store(store)
54
+ assert_equal store, subject.file_store
55
+
56
+ subject.content_cache(nil)
57
+ assert_equal store, subject.file_store
58
+ end
59
+
51
60
  should "default its content cache" do
52
61
  assert_instance_of Dassets::Cache::NoCache, subject.content_cache
53
62
  end
54
63
 
55
- should "allow configuring non-nil content caches" do
64
+ should "configure non-nil content caches" do
56
65
  cache = Dassets::Cache::MemCache.new
57
66
  subject.content_cache(cache)
58
67
  assert_equal cache, subject.content_cache
@@ -65,7 +74,7 @@ class Dassets::Config
65
74
  assert_instance_of Dassets::Cache::NoCache, subject.fingerprint_cache
66
75
  end
67
76
 
68
- should "allow configuring non-nil fingerprint caches" do
77
+ should "configure non-nil fingerprint caches" do
69
78
  cache = Dassets::Cache::MemCache.new
70
79
  subject.fingerprint_cache(cache)
71
80
  assert_equal cache, subject.fingerprint_cache
@@ -149,7 +149,7 @@ class Dassets::Server::Response
149
149
  class NonPartialBodyTests < BodyIOTests
150
150
  desc "for non/multi/invalid partial content requests"
151
151
  setup do
152
- range = [nil, 'bytes=', 'bytes=0-1,2-3', 'bytes=3-2', 'bytes=abc'].choice
152
+ range = [nil, 'bytes=', 'bytes=0-1,2-3', 'bytes=3-2', 'bytes=abc'].sample
153
153
  env = range.nil? ? {} : { 'HTTP_RANGE' => range }
154
154
  @body = Body.new(env, @asset_file)
155
155
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dassets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.2
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Redding
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2016-02-23 00:00:00 Z
13
+ date: 2016-06-14 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: assert
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: "2.15"
22
+ version: 2.16.1
23
23
  type: :development
24
24
  version_requirements: *id001
25
25
  - !ruby/object:Gem::Dependency
@@ -28,8 +28,8 @@ dependencies:
28
28
  requirement: &id002 !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ~>
31
- - &id005 !ruby/object:Gem::Version
32
- version: "1.0"
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.4
33
33
  type: :development
34
34
  version_requirements: *id002
35
35
  - !ruby/object:Gem::Dependency
@@ -43,24 +43,15 @@ dependencies:
43
43
  type: :development
44
44
  version_requirements: *id003
45
45
  - !ruby/object:Gem::Dependency
46
- name: ns-options
46
+ name: rack
47
47
  prerelease: false
48
48
  requirement: &id004 !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ~>
51
51
  - !ruby/object:Gem::Version
52
- version: "1.1"
52
+ version: "1.0"
53
53
  type: :runtime
54
54
  version_requirements: *id004
55
- - !ruby/object:Gem::Dependency
56
- name: rack
57
- prerelease: false
58
- requirement: &id006 !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ~>
61
- - *id005
62
- type: :runtime
63
- version_requirements: *id006
64
55
  description: Digest and serve HTML asset files
65
56
  email:
66
57
  - kelly@kellyredding.com
@@ -76,7 +67,6 @@ files:
76
67
  - Gemfile
77
68
  - LICENSE
78
69
  - README.md
79
- - Rakefile
80
70
  - dassets.gemspec
81
71
  - lib/dassets.rb
82
72
  - lib/dassets/asset_file.rb
@@ -135,17 +125,17 @@ require_paths:
135
125
  - lib
136
126
  required_ruby_version: !ruby/object:Gem::Requirement
137
127
  requirements:
138
- - &id007
128
+ - &id005
139
129
  - ">="
140
130
  - !ruby/object:Gem::Version
141
131
  version: "0"
142
132
  required_rubygems_version: !ruby/object:Gem::Requirement
143
133
  requirements:
144
- - *id007
134
+ - *id005
145
135
  requirements: []
146
136
 
147
137
  rubyforge_project:
148
- rubygems_version: 2.5.1
138
+ rubygems_version: 2.6.4
149
139
  signing_key:
150
140
  specification_version: 4
151
141
  summary: Digested asset files
data/Rakefile DELETED
@@ -1 +0,0 @@
1
- require "bundler/gem_tasks"