dugway 0.10.4 → 0.10.5

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: c7dcecd0162a10e803937e86ecc97601bf6ee155
4
- data.tar.gz: 2586fa50d420763edfea6fe51effea36382efd50
3
+ metadata.gz: 598df617fd2f3808e13f02534a7bc0c37565f1a4
4
+ data.tar.gz: ef91ee5c5c39ca4dbddb27fcd16023d737c88c11
5
5
  SHA512:
6
- metadata.gz: 41f5dc95f6de48a0617e8cb684cb5a017d0780e872d670ef1f9da81c186cd968ccf1599dc4a5796eff931b3cb70bd5abc00484ee6503b4b33ae90adde4f69477
7
- data.tar.gz: 8da215f70a623699c2907b8cf1a08efae0b5b0114650621310ea4534519f70d3eccfe49f9a38c4ae8df640da70307c515f799f866e934b99c014859054e9ad9b
6
+ metadata.gz: 0fd2fc3af1ab70430c5203af1da553d5139ed48622092b3712c1ef5822366ae29b6bc4b16396150eb605d2a33a14b3345dc08a4f06661f8a8ec922d415b4ba14
7
+ data.tar.gz: 6fe7dbbd2264902e3ea462f34bc4286feee5e85954131e6277c63c80af9a84c4b9a0b50f18509bb7627274f29eb7d5c30ed3d73cfbb5975a3a250223c9d8b7da
@@ -8,14 +8,20 @@ module Dugway
8
8
  content_tag :a, text, options
9
9
  end
10
10
 
11
- def constrain(url = nil, width = 0, height = 0)
12
- image_url url, width, height if url
11
+ def constrain(url = nil, width = '-', height = '-')
12
+ return unless url
13
+ uri = URI.parse(url)
14
+ query = Rack::Utils.parse_nested_query uri.query
15
+ query.update('w' => width, 'h' => height)
16
+ query.delete_if { |k,v| v.nil? || v == '-' }
17
+ uri.query = query.to_query
18
+ uri.to_s
13
19
  end
14
20
 
15
21
  def product_image_url(image = nil, size = nil)
16
22
  url = image ? image['url'] : 'http://images.bigcartel.com/missing.png'
17
23
  size = legacy_size_for(size)
18
- image_url url, size, size
24
+ constrain url, size, size
19
25
  end
20
26
 
21
27
  def theme_js_url(name)
@@ -52,13 +58,6 @@ module Dugway
52
58
  options
53
59
  end
54
60
 
55
- def image_url(url, width, height)
56
- uri = URI.parse(url)
57
- query_hash = Rack::Utils.parse_nested_query uri.query
58
- uri.query = query_hash.update('w' => width, 'h' => height).to_query
59
- uri.to_s
60
- end
61
-
62
61
  def legacy_size_for(size)
63
62
  case size
64
63
  when 'large' then 300
@@ -1,3 +1,3 @@
1
1
  module Dugway
2
- VERSION = "0.10.4"
2
+ VERSION = "0.10.5"
3
3
  end
@@ -43,10 +43,20 @@ describe Dugway::Filters::UrlFilters do
43
43
  end
44
44
 
45
45
  describe "#constrain" do
46
- it 'should constrain the image to the specified size' do
46
+ it "should constrain the image to the specified size" do
47
47
  template = rendered_template("{{ image | product_image_url | constrain: '123', '456' }}", 'image' => product_image)
48
48
  template.should include("#{image_url}?h=456&w=123")
49
49
  end
50
+
51
+ it "should support an optional width argument" do
52
+ template = rendered_template("{{ image | product_image_url | constrain: '-', '456' }}", 'image' => product_image)
53
+ template.should include("#{image_url}?h=456")
54
+ end
55
+
56
+ it "should support an optional height argument" do
57
+ template = rendered_template("{{ image | product_image_url | constrain: '123' }}", 'image' => product_image)
58
+ template.should include("#{image_url}?w=123")
59
+ end
50
60
  end
51
61
  end
52
62
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dugway
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.4
4
+ version: 0.10.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Big Cartel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2016-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler