crimagify 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +56 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/images/crimagify/Jcrop.gif +0 -0
  5. data/app/assets/javascripts/crimagify/actions_cropper.js.erb +174 -0
  6. data/app/assets/javascripts/crimagify/application.js +15 -0
  7. data/app/assets/javascripts/crimagify/jquery.Jcrop.js +1694 -0
  8. data/app/assets/javascripts/crimagify/jquery.color.js +661 -0
  9. data/app/assets/stylesheets/crimagify/application.css +13 -0
  10. data/app/assets/stylesheets/crimagify/cropper.css.scss +75 -0
  11. data/app/assets/stylesheets/crimagify/jquery.Jcrop.css +165 -0
  12. data/app/assets/stylesheets/crimagify/mixin.css.scss +191 -0
  13. data/app/controllers/crimagify/application_controller.rb +4 -0
  14. data/app/controllers/crimagify/cropper_controller.rb +64 -0
  15. data/app/helpers/crimagify/application_helper.rb +28 -0
  16. data/app/models/crimagify/image.rb +27 -0
  17. data/app/uploaders/crimagify/image_uploader.rb +131 -0
  18. data/app/views/crimagify/crop_partials/_crop.html.erb +24 -0
  19. data/app/views/crimagify/crop_partials/_fields_cropper.html.erb +21 -0
  20. data/app/views/crimagify/crop_partials/_img_final.html.erb +11 -0
  21. data/app/views/crimagify/cropper/params_cropper.js.erb +22 -0
  22. data/app/views/crimagify/cropper/partial_cropper.js.erb +8 -0
  23. data/app/views/layouts/crimagify/application.html.erb +14 -0
  24. data/config/initializers/load_variables.rb +5 -0
  25. data/config/routes.rb +4 -0
  26. data/db/migrate/20130422223133_create_crimagify_images.rb +13 -0
  27. data/db/seeds.rb +6 -0
  28. data/lib/crimagify/dinamic_image_methods.rb +49 -0
  29. data/lib/crimagify/engine.rb +26 -0
  30. data/lib/crimagify/image_functions.rb +104 -0
  31. data/lib/crimagify/version.rb +3 -0
  32. data/lib/crimagify.rb +6 -0
  33. data/lib/generators/crimagify/generate_views/generate_views_generator.rb +13 -0
  34. data/lib/generators/crimagify/install/install_generator.rb +17 -0
  35. data/lib/generators/crimagify/install/templates/crimagify_settings.yml +4 -0
  36. data/lib/generators/crimagify/install/templates/crimagify_versions.yml +52 -0
  37. data/lib/tasks/crimagify_tasks.rake +4 -0
  38. data/test/crimagify_test.rb +7 -0
  39. data/test/dummy/README.rdoc +261 -0
  40. data/test/dummy/Rakefile +7 -0
  41. data/test/dummy/app/assets/images/rails.png +0 -0
  42. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/0/imgA/2013-04-24-Product-imgA-0.jpeg +0 -0
  43. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-24-Product-imgA-7.jpeg +0 -0
  44. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-24-Product-imgA-7.png +0 -0
  45. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-25-Product-imgA-7.jpeg +0 -0
  46. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgB/2013-04-25-Product-imgB-7.jpeg +0 -0
  47. data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgC/2013-04-25-Product-imgC-7.jpeg +0 -0
  48. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/0/imgA/2013-04-24-User-imgA-0.png +0 -0
  49. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgA/2013-04-24-User-imgA-2.jpeg +0 -0
  50. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgA/2013-04-24-User-imgA-2.png +0 -0
  51. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgB/2013-04-24-User-imgB-2.png +0 -0
  52. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgA/2013-04-24-User-imgA-3.jpeg +0 -0
  53. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgA/2013-04-24-User-imgA-3.png +0 -0
  54. data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgB/2013-04-24-User-imgB-3.jpeg +0 -0
  55. data/test/dummy/app/assets/javascripts/application.js +16 -0
  56. data/test/dummy/app/assets/javascripts/products.js +2 -0
  57. data/test/dummy/app/assets/javascripts/users.js +2 -0
  58. data/test/dummy/app/assets/stylesheets/application.css +14 -0
  59. data/test/dummy/app/assets/stylesheets/products.css.scss +3 -0
  60. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  61. data/test/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
  62. data/test/dummy/app/assets/stylesheets/users.css +4 -0
  63. data/test/dummy/app/controllers/application_controller.rb +3 -0
  64. data/test/dummy/app/controllers/products_controller.rb +85 -0
  65. data/test/dummy/app/controllers/users_controller.rb +87 -0
  66. data/test/dummy/app/helpers/application_helper.rb +2 -0
  67. data/test/dummy/app/helpers/products_helper.rb +2 -0
  68. data/test/dummy/app/helpers/users_helper.rb +2 -0
  69. data/test/dummy/app/models/product.rb +10 -0
  70. data/test/dummy/app/models/user.rb +12 -0
  71. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  72. data/test/dummy/app/views/products/_form.html.erb +32 -0
  73. data/test/dummy/app/views/products/edit.html.erb +6 -0
  74. data/test/dummy/app/views/products/index.html.erb +25 -0
  75. data/test/dummy/app/views/products/new.html.erb +5 -0
  76. data/test/dummy/app/views/products/show.html.erb +15 -0
  77. data/test/dummy/app/views/users/_form.html.erb +34 -0
  78. data/test/dummy/app/views/users/edit.html.erb +6 -0
  79. data/test/dummy/app/views/users/index.html.erb +28 -0
  80. data/test/dummy/app/views/users/new.html.erb +5 -0
  81. data/test/dummy/app/views/users/show.html.erb +20 -0
  82. data/test/dummy/config/application.rb +59 -0
  83. data/test/dummy/config/boot.rb +10 -0
  84. data/test/dummy/config/crimagify_settings.yml +4 -0
  85. data/test/dummy/config/crimagify_versions.yml +80 -0
  86. data/test/dummy/config/database.yml +25 -0
  87. data/test/dummy/config/environment.rb +5 -0
  88. data/test/dummy/config/environments/development.rb +37 -0
  89. data/test/dummy/config/environments/production.rb +67 -0
  90. data/test/dummy/config/environments/test.rb +37 -0
  91. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  92. data/test/dummy/config/initializers/inflections.rb +15 -0
  93. data/test/dummy/config/initializers/mime_types.rb +5 -0
  94. data/test/dummy/config/initializers/secret_token.rb +7 -0
  95. data/test/dummy/config/initializers/session_store.rb +8 -0
  96. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  97. data/test/dummy/config/locales/en.yml +5 -0
  98. data/test/dummy/config/routes.rb +11 -0
  99. data/test/dummy/config.ru +4 -0
  100. data/test/dummy/db/development.sqlite3 +0 -0
  101. data/test/dummy/db/migrate/20130423160421_create_crimagify_images.crimagify.rb +14 -0
  102. data/test/dummy/db/migrate/20130423164431_create_users.rb +11 -0
  103. data/test/dummy/db/migrate/20130424155649_create_products.rb +10 -0
  104. data/test/dummy/db/schema.rb +43 -0
  105. data/test/dummy/log/development.log +22235 -0
  106. data/test/dummy/public/404.html +26 -0
  107. data/test/dummy/public/422.html +26 -0
  108. data/test/dummy/public/500.html +25 -0
  109. data/test/dummy/public/favicon.ico +0 -0
  110. data/test/dummy/public/uploads/crimagify/image/image/2/2013-04-24-User-imgA-2.jpeg +0 -0
  111. data/test/dummy/public/uploads/crimagify/image/image/2/big_2013-04-24-User-imgA-2.jpeg +0 -0
  112. data/test/dummy/public/uploads/crimagify/image/image/2/gigant_2013-04-24-User-imgA-2.jpeg +0 -0
  113. data/test/dummy/public/uploads/crimagify/image/image/2/user_2013-04-24-User-imgA-2.jpeg +0 -0
  114. data/test/dummy/public/uploads/crimagify/image/image/3/2013-04-24-User-imgB-2.png +0 -0
  115. data/test/dummy/public/uploads/crimagify/image/image/3/big_2013-04-24-User-imgB-2.png +0 -0
  116. data/test/dummy/public/uploads/crimagify/image/image/3/gigant_2013-04-24-User-imgB-2.png +0 -0
  117. data/test/dummy/public/uploads/crimagify/image/image/3/user_2013-04-24-User-imgB-2.png +0 -0
  118. data/test/dummy/public/uploads/crimagify/image/image/4/2013-04-24-User-imgA-3.jpeg +0 -0
  119. data/test/dummy/public/uploads/crimagify/image/image/4/big_2013-04-24-User-imgA-3.jpeg +0 -0
  120. data/test/dummy/public/uploads/crimagify/image/image/4/gigant_2013-04-24-User-imgA-3.jpeg +0 -0
  121. data/test/dummy/public/uploads/crimagify/image/image/4/user_2013-04-24-User-imgA-3.jpeg +0 -0
  122. data/test/dummy/public/uploads/crimagify/image/image/5/2013-04-24-User-imgB-3.jpeg +0 -0
  123. data/test/dummy/public/uploads/crimagify/image/image/5/big_2013-04-24-User-imgB-3.jpeg +0 -0
  124. data/test/dummy/public/uploads/crimagify/image/image/5/gigant_2013-04-24-User-imgB-3.jpeg +0 -0
  125. data/test/dummy/public/uploads/crimagify/image/image/5/user_2013-04-24-User-imgB-3.jpeg +0 -0
  126. data/test/dummy/public/uploads/crimagify/image/image/6/2013-04-24-Product-imgA-0.jpeg +0 -0
  127. data/test/dummy/public/uploads/crimagify/image/image/6/big_2013-04-24-Product-imgA-0.jpeg +0 -0
  128. data/test/dummy/public/uploads/crimagify/image/image/6/gigant_2013-04-24-Product-imgA-0.jpeg +0 -0
  129. data/test/dummy/public/uploads/crimagify/image/image/6/user_2013-04-24-Product-imgA-0.jpeg +0 -0
  130. data/test/dummy/public/uploads/crimagify/image/image/7/2013-04-24-Product-imgA-7.jpeg +0 -0
  131. data/test/dummy/public/uploads/crimagify/image/image/7/big_2013-04-24-Product-imgA-7.jpeg +0 -0
  132. data/test/dummy/public/uploads/crimagify/image/image/7/gigant_2013-04-24-Product-imgA-7.jpeg +0 -0
  133. data/test/dummy/public/uploads/crimagify/image/image/7/user_2013-04-24-Product-imgA-7.jpeg +0 -0
  134. data/test/dummy/public/uploads/crimagify/image/image_temporal/1/2013-04-24-Product-imgA-0.jpeg +0 -0
  135. data/test/dummy/public/uploads/crimagify/image/image_temporal/1/big_2013-04-24-Product-imgA-0.jpeg +0 -0
  136. data/test/dummy/public/uploads/crimagify/image/image_temporal/1/gigant_2013-04-24-Product-imgA-0.jpeg +0 -0
  137. data/test/dummy/public/uploads/crimagify/image/image_temporal/1/user_2013-04-24-Product-imgA-0.jpeg +0 -0
  138. data/test/dummy/public/uploads/crimagify/image/image_temporal/2/2013-04-24-User-imgA-2.jpeg +0 -0
  139. data/test/dummy/public/uploads/crimagify/image/image_temporal/2/big_2013-04-24-User-imgA-2.jpeg +0 -0
  140. data/test/dummy/public/uploads/crimagify/image/image_temporal/2/gigant_2013-04-24-User-imgA-2.jpeg +0 -0
  141. data/test/dummy/public/uploads/crimagify/image/image_temporal/2/user_2013-04-24-User-imgA-2.jpeg +0 -0
  142. data/test/dummy/public/uploads/crimagify/image/image_temporal/3/2013-04-24-User-imgB-2.png +0 -0
  143. data/test/dummy/public/uploads/crimagify/image/image_temporal/3/big_2013-04-24-User-imgB-2.png +0 -0
  144. data/test/dummy/public/uploads/crimagify/image/image_temporal/3/gigant_2013-04-24-User-imgB-2.png +0 -0
  145. data/test/dummy/public/uploads/crimagify/image/image_temporal/3/user_2013-04-24-User-imgB-2.png +0 -0
  146. data/test/dummy/public/uploads/crimagify/image/image_temporal/4/2013-04-24-User-imgA-3.jpeg +0 -0
  147. data/test/dummy/public/uploads/crimagify/image/image_temporal/4/big_2013-04-24-User-imgA-3.jpeg +0 -0
  148. data/test/dummy/public/uploads/crimagify/image/image_temporal/4/gigant_2013-04-24-User-imgA-3.jpeg +0 -0
  149. data/test/dummy/public/uploads/crimagify/image/image_temporal/4/user_2013-04-24-User-imgA-3.jpeg +0 -0
  150. data/test/dummy/public/uploads/crimagify/image/image_temporal/5/2013-04-24-User-imgB-3.jpeg +0 -0
  151. data/test/dummy/public/uploads/crimagify/image/image_temporal/5/big_2013-04-24-User-imgB-3.jpeg +0 -0
  152. data/test/dummy/public/uploads/crimagify/image/image_temporal/5/gigant_2013-04-24-User-imgB-3.jpeg +0 -0
  153. data/test/dummy/public/uploads/crimagify/image/image_temporal/5/user_2013-04-24-User-imgB-3.jpeg +0 -0
  154. data/test/dummy/public/uploads/crimagify/image/image_temporal/7/2013-04-25-Product-imgA-7.jpeg +0 -0
  155. data/test/dummy/public/uploads/crimagify/image/image_temporal/7/big_2013-04-25-Product-imgA-7.jpeg +0 -0
  156. data/test/dummy/public/uploads/crimagify/image/image_temporal/7/gigant_2013-04-25-Product-imgA-7.jpeg +0 -0
  157. data/test/dummy/public/uploads/crimagify/image/image_temporal/7/user_2013-04-25-Product-imgA-7.jpeg +0 -0
  158. data/test/dummy/public/uploads/crimagify/image/image_temporal/8/2013-04-25-Product-imgB-7.jpeg +0 -0
  159. data/test/dummy/public/uploads/crimagify/image/image_temporal/8/big_2013-04-25-Product-imgB-7.jpeg +0 -0
  160. data/test/dummy/public/uploads/crimagify/image/image_temporal/8/gigant_2013-04-25-Product-imgB-7.jpeg +0 -0
  161. data/test/dummy/public/uploads/crimagify/image/image_temporal/8/user_2013-04-25-Product-imgB-7.jpeg +0 -0
  162. data/test/dummy/public/uploads/crimagify/image/image_temporal/9/2013-04-25-Product-imgC-7.jpeg +0 -0
  163. data/test/dummy/public/uploads/crimagify/image/image_temporal/9/big_2013-04-25-Product-imgC-7.jpeg +0 -0
  164. data/test/dummy/public/uploads/crimagify/image/image_temporal/9/gigant_2013-04-25-Product-imgC-7.jpeg +0 -0
  165. data/test/dummy/public/uploads/crimagify/image/image_temporal/9/user_2013-04-25-Product-imgC-7.jpeg +0 -0
  166. data/test/dummy/script/rails +6 -0
  167. data/test/dummy/test/fixtures/products.yml +9 -0
  168. data/test/dummy/test/fixtures/users.yml +11 -0
  169. data/test/dummy/test/functional/products_controller_test.rb +49 -0
  170. data/test/dummy/test/functional/users_controller_test.rb +49 -0
  171. data/test/dummy/test/unit/helpers/products_helper_test.rb +4 -0
  172. data/test/dummy/test/unit/helpers/users_helper_test.rb +4 -0
  173. data/test/dummy/test/unit/product_test.rb +7 -0
  174. data/test/dummy/test/unit/user_test.rb +7 -0
  175. data/test/dummy/tmp/cache/assets/C23/400/sprockets%2F31710301f0d68b89727f5de964446610 +0 -0
  176. data/test/dummy/tmp/cache/assets/CB2/7F0/sprockets%2F9d79a842f086f17d3420e5cb88710c10 +0 -0
  177. data/test/dummy/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed +0 -0
  178. data/test/dummy/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
  179. data/test/dummy/tmp/cache/assets/D15/750/sprockets%2F4cc25a6e69224dc83fed65a4242479c5 +0 -0
  180. data/test/dummy/tmp/cache/assets/D9C/4A0/sprockets%2Fc15750bf0161f2878cf9da9bb1a84ecb +0 -0
  181. data/test/dummy/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
  182. data/test/dummy/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
  183. data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/products.css.scssc +0 -0
  184. data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/scaffolds.css.scssc +0 -0
  185. data/test/fixtures/crimagify/images.yml +13 -0
  186. data/test/integration/navigation_test.rb +10 -0
  187. data/test/test_helper.rb +15 -0
  188. data/test/unit/crimagify/image_test.rb +9 -0
  189. metadata +464 -0
