crimagify 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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