c80_features 0.1.3 → 0.1.3.1
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.
- checksums.yaml +4 -4
- data/app/admin/c80_features/paras.rb +1 -1
- data/app/models/c80_features/prop.rb +5 -0
- data/app/uploaders/c80_features/image_container_bg_uploader.rb +102 -0
- data/app/uploaders/c80_features/para_uploader.rb +69 -18
- data/db/migrate/20161002170707_create_c80_features_props.rb +16 -0
- data/db/seeds/c80_features_01_fill_props.rb +14 -0
- data/lib/c80_features/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c009745a9723d00ec1e57f41ab39c08065e31acc
|
4
|
+
data.tar.gz: 253bd9b34bd795c055ba54d9a1e85fe49f72f04f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f8e41af6b412e2d3cc7e0a847dd331084eb0432ee7e11ea5e418acb97761a48915f8a44f2f3527c3d0ea945cfe8f612fb1806d53f9910d6f8602673be8f09cb
|
7
|
+
data.tar.gz: 065935428ee17b67e9f63dfd3239a5995c59f50c2a84762023055c205c4c0f34e16f26db342538c2f1206c7adc934a6e09fc303b1debf5dbbf024a599554a8df
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# загрузка картинки для фона блока, в котором содержится контент виджета "преимущества"
|
2
|
+
module C80Features
|
3
|
+
|
4
|
+
# грузит картинку слайдера
|
5
|
+
class ImageContainerBgUploader < CarrierWave::Uploader::Base
|
6
|
+
|
7
|
+
include CarrierWave::MiniMagick
|
8
|
+
|
9
|
+
storage :file
|
10
|
+
|
11
|
+
process :resize_to_limit_my
|
12
|
+
|
13
|
+
version :thumb_big do
|
14
|
+
process :resize_to_big_by_width
|
15
|
+
end
|
16
|
+
|
17
|
+
version :thumb_preview do
|
18
|
+
process :resize_to_preview
|
19
|
+
end
|
20
|
+
|
21
|
+
def store_dir
|
22
|
+
'uploads/features/bg'
|
23
|
+
end
|
24
|
+
|
25
|
+
def filename
|
26
|
+
if original_filename
|
27
|
+
"image_#{secure_token(4)}.#{file.extension}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def resize_to_limit_my
|
32
|
+
|
33
|
+
manipulate! do |img|
|
34
|
+
|
35
|
+
# извлекаем ширину и подгоняем высоту
|
36
|
+
w = C80Features::Prop.first.bg_image_limit_width
|
37
|
+
h = C80Features::Prop.first.bg_image_limit_height
|
38
|
+
|
39
|
+
# меняем размер
|
40
|
+
img.resize "#{w}x#{h}<"
|
41
|
+
img = yield(img) if block_given?
|
42
|
+
img
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# меням размер оригинальной картинки, подгоняя её к требуемой ширине (высота рассчитается автоматом)
|
48
|
+
def resize_to_big_by_width
|
49
|
+
|
50
|
+
manipulate! do |img|
|
51
|
+
|
52
|
+
# извлекаем ширину и подгоняем высоту
|
53
|
+
w = C80Features::Prop.first.bg_big_width
|
54
|
+
h = calc_height_of_image(w)
|
55
|
+
|
56
|
+
# меняем размер
|
57
|
+
img.resize "#{w}x#{h}<"
|
58
|
+
img = yield(img) if block_given?
|
59
|
+
img
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
# пока используется только для показа картинки в админке
|
66
|
+
def resize_to_preview
|
67
|
+
manipulate! do |img|
|
68
|
+
|
69
|
+
w = C80Features::Prop.first.bg_preview_width
|
70
|
+
h = C80Features::Prop.first.bg_preview_height
|
71
|
+
|
72
|
+
img.resize "#{w}x#{h}>"
|
73
|
+
img = yield(img) if block_given?
|
74
|
+
img
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
protected
|
80
|
+
|
81
|
+
def secure_token(length=16)
|
82
|
+
var = :"@#{mounted_as}_secure_token"
|
83
|
+
model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.hex(length/2))
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
# рассчитаем высоту картинки, которая получится, когда подгоняем картинку по ширине w
|
89
|
+
def calc_height_of_image(w)
|
90
|
+
model_image = ::MiniMagick::Image.open(model.image.current_path)
|
91
|
+
calc_height(w, model_image["width"], model_image["height"])
|
92
|
+
end
|
93
|
+
|
94
|
+
# подгоняем по ширине, рассчитываем высоту
|
95
|
+
def calc_height(width, original_w, original_h)
|
96
|
+
k = width.to_f/original_w
|
97
|
+
original_h * k
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
@@ -1,30 +1,81 @@
|
|
1
1
|
# загрузка иконок в блоки "о нас"
|
2
|
-
class C80Features::ParaUploader < CarrierWave::Uploader::Base
|
3
2
|
|
4
|
-
|
3
|
+
module C80Features
|
5
4
|
|
6
|
-
|
5
|
+
# грузит картинку слайдера
|
6
|
+
class ParaUploader < CarrierWave::Uploader::Base
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
include CarrierWave::MiniMagick
|
9
|
+
|
10
|
+
storage :file
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
process :resize_to_limit_my
|
13
|
+
|
14
|
+
version :thumb_preview do
|
15
|
+
process :resize_to_preview
|
15
16
|
end
|
16
|
-
end
|
17
17
|
|
18
|
-
|
18
|
+
def store_dir
|
19
|
+
'uploads/features'
|
20
|
+
end
|
19
21
|
|
20
|
-
|
22
|
+
def filename
|
23
|
+
if original_filename
|
24
|
+
"image_#{secure_token(4)}.#{file.extension}"
|
25
|
+
end
|
26
|
+
end
|
21
27
|
|
22
|
-
|
23
|
-
|
24
|
-
|
28
|
+
def resize_to_limit_my
|
29
|
+
|
30
|
+
manipulate! do |img|
|
31
|
+
|
32
|
+
# извлекаем ширину и подгоняем высоту
|
33
|
+
w = C80Features::Prop.first.para_image_limit_width
|
34
|
+
h = C80Features::Prop.first.para_image_limit_height
|
35
|
+
|
36
|
+
# меняем размер
|
37
|
+
img.resize "#{w}x#{h}<"
|
38
|
+
img = yield(img) if block_given?
|
39
|
+
img
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# пока используется только для показа картинки в админке
|
45
|
+
def resize_to_preview
|
46
|
+
manipulate! do |img|
|
47
|
+
|
48
|
+
w = C80Features::Prop.first.para_preview_width
|
49
|
+
h = C80Features::Prop.first.para_preview_height
|
50
|
+
|
51
|
+
img.resize "#{w}x#{h}>"
|
52
|
+
img = yield(img) if block_given?
|
53
|
+
img
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
protected
|
59
|
+
|
60
|
+
def secure_token(length=16)
|
61
|
+
var = :"@#{mounted_as}_secure_token"
|
62
|
+
model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.hex(length/2))
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
# рассчитаем высоту картинки, которая получится, когда подгоняем картинку по ширине w
|
68
|
+
def calc_height_of_image(w)
|
69
|
+
model_image = ::MiniMagick::Image.open(model.image.current_path)
|
70
|
+
calc_height(w, model_image["width"], model_image["height"])
|
71
|
+
end
|
72
|
+
|
73
|
+
# подгоняем по ширине, рассчитываем высоту
|
74
|
+
def calc_height(width, original_w, original_h)
|
75
|
+
k = width.to_f/original_w
|
76
|
+
original_h * k
|
77
|
+
end
|
25
78
|
|
26
|
-
version :thumb_fit do
|
27
|
-
process :resize_to_fit => [121,107]
|
28
79
|
end
|
29
80
|
|
30
|
-
end
|
81
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateC80FeaturesProps < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :c80_features_props, :options => 'COLLATE=utf8_unicode_ci' do |t|
|
4
|
+
t.integer :bg_image_limit_width
|
5
|
+
t.integer :bg_image_limit_height
|
6
|
+
t.integer :bg_big_width
|
7
|
+
t.integer :bg_preview_width
|
8
|
+
t.integer :bg_preview_height
|
9
|
+
t.integer :para_image_limit_width
|
10
|
+
t.integer :para_image_limit_height
|
11
|
+
t.integer :para_preview_width
|
12
|
+
t.integer :para_preview_height
|
13
|
+
t.string :image_container_bg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# rake db:seed:c80_features_01_fill_props
|
2
|
+
|
3
|
+
C80Features::Prop.delete_all
|
4
|
+
C80Features::Prop.create!({
|
5
|
+
bg_image_limit_width:1600,
|
6
|
+
bg_image_limit_height:1600,
|
7
|
+
bg_big_width: 1600,
|
8
|
+
bg_preview_width: 400,
|
9
|
+
bg_preview_height: 280,
|
10
|
+
para_image_limit_width:300,
|
11
|
+
para_image_limit_height:300,
|
12
|
+
para_preview_width: 300,
|
13
|
+
para_preview_height: 300
|
14
|
+
})
|
data/lib/c80_features/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: c80_features
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.3
|
4
|
+
version: 0.1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -106,6 +106,8 @@ files:
|
|
106
106
|
- app/helpers/c80_features/application_helper.rb
|
107
107
|
- app/models/c80_features/para.rb
|
108
108
|
- app/models/c80_features/para_validator.rb
|
109
|
+
- app/models/c80_features/prop.rb
|
110
|
+
- app/uploaders/c80_features/image_container_bg_uploader.rb
|
109
111
|
- app/uploaders/c80_features/para_uploader.rb
|
110
112
|
- app/views/c80_features/_features_block.html.erb
|
111
113
|
- app/views/c80_features/_features_block_with_images.html.erb
|
@@ -115,6 +117,8 @@ files:
|
|
115
117
|
- c80_features.gemspec
|
116
118
|
- config/locales/ru.yml
|
117
119
|
- db/migrate/20151216132727_create_c80_features_paras.rb
|
120
|
+
- db/migrate/20161002170707_create_c80_features_props.rb
|
121
|
+
- db/seeds/c80_features_01_fill_props.rb
|
118
122
|
- lib/c80_features.rb
|
119
123
|
- lib/c80_features/engine.rb
|
120
124
|
- lib/c80_features/version.rb
|