Skip to content

Commit 218e83d

Browse files
authored
Merge pull request #17 from violetviolinist/transforms-fix
Transforms fix
2 parents b7a58c2 + f0cc9fa commit 218e83d

File tree

6 files changed

+165
-46
lines changed

6 files changed

+165
-46
lines changed

README.md

Lines changed: 57 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -253,49 +253,63 @@ If a transformation is supported in ImageKit, but a name for it cannot be found
253253
transformation code from ImageKit docs as the name when using in the `url` function.
254254

255255
| Supported Transformation Name | Translates to parameter |
256-
| ----------------------------- | ----------------------- |
257-
| height | h |
258-
| width | w |
259-
| aspect_ratio | ar |
260-
| quality | q |
261-
| crop | c |
262-
| crop_mode | cm |
263-
| x | x |
264-
| y | y |
265-
| focus | fo |
266-
| format | f |
267-
| radius | r |
268-
| background | bg |
269-
| border | bo |
270-
| rotation | rt |
271-
| blur | bl |
272-
| named | n |
273-
| overlay_image | oi |
274-
| overlay_x | ox |
275-
| overlay_y | oy |
276-
| overlay_focus | ofo |
277-
| overlay_height | oh |
278-
| overlay_width | ow |
279-
| overlay_text | ot |
280-
| overlay_text_font_size | ots |
281-
| overlay_text_font_family | otf |
282-
| overlay_text_color | otc |
283-
| overlay_alpha | oa |
284-
| overlay_text_typography | ott |
285-
| overlay_background | obg |
286-
| overlay_image_trim | oit |
287-
| progressive | pr |
288-
| lossless | lo |
289-
| trim | t |
290-
| metadata | md |
291-
| color_profile | cp |
292-
| default_image | di |
293-
| dpr | dpr |
294-
| effect_sharpen | e-sharpen |
295-
| effect_usm | e-usm |
296-
| effect_contrast | e-contrast |
297-
| effect_gray | e-grayscale |
298-
| original | orig |
256+
|-------------------------------|-------------------------|
257+
| height | h |
258+
| width | w |
259+
| aspectRatio | ar |
260+
| quality | q |
261+
| crop | c |
262+
| cropMode | cm |
263+
| x | x |
264+
| y | y |
265+
| focus | fo |
266+
| format | f |
267+
| radius | r |
268+
| background | bg |
269+
| border | b |
270+
| rotation | rt |
271+
| blur | bl |
272+
| named | n |
273+
| overlayX | ox |
274+
| overlayY | oy |
275+
| overlayFocus | ofo |
276+
| overlayHeight | oh |
277+
| overlayWidth | ow |
278+
| overlayImage | oi |
279+
| overlayImageTrim | oit |
280+
| overlayImageAspectRatio | oiar |
281+
| overlayImageBackground | oibg |
282+
| overlayImageBorder | oib |
283+
| overlayImageDPR | oidpr |
284+
| overlayImageQuality | oiq |
285+
| overlayImageCropping | oic |
286+
| overlayImageTrim | oit |
287+
| overlayText | ot |
288+
| overlayTextFontSize | ots |
289+
| overlayTextFontFamily | otf |
290+
| overlayTextColor | otc |
291+
| overlayTextTransparency | oa |
292+
| overlayAlpha | oa |
293+
| overlayTextTypography | ott |
294+
| overlayBackground | obg |
295+
| overlayTextEncoded | ote |
296+
| overlayTextWidth | otw |
297+
| overlayTextBackground | otbg |
298+
| overlayTextPadding | otp |
299+
| overlayTextInnerAlignment | otia |
300+
| overlayRadius | or |
301+
| progressive | pr |
302+
| lossless | lo |
303+
| trim | t |
304+
| metadata | md |
305+
| colorProfile | cp |
306+
| defaultImage | di |
307+
| dpr | dpr |
308+
| effectSharpen | e-sharpen |
309+
| effectUSM | e-usm |
310+
| effectContrast | e-contrast |
311+
| effectGray | e-grayscale |
312+
| original | orig |
299313

300314
## File Upload
301315

codecov.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
codecov:
2+
require_ci_to_pass: yes
3+
4+
coverage:
5+
status:
6+
patch: off
7+
precision: 2
8+
round: down
9+
range: "70...100"
10+
11+
parsers:
12+
gcov:
13+
branch_detection:
14+
conditional: yes
15+
loop: yes
16+
method: no
17+
macro: no
18+
19+
comment:
20+
layout: "reach,diff,flags,tree"
21+
behavior: default
22+
require_changes: no

lib/imagekit/constants/supported_transformation.rb

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@
1111
'format': "f",
1212
'radius': "r",
1313
'background': "bg",
14-
'border': "bo",
14+
'border': "b",
1515
'rotation': "rt",
1616
'blur': "bl",
1717
'named': "n",
1818
'overlay_image': "oi",
19+
'overlay_image_trim': "oit",
20+
'overlay_image_cropping': "oic",
21+
'overlay_image_quality': "oiq",
22+
'overlay_image_DPR': "oidpr",
23+
'overlay_image_border': "oib",
24+
'overlay_image_background': "oibg",
25+
'overlay_image_aspect_ratio': "oiar",
1926
'overlay_x': "ox",
2027
'overlay_y': "oy",
2128
'overlay_focus': "ofo",
@@ -24,11 +31,17 @@
2431
'overlay_text': "ot",
2532
'overlay_text_font_size': "ots",
2633
'overlay_text_font_family': "otf",
34+
'overlay_text_encoded': "ote",
2735
'overlay_text_color': "otc",
36+
'overlay_text_width': "otw",
37+
'overlay_text_background': "otbg",
38+
'overlay_text_padding': "otp",
39+
'overlay_text_inner_alignment': "otia",
40+
'overlay_text_transparency': "oa",
2841
'overlay_alpha': "oa",
42+
'overlay_radius': "or",
2943
'overlay_text_typography': "ott",
3044
'overlay_background': "obg",
31-
'overlay_image_trim': "oit",
3245
'progressive': "pr",
3346
'lossless': "lo",
3447
'trim': "t",