@@ -0,0 +1,75 @@
1
+ @import 'mixin.css.scss';
2
+ div#parent_image{
3
+ position:relative !important;
4
+ z-index:500 !important;
5
+ }
6
+ div#cropper_div{
7
+ position: absolute !important;
8
+ top: 0 !important;
9
+ left: 0 !important;
10
+ //display: none !important;
11
+ padding:0 0 85px 0 !important;
12
+ z-index:500 !important;
13
+ div.cropper_container{
14
+ position:relative !important;
15
+ div.image_cropper{
16
+ @include rounded(3px 3px 0 3px);
17
+ background:#FFF !important;
18
+ //@include boxShadow(0px 0px 6px,#222) !important;
19
+ z-index: 1000 !important;
20
+ @include dropShadow();
21
+ border:1px solid #777 !important;
22
+ padding:10px !important;
23
+ z-index:10 !important;
24
+ position:relative !important;
25
+ }
26
+ div.actions{
27
+ padding:8px 0 !important;
28
+ background:#FFF !important;
29
+ padding:10px !important;
30
+ margin-top:0 !important;
31
+ border:1px solid #777 !important;
32
+ border-top:none !important;
33
+ @include rounded(0 0 3px 3px);
34
+ //@include boxShadow(1px 4px 6px,#666) !important;
35
+ position:absolute !important;
36
+ right:-1px !important;
37
+ bottom:-57px !important;
38
+ z-index:15 !important;
39
+ a{
40
+ text-decoration:none !important;
41
+ font-size:12px !important;
42
+ font-weight:bold !important;
43
+ @include rounded(5px);
44
+ margin:0 10px 0 0 !important;
45
+ float:right !important;
46
+ }
47
+ a#crop_image{
48
+ color:#FFFFFF !important;
49
+ padding:7px 10px !important;
50
+ @include blue_skye_to_blue_hard_vert;
51
+ @include boxShadow(1px 1px 4px,#000);
52
+ }
53
+ a#cancel_crop{
54
+ color:#FFFFFF !important;
55
+ padding:7px 10px !important;
56
+ @include black_easy_to_black_dark;
57
+ @include boxShadow(1px 1px 4px,#000);
58
+ margin:0 !important;
59
+ }
60
+ }
61
+ }
62
+
63
+ }
64
+ .cropper_element{
65
+ position: relative !important;
66
+ }
67
+ .refresh_image{
68
+ position: relative !important;
69
+ }
70
+
71
+
72
+
73
+
74
+
75
+
@@ -0,0 +1,165 @@
1
+ /* jquery.Jcrop.css v0.9.12 - MIT License */
2
+ /*
3
+ The outer-most container in a typical Jcrop instance
4
+ If you are having difficulty with formatting related to styles
5
+ on a parent element, place any fixes here or in a like selector
6
+
7
+ You can also style this element if you want to add a border, etc
8
+ A better method for styling can be seen below with .jcrop-light
9
+ (Add a class to the holder and style elements for that extended class)
10
+ */
11
+ .jcrop-holder {
12
+ direction: ltr;
13
+ text-align: left;
14
+ }
15
+ /* Selection Border */
16
+ .jcrop-vline,
17
+ .jcrop-hline {
18
+ background: #ffffff url("Jcrop.gif");
19
+ font-size: 0;
20
+ position: absolute;
21
+ }
22
+ .jcrop-vline {
23
+ height: 100%;
24
+ width: 1px !important;
25
+ }
26
+ .jcrop-vline.right {
27
+ right: 0;
28
+ }
29
+ .jcrop-hline {
30
+ height: 1px !important;
31
+ width: 100%;
32
+ }
33
+ .jcrop-hline.bottom {
34
+ bottom: 0;
35
+ }
36
+ /* Invisible click targets */
37
+ .jcrop-tracker {
38
+ height: 100%;
39
+ width: 100%;
40
+ /* "turn off" link highlight */
41
+ -webkit-tap-highlight-color: transparent;
42
+ /* disable callout, image save panel */
43
+ -webkit-touch-callout: none;
44
+ /* disable cut copy paste */
45
+ -webkit-user-select: none;
46
+ }
47
+ /* Selection Handles */
48
+ .jcrop-handle {
49
+ background-color: #333333;
50
+ border: 1px #eeeeee solid;
51
+ width: 7px;
52
+ height: 7px;
53
+ font-size: 1px;
54
+ }
55
+ .jcrop-handle.ord-n {
56
+ left: 50%;
57
+ margin-left: -4px;
58
+ margin-top: -4px;
59
+ top: 0;
60
+ }
61
+ .jcrop-handle.ord-s {
62
+ bottom: 0;
63
+ left: 50%;
64
+ margin-bottom: -4px;
65
+ margin-left: -4px;
66
+ }
67
+ .jcrop-handle.ord-e {
68
+ margin-right: -4px;
69
+ margin-top: -4px;
70
+ right: 0;
71
+ top: 50%;
72
+ }
73
+ .jcrop-handle.ord-w {
74
+ left: 0;
75
+ margin-left: -4px;
76
+ margin-top: -4px;
77
+ top: 50%;
78
+ }
79
+ .jcrop-handle.ord-nw {
80
+ left: 0;
81
+ margin-left: -4px;
82
+ margin-top: -4px;
83
+ top: 0;
84
+ }
85
+ .jcrop-handle.ord-ne {
86
+ margin-right: -4px;
87
+ margin-top: -4px;
88
+ right: 0;
89
+ top: 0;
90
+ }
91
+ .jcrop-handle.ord-se {
92
+ bottom: 0;
93
+ margin-bottom: -4px;
94
+ margin-right: -4px;
95
+ right: 0;
96
+ }
97
+ .jcrop-handle.ord-sw {
98
+ bottom: 0;
99
+ left: 0;
100
+ margin-bottom: -4px;
101
+ margin-left: -4px;
102
+ }
103
+ /* Dragbars */
104
+ .jcrop-dragbar.ord-n,
105
+ .jcrop-dragbar.ord-s {
106
+ height: 7px;
107
+ width: 100%;
108
+ }
109
+ .jcrop-dragbar.ord-e,
110
+ .jcrop-dragbar.ord-w {
111
+ height: 100%;
112
+ width: 7px;
113
+ }
114
+ .jcrop-dragbar.ord-n {
115
+ margin-top: -4px;
116
+ }
117
+ .jcrop-dragbar.ord-s {
118
+ bottom: 0;
119
+ margin-bottom: -4px;
120
+ }
121
+ .jcrop-dragbar.ord-e {
122
+ margin-right: -4px;
123
+ right: 0;
124
+ }
125
+ .jcrop-dragbar.ord-w {
126
+ margin-left: -4px;
127
+ }
128
+ /* The "jcrop-light" class/extension */
129
+ .jcrop-light .jcrop-vline,
130
+ .jcrop-light .jcrop-hline {
131
+ background: #ffffff;
132
+ filter: alpha(opacity=70) !important;
133
+ opacity: .70!important;
134
+ }
135
+ .jcrop-light .jcrop-handle {
136
+ -moz-border-radius: 3px;
137
+ -webkit-border-radius: 3px;
138
+ background-color: #000000;
139
+ border-color: #ffffff;
140
+ border-radius: 3px;
141
+ }
142
+ /* The "jcrop-dark" class/extension */
143
+ .jcrop-dark .jcrop-vline,
144
+ .jcrop-dark .jcrop-hline {
145
+ background: #000000;
146
+ filter: alpha(opacity=70) !important;
147
+ opacity: 0.7 !important;
148
+ }
149
+ .jcrop-dark .jcrop-handle {
150
+ -moz-border-radius: 3px;
151
+ -webkit-border-radius: 3px;
152
+ background-color: #ffffff;
153
+ border-color: #000000;
154
+ border-radius: 3px;
155
+ }
156
+ /* Simple macro to turn off the antlines */
157
+ .solid-line .jcrop-vline,
158
+ .solid-line .jcrop-hline {
159
+ background: #ffffff;
160
+ }
161
+ /* Fix for twitter bootstrap et al. */
162
+ .jcrop-holder img,
163
+ img.jcrop-preview {
164
+ max-width: none;
165
+ }
@@ -0,0 +1,191 @@
1
+ @mixin opacity($n:1,$ie:100){
2
+ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity="$n")";
3
+ moz-opacity:$n;
4
+ filter: alpha(opacity=$ie);
5
+ opacity:$n;
6
+ }
7
+ @mixin textShadow($px:2px 1px 1px,$color:#000000){
8
+ text-shadow: $px $color;
9
+ filter: dropshadow(color=$color, offx=2, offy=2);
10
+ }
11
+ @mixin rounded($rounded:5px){
12
+ -webkit-border-radius:$rounded;
13
+ -khtml-border-radius:$rounded;
14
+ -moz-border-radius:$rounded;
15
+ -o-border-radius:$rounded;
16
+ border-radius:$rounded;
17
+ }
18
+ @mixin spriteImages($padding:10px,$position:-10px -10px,$color:transparent){
19
+ padding:$padding;
20
+ background:$color url('/assets/sprite.png') $position no-repeat;
21
+ }
22
+
23
+ @mixin sampleSprite($x){
24
+ background:transparent image-url('/assets/sprite.png') $x no-repeat;
25
+ }
26
+
27
+ /**/
28
+ @mixin backgroundImage($imageName:no-logo,$format:png, $repeat:no-repeat,$color:transparent){
29
+ background:$color url(/assets/system/$imageName$format) $repeat !important;
30
+ }
31
+ /*store.scc.scss*/
32
+ @mixin tableCell(){
33
+ display:table-cell;
34
+ vertical-align:middle;
35
+ text-align:center;
36
+ }
37
+ @mixin animation($position:all, $time:0.5s, $move:ease-in-out){
38
+ -webkit-transition: $position $time $move;
39
+ -moz-transition: $position $time $move;
40
+ -o-transition: $position $time $move;
41
+ -ms-transition: $position $time $move;
42
+ transition: $position $time $move;
43
+ }
44
+ @mixin transformAnimation($scale:1.2){
45
+ -webkit-transform: scale($scale);
46
+ -moz-transform: scale($scale);
47
+ -o-transform: scale($scale);
48
+ -ms-transform: scale($scale);
49
+ transform: scale($scale);
50
+ }
51
+ @mixin animationdelay($time:0.1s){
52
+ -webkit-transition-delay: $time;
53
+ -moz-transition-delay: $time;
54
+ -o-transition-delay: $time;
55
+ -ms-transition-delay: $time;
56
+ transition-delay: $time;
57
+
58
+ }
59
+ @mixin boxShadow($size:1px 1px 1px, $color:#333){
60
+ -webkit-box-shadow: $size $color;
61
+ -moz-box-shadow: $size $color;
62
+ box-shadow: $size $color;
63
+ }
64
+ @mixin rotate($rotate:-180deg){
65
+ -webkit-transform:rotate($rotate);
66
+ -moz-transform:rotate($rotate);
67
+ -o-transform:rotate($rotate);
68
+ -ms-transform:rotate($rotate);
69
+ transform:rotate($rotate);
70
+ }
71
+ @mixin boderRadius($rad){
72
+ -webkit-border-radius:$rad;
73
+ -moz-border-radius:$rad;
74
+ border-radius:$rad;
75
+ }
76
+ @mixin dropShadow($size:2px 2px 12px,$op:0.8){
77
+ filter: drop-shadow($size rgba(0,0,0,$op));
78
+ -webkit-filter: drop-shadow($size rgba(0,0,0,$op));
79
+ -moz-filter: drop-shadow($size rgba(0,0,0,$op));
80
+ -o-filter: drop-shadow($size rgba(0,0,0,$op));
81
+ ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=135, Color='rgba(0,0,0,"$op")')";
82
+ filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5,Direction=135,Color='rgba(0,0,0,$op)');
83
+ //filter: url(#drop-shadow);
84
+ }
85
+ /*Degradiants*/
86
+
87
+ @mixin orange_easy_to_orange_hard_vert(){
88
+ background: #fbac37; /* Old browsers */
89
+ background: -moz-linear-gradient(top, #fbac37 0%, #f97c00 100%); /* FF3.6+ */
90
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fbac37), color-stop(100%,#f97c00)); /* Chrome,Safari4+ */
91
+ background: -webkit-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* Chrome10+,Safari5.1+ */
92
+ background: -o-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* Opera 11.10+ */
93
+ background: -ms-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* IE10+ */
94
+ background: linear-gradient(to bottom, #fbac37 0%,#f97c00 100%); /* W3C */
95
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbac37', endColorstr='#f97c00',GradientType=0 ); /* IE6-9 */
96
+
97
+ }
98
+ @mixin blue_skye_to_blue_hard_vert(){
99
+ background: #3399ff; /* Old browsers */
100
+ background: -moz-linear-gradient(top, #3399ff 0%, #2268ff 100%); /* FF3.6+ */
101
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3399ff), color-stop(100%,#2268ff)); /* Chrome,Safari4+ */
102
+ background: -webkit-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* Chrome10+,Safari5.1+ */
103
+ background: -o-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* Opera 11.10+ */
104
+ background: -ms-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* IE10+ */
105
+ background: linear-gradient(to bottom, #3399ff 0%,#2268ff 100%); /* W3C */
106
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3399ff', endColorstr='#2268ff',GradientType=0 ); /* IE6-9 */
107
+
108
+ }
109
+ @mixin blue_easy_to_blue_hard_vert(){
110
+ background: #0099ff; /* Old browsers */
111
+ background: -moz-linear-gradient(top, #0099ff 0%, #0e68ab 100%); /* FF3.6+ */
112
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0099ff), color-stop(100%,#0e68ab)); /* Chrome,Safari4+ */
113
+ background: -webkit-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* Chrome10+,Safari5.1+ */
114
+ background: -o-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* Opera 11.10+ */
115
+ background: -ms-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* IE10+ */
116
+ background: linear-gradient(to bottom, #0099ff 0%,#0e68ab 100%); /* W3C */
117
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0099ff', endColorstr='#0e68ab',GradientType=0 ); /* IE6-9 */
118
+
119
+ }
120
+ @mixin black_easy_to_black_dark(){
121
+ background: #828c95; /* Old browsers */
122
+ background: -moz-linear-gradient(top, #828c95 0%, #28343b 100%); /* FF3.6+ */
123
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#828c95), color-stop(100%,#28343b)); /* Chrome,Safari4+ */
124
+ background: -webkit-linear-gradient(top, #828c95 0%,#28343b 100%); /* Chrome10+,Safari5.1+ */
125
+ background: -o-linear-gradient(top, #828c95 0%,#28343b 100%); /* Opera 11.10+ */
126
+ background: -ms-linear-gradient(top, #828c95 0%,#28343b 100%); /* IE10+ */
127
+ background: linear-gradient(to bottom, #828c95 0%,#28343b 100%); /* W3C */
128
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#828c95', endColorstr='#28343b',GradientType=0 ); /* IE6-9 */
129
+
130
+ }
131
+
132
+ @mixin generar_triangulo_bottom($lados:50px,$base:100px,$color:#000){
133
+ width: 0;
134
+ height: 0;
135
+ border-left: $lados solid transparent;
136
+ border-right: $lados solid transparent;
137
+ border-top: $base solid $color;
138
+ }
139
+
140
+ @mixin generar_triangulo_top($lados:50px,$base:100px,$color:#000){
141
+ width: 0;
142
+ height: 0;
143
+ border-left: $lados solid transparent;
144
+ border-right: $lados solid transparent;
145
+ border-bottom: $base solid $color;
146
+ }
147
+
148
+ @mixin generar_triangulo_right($lados:50px,$base:100px,$color:#000){
149
+ width: 0;
150
+ height: 0;
151
+ border-left: $base solid $color;
152
+ border-bottom: $lados solid transparent;
153
+ border-top: $lados solid transparent;
154
+ }
155
+
156
+ @mixin generar_triangulo_left($lados:50px,$base:100px,$color:#000){
157
+ width: 0;
158
+ height: 0;
159
+ border-right: $base solid $color;
160
+ border-bottom: $lados solid transparent;
161
+ border-top: $lados solid transparent;
162
+ }
163
+ @mixin red_degradiant_error(){
164
+ background: -moz-linear-gradient(top, rgba(255,69,48,1) 0%, rgba(255,39,20,0.7) 100%); /* FF3.6+ */
165
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,69,48,1)), color-stop(100%,rgba(255,39,20,0.7))); /* Chrome,Safari4+ */
166
+ background: -webkit-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* Chrome10+,Safari5.1+ */
167
+ background: -o-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* Opera 11.10+ */
168
+ background: -ms-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* IE10+ */
169
+ background: linear-gradient(to bottom, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* W3C */
170
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff4530', endColorstr='#b3ff2714',GradientType=0 ); /* IE6-9 */
171
+ }
172
+ @mixin green_degradian_validate(){
173
+ background: -moz-linear-gradient(top, rgba(150,197,111,0.9) 0%, rgba(150,197,111,0.9) 34%, rgba(150,197,111,0.6) 100%); /* FF3.6+ */
174
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(150,197,111,0.9)), color-stop(34%,rgba(150,197,111,0.9)), color-stop(100%,rgba(150,197,111,0.6))); /* Chrome,Safari4+ */
175
+ background: -webkit-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* Chrome10+,Safari5.1+ */
176
+ background: -o-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* Opera 11.10+ */
177
+ background: -ms-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* IE10+ */
178
+ background: linear-gradient(to bottom, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* W3C */
179
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e696c56f', endColorstr='#9996c56f',GradientType=0 ); /* IE6-9 */
180
+ }
181
+
182
+ @mixin desabled_submit_Color(){
183
+ background: rgb(101,130,181); /* Old browsers */
184
+ background: -moz-linear-gradient(top, rgba(101,130,181,1) 0%, rgba(121,143,181,1) 100%); /* FF3.6+ */
185
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(101,130,181,1)), color-stop(100%,rgba(121,143,181,1))); /* Chrome,Safari4+ */
186
+ background: -webkit-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* Chrome10+,Safari5.1+ */
187
+ background: -o-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* Opera 11.10+ */
188
+ background: -ms-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* IE10+ */
189
+ background: linear-gradient(to bottom, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* W3C */
190
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6582b5', endColorstr='#798fb5',GradientType=0 ); /* IE6-9 */
191
+ }
@@ -0,0 +1,4 @@
1
+ module Crimagify
2
+ class ApplicationController < ::ApplicationController
3
+ end
4
+ end
@@ -0,0 +1,64 @@
1
+ include Crimagify::ImageFunctions
2
+ module Crimagify
3
+ class CropperController < ApplicationController
4
+ #================================================================CropperAjaxActions================================================================#
5
+ def partial_cropper
6
+ @params = params[:image]
7
+ @parent_element_id = params[:parent_element_id]
8
+ end
9
+
10
+ def params_cropper
11
+ @parent_element_id = params[:parent_element_id]
12
+ @img = []
13
+ @img << ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
14
+ @image_generated = ImageFunctions::write_tmp_image(params[:image], params[:parent_id].to_i, params[:parent], @parent_element_id)
15
+ @img << @image_generated #1
16
+ @img << params[:crop_x] #2
17
+ @img << params[:crop_y] #3
18
+ @img << params[:crop_w] #4
19
+ @img << params[:crop_h] #5
20
+ @img << params[:parent] #6
21
+ @img << params[:parent_element_id] #7
22
+
23
+ if File.exist?(@image_generated)
24
+ if @img[0] == 0
25
+ @img_new = Crimagify::Image.find_by_parent_id(@img[0])
26
+ @img_new.update_attributes(:image_temporal => File.open(@image_generated),
27
+ :crop_x => params[:crop_x],
28
+ :crop_y => params[:crop_y],
29
+ :crop_w => params[:crop_w],
30
+ :crop_h => params[:crop_h])
31
+ @img_new.crop_avatar_temporal
32
+ else
33
+ if @img[0].crimagify_images != []
34
+ @cond = true
35
+ @img[0].crimagify_images.map{ |image|
36
+ if image.image_name == @parent_element_id
37
+ image.update_attributes(:image_temporal => File.open(@image_generated),
38
+ :crop_x => params[:crop_x],
39
+ :crop_y => params[:crop_y],
40
+ :crop_w => params[:crop_w],
41
+ :crop_h => params[:crop_h])
42
+ image.crop_avatar_temporal
43
+ @cond = false
44
+ end
45
+ }
46
+ if @cond
47
+ img = ImageFunctions::save_new_image(@image_generated, params[:crop_x], params[:crop_y], params[:crop_w], params[:crop_h], params[:parent], @img[0].id, @parent_element_id, true)
48
+ img.save!
49
+ img.crop_avatar_temporal
50
+ @img[0] = ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
51
+ end
52
+ else
53
+ img = ImageFunctions::save_new_image(@image_generated, params[:crop_x], params[:crop_y], params[:crop_w], params[:crop_h], params[:parent], @img[0].id, @parent_element_id, true)
54
+ img.save!
55
+ img.crop_avatar_temporal
56
+ @img[0] = ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
57
+ end
58
+ end
59
+ else
60
+ puts "No existe el directorio: #{@image_generated}"
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,28 @@
1
+ module Crimagify
2
+ module ApplicationHelper
3
+
4
+ def image_cropper(object, options, image_options = {})
5
+ image_options[:class] = "#{image_options[:class]} img_start"
6
+ img = object.crimagify_images.where("image_name=?", options[:image_name])
7
+ version_name = options[:ratio]
8
+ if img == []
9
+ url_image = "rails.png"
10
+ else
11
+ url_image = img.first.image_url(options[:ratio]).to_s rescue ""
12
+ end
13
+ if url_image == ""
14
+ url_image = "rails.png"
15
+ end
16
+ render(:partial => "crimagify/crop_partials/fields_cropper", :locals => { id_image: options[:image_name], url_image: url_image, image_options: image_options, version_name: version_name })
17
+ end
18
+
19
+ def images_id(object)
20
+ html = ""
21
+ html << content_tag(:input, nil, :id => :parent, :name => :parent, :type => :hidden, :value => "#{object.class.name}")
22
+ html << content_tag(:input, nil, :id => :parent_id, :name => :parent_id, :type => :hidden, :value => "#{object.id}")
23
+ html << content_tag(:input, nil, :id => :id_images, :name => :id_images, :type => :hidden, :value => "")
24
+ return raw html
25
+ end
26
+
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ module Crimagify
2
+ class Image < ActiveRecord::Base
3
+ require 'carrierwave/orm/activerecord'
4
+ extend Crimagify::DinamicImageMethods
5
+
6
+ mount_uploader :image, Crimagify::ImageUploader
7
+ mount_uploader :image_temporal, Crimagify::ImageUploader
8
+
9
+ belongs_to :parent, polymorphic: true
10
+ attr_accessible :image, :image_name, :image_temporal, :parent_id, :parent_type, :crop_x, :crop_y, :crop_w, :crop_h
11
+
12
+ attr_accessor :crop_x, :crop_y, :crop_w, :crop_h
13
+
14
+ def crop_avatar_temporal
15
+ if image_temporal.present?
16
+ image_temporal.recreate_versions! if crop_x.present?
17
+ end
18
+ end
19
+
20
+ def crop_avatar_real
21
+ image.recreate_versions! if crop_x.present?
22
+ end
23
+
24
+ build_sizes_images
25
+
26
+ end
27
+ end
@@ -0,0 +1,131 @@
1
+ # encoding: utf-8
2
+ module Crimagify
3
+ class ImageUploader < CarrierWave::Uploader::Base
4
+
5
+ # Include RMagick or MiniMagick support:
6
+ include CarrierWave::RMagick
7
+ # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
8
+ # include Sprockets::Helpers::RailsHelper
9
+ # include Sprockets::Helpers::IsolatedHelper
10
+
11
+
12
+ # Choose what kind of storage to use for this uploader:
13
+ storage :file
14
+ # storage :fog
15
+
16
+ # Override the directory where uploaded files will be stored.
17
+ # This is a sensible default for uploaders that are meant to be mounted:
18
+ def store_dir
19
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
20
+ end
21
+
22
+ # Provide a default URL as a default if there hasn't been a file uploaded:
23
+ # def default_url
24
+ # # For Rails 3.1+ asset pipeline compatibility:
25
+ # # asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
26
+ #
27
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
28
+ # end
29
+
30
+ #==========================ThisAreaIsForSizeVersions==========================================================
31
+
32
+ def self.enable_processing(value=nil)
33
+ array_versions = []
34
+ CRIMAGIFY_ENV.each do |image_name|
35
+ image_name[1].each do |name|
36
+ name_version = name[1]
37
+ name_version.each do |item|
38
+ array_versions << item.first
39
+ end
40
+ end
41
+ end
42
+ return array_versions
43
+ end
44
+
45
+ array_versions = enable_processing.uniq
46
+ array_versions.each do |item|
47
+ puts "creando la version de imagen #{item}.."
48
+ item = item.to_sym
49
+ version item do
50
+ process :crop
51
+ end
52
+ end
53
+
54
+ ################ ORIGINAL
55
+
56
+ # version :aux_medium do
57
+ # process :crop
58
+ # resize_to_fit(158, 236)
59
+ # end
60
+
61
+ # version :aux_thumb do
62
+ # process :crop
63
+ # resize_to_fit(57, 85)
64
+ # end
65
+
66
+
67
+ # version :medium, :from_version => :aux_medium do
68
+ # process :crop_medium# => [158,236]
69
+ # resize_to_limit(158,161)
70
+ # end
71
+
72
+ # version :thumb, :from_version => :aux_thumb do
73
+ # process :crop_thumb
74
+ # resize_to_fit(57,59)
75
+ # end
76
+
77
+ ################ ORIGINAL
78
+
79
+ # Add a white list of extensions which are allowed to be uploaded.
80
+ # For images you might use something like this:
81
+ def extension_white_list
82
+ %w(jpg jpeg gif png)
83
+ end
84
+
85
+ def crop
86
+ width = 0
87
+ heigth = 0
88
+ parent = model.parent_type
89
+ image_name = model.image_name
90
+ if parent == ""
91
+ aux_name = original_filename.split("-")
92
+ parent = aux_name[3].to_s
93
+ image_name = aux_name[4].to_s
94
+ end
95
+
96
+ CRIMAGIFY_ENV["#{parent}"]["#{image_name}"].each do |size_name|
97
+ if size_name.first == "#{version_name}"
98
+ if model.crop_x.present?
99
+ manipulate! do |img|
100
+ x = model.crop_x.to_i
101
+ y = model.crop_y.to_i
102
+ w = model.crop_w.to_i
103
+ h = model.crop_h.to_i
104
+ img.crop!(x, y, w, h)
105
+
106
+ width = CRIMAGIFY_ENV["#{parent}"]["#{image_name}"]["#{version_name}"]['width'].to_i
107
+ height = CRIMAGIFY_ENV["#{parent}"]["#{image_name}"]["#{version_name}"]['height'].to_i
108
+ img.resize_to_fit(width, height)
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+
115
+ # def crop_medium#(width, height)
116
+ # manipulate! do |img|
117
+ # x = 0
118
+ # y = (236 - 161)/2
119
+ # img.crop!(x, y, 158, 161)
120
+ # end
121
+ # end
122
+
123
+ # def crop_thumb
124
+ # manipulate! do |img|
125
+ # x = 0
126
+ # y = (85 - 59)/2
127
+ # img.crop!(x, y, 57, 59)
128
+ # end
129
+ # end
130
+ end
131
+ end