lib/imagekit/sdk/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Imagekit
22
module Sdk
3-
VERSION = '1.0.6'
3+
VERSION = '1.0.7'
44
end
55
end

lib/imagekit/url.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,11 @@ def transformation_to_str(transformation)
152152
transform_key = SUPPORTED_TRANS.fetch(key, nil)
153153
transform_key ||= key
154154

155+
if transform_key == "oi" || transform_key == "di"
156+
transformation[i][key][0] = "" if transformation[i][key][0] == "/"
157+
transformation[i][key] = transformation[i][key].gsub("/", "@@")
158+
end
159+
155160
if transformation[i][key] == "-"
156161
parsed_transform_step.push(transform_key)
157162
else

test/imagekit/url_test.rb

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,71 @@
104104
url = url_obj.generate_url(options)
105105
expect(url).to eq("https://imagekit.io/your-imgekit-id/tr:h-300,w-400/default-image.jpg?ik-sdk-version=ruby-#{Imagekit::Sdk::VERSION}")
106106
end
107+
108+
it "test_generate_url_should_have_transformation_parameters" do
109+
request_obj=ImageKitRequest.new(@private_key,@public_key,@url_endpoint)
110+
url_obj = Url.new(request_obj)
111+
112+
options = {path: "default-image.jpg",
113+
url_endpoint: @url_endpoint,
114+
transformation: [{
115+
height: 300,
116+
width: 400,
117+
aspect_ratio: '4-3',
118+
quality: 40,
119+
crop: 'force',
120+
crop_mode: 'extract',
121+
focus: 'left',
122+
format: 'jpeg',
123+
radius: 50,
124+
bg: "A94D34",
125+
border: "5-A94D34",
126+
rotation: 90,
127+
blur: 10,
128+
named: "some_name",
129+
overlay_x: 35,
130+
overlay_y: 35,
131+
overlay_focus: "bottom",
132+
overlay_height: 20,
133+
overlay_width: 20,
134+
overlay_image: "/folder/file.jpg",
135+
overlay_image_trim: false,
136+
overlay_image_aspect_ratio: "4:3",
137+
overlay_image_background: "0F0F0F",
138+
overlay_image_border: "10_0F0F0F",
139+
overlay_image_DPR: 2,
140+
overlay_image_quality: 50,
141+
overlay_image_cropping: "force",
142+
overlay_text: "two words",
143+
overlay_text_font_size: 20,
144+
overlay_text_font_family: "Open Sans",
145+
overlay_text_color: "00FFFF",
146+
overlay_text_transparency: 5,
147+
overlay_text_typography: "b",
148+
overlay_background: "00AAFF55",
149+
overlay_text_encoded: "b3ZlcmxheSBtYWRlIGVhc3k%3D",
150+
overlay_text_width: 50,
151+
overlay_text_background: "00AAFF55",
152+
overlay_text_padding: 40,
153+
overlay_text_inner_alignment: "left",
154+
overlay_radius: 10,
155+
progressive: true,
156+
lossless: true,
157+
trim: 5,
158+
metadata: true,
159+
color_profile: true,
160+
default_image: "/folder/file.jpg",
161+
dpr: 3,
162+
effect_sharpen: 10,
163+
effect_usm: "2-2-0.8-0.024",
164+
effect_contrast: true,
165+
effect_gray: true,
166+
original: true,
167+
},]
168+
}
169+
url = url_obj.generate_url(options)
170+
expect(url).to eq("https://imagekit.io/your-imgekit-id/tr:h-300,w-400,ar-4-3,q-40,c-force,cm-extract,fo-left,f-jpeg,r-50,bg-A94D34,b-5-A94D34,rt-90,bl-10,n-some_name,ox-35,oy-35,ofo-bottom,oh-20,ow-20,oi-folder@@file.jpg,oit-false,oiar-4:3,oibg-0F0F0F,oib-10_0F0F0F,oidpr-2,oiq-50,oic-force,ot-two words,ots-20,otf-Open Sans,otc-00FFFF,oa-5,ott-b,obg-00AAFF55,ote-b3ZlcmxheSBtYWRlIGVhc3k%3D,otw-50,otbg-00AAFF55,otp-40,otia-left,or-10,pr-true,lo-true,t-5,md-true,cp-true,di-folder@@file.jpg,dpr-3,e-sharpen-10,e-usm-2-2-0.8-0.024,e-contrast-true,e-grayscale-true,orig-true/default-image.jpg?ik-sdk-version=ruby-#{Imagekit::Sdk::VERSION}")
171+
end
107172

108173
it "test_generate_url_with_chained_transformation" do
109174
request_obj=ImageKitRequest.new(@private_key,@public_key,@url_endpoint)

0 commit comments

Comments
 (0)