image_thread 0.0.1 → 0.1.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/README.md +5 -0
- data/lib/image_thread.rb +8 -3
- data/lib/image_thread/extensions/rails_admin.rb +1 -0
- data/lib/image_thread/extensions/rails_admin/config/fields.rb +11 -0
- data/lib/image_thread/extensions/rails_admin/config/fields/types/image_thread.rb +27 -0
- data/lib/image_thread/model_methods.rb +16 -9
- data/lib/image_thread/version.rb +1 -1
- metadata +33 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f90c1e1d1a9f5ec95b1a5d65055f07407e03db74
|
4
|
+
data.tar.gz: d4717ddbc258166a21e054deb9c58eb9d225f49d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d23781fd29e1f8712a166913374d81bf3208ad47516ba6fc47d367c60d6a3e3f73cb0224712367d0fbe37d52b5c3d0533c877eb684e5bea99f5c35d0d791d9b
|
7
|
+
data.tar.gz: a0b18330768dfab847a13dd2a8035e9d8160397c4513252b80aeef5162249ffac17d80db491a99d8ecba424f4d30f9728196dfc159d97a6e1b21f79248bc3477
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# ImageThread
|
2
2
|
|
3
|
+
[](https://codeclimate.com/github/martsoft/image_thread)
|
4
|
+
[](http://badge.fury.io/rb/image_thread)
|
5
|
+
|
3
6
|
Gem for multiply file upload (for backend).
|
4
7
|
|
5
8
|
One thread (thread of images) have many images. Attach thread to your model and
|
@@ -17,6 +20,8 @@ Dependencies:
|
|
17
20
|
5. I18n
|
18
21
|
6. Reorder images in thread
|
19
22
|
7. Placeholder generator for nonexistent files
|
23
|
+
8. Tests!!!
|
24
|
+
9. Cache thumb creation
|
20
25
|
|
21
26
|
## Features
|
22
27
|
1. Dynamic thumbs (i.e. thread.image[0].thumb('120x120') or thread.image[0].thumb('300x100!'))
|
data/lib/image_thread.rb
CHANGED
@@ -3,7 +3,13 @@ require 'rails/all'
|
|
3
3
|
require 'carrierwave'
|
4
4
|
require 'foreigner'
|
5
5
|
require 'migration_comments'
|
6
|
+
|
7
|
+
# Core
|
8
|
+
require 'image_thread/exceptions'
|
9
|
+
require 'image_thread/version'
|
10
|
+
require 'image_thread/engine'
|
6
11
|
require 'image_thread/patches/form_helper'
|
12
|
+
require 'image_thread/uploaders/image_uploader'
|
7
13
|
require 'image_thread/model_methods'
|
8
14
|
|
9
15
|
module ImageThread
|
@@ -24,6 +30,5 @@ ActiveSupport.on_load(:active_record) do
|
|
24
30
|
include ImageThread::ModelMethods
|
25
31
|
end
|
26
32
|
|
27
|
-
|
28
|
-
require 'image_thread/
|
29
|
-
require 'image_thread/engine'
|
33
|
+
# Extentions
|
34
|
+
require 'image_thread/extensions/rails_admin' if defined?(RailsAdmin)
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'image_thread/extensions/rails_admin/config/fields/types/image_thread'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module ImageThread
|
2
|
+
module Extentions
|
3
|
+
module RailsAdmin
|
4
|
+
module Config
|
5
|
+
module Fields
|
6
|
+
module Types
|
7
|
+
class ImageThread < ::RailsAdmin::Config::Fields::Base
|
8
|
+
::RailsAdmin::Config::Fields::Types.register(self)
|
9
|
+
|
10
|
+
def initialize(parent, name, properties)
|
11
|
+
super(parent, name, properties)
|
12
|
+
end
|
13
|
+
|
14
|
+
register_instance_option :partial do
|
15
|
+
:image_thread
|
16
|
+
end
|
17
|
+
|
18
|
+
register_instance_option :allowed_methods do
|
19
|
+
[method_name, [method_name, 'images'].join('_')].compact
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -20,6 +20,8 @@ module ImageThread
|
|
20
20
|
|
21
21
|
define_method before_save_method do
|
22
22
|
thread_id = nil
|
23
|
+
images = instance_variable_get(:"@#{field}_images")
|
24
|
+
return if images.blank?
|
23
25
|
image_ids = instance_variable_get(:"@#{field}_images").map { |i| i[:id] }
|
24
26
|
|
25
27
|
ImageThread::Image.select('id, thread_id').where(id: image_ids).each do |image|
|
@@ -34,27 +36,32 @@ module ImageThread
|
|
34
36
|
|
35
37
|
transaction do
|
36
38
|
instance_variable_get(:"@#{field}_images").each do |image|
|
37
|
-
|
39
|
+
img = ImageThread::Image.find image[:id]
|
38
40
|
|
39
|
-
unless
|
40
|
-
|
41
|
+
unless img.blank?
|
42
|
+
if image[:state] == 'default'
|
43
|
+
img.thread.update_attribute(:default_image_id, img.id)
|
44
|
+
next
|
45
|
+
end
|
46
|
+
|
47
|
+
img.update(state: image[:state]) unless image[:state].blank?
|
41
48
|
|
42
|
-
if state == ImageThread::Image::STATE_DELETED
|
49
|
+
if img.state == ImageThread::Image::STATE_DELETED
|
43
50
|
# Remove all files
|
44
51
|
if delete.include?(:files)
|
45
|
-
dir_name = File.dirname(
|
46
|
-
file_name = File.basename(
|
52
|
+
dir_name = File.dirname(img.source.path)
|
53
|
+
file_name = File.basename(img.source.path)
|
47
54
|
|
48
55
|
Dir.chdir(dir_name)
|
49
56
|
Dir.glob(['*', file_name].join).each do |file|
|
50
57
|
File.delete File.expand_path(file)
|
51
58
|
end
|
52
59
|
|
53
|
-
File.expand_path
|
60
|
+
File.expand_path img.source
|
54
61
|
end
|
55
62
|
|
56
63
|
# Remove row from DB
|
57
|
-
|
64
|
+
img.destroy if delete.include?(:row) || delete.include?(:files)
|
58
65
|
end
|
59
66
|
end
|
60
67
|
|
@@ -65,7 +72,7 @@ module ImageThread
|
|
65
72
|
instance_variable_set(:"@#{field}_images", [])
|
66
73
|
end
|
67
74
|
|
68
|
-
define_method [field, 'images='].join
|
75
|
+
define_method [field, '_', 'images','='].join do |images|
|
69
76
|
res = []
|
70
77
|
images.each do |image|
|
71
78
|
id, state = image.split(':')
|
data/lib/image_thread/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_thread
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arthur Shcheglov(fc_arny)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 4.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: haml-rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sass-rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: carrierwave
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,6 +149,9 @@ files:
|
|
121
149
|
- lib/image_thread.rb
|
122
150
|
- lib/image_thread/engine.rb
|
123
151
|
- lib/image_thread/exceptions.rb
|
152
|
+
- lib/image_thread/extensions/rails_admin.rb
|
153
|
+
- lib/image_thread/extensions/rails_admin/config/fields.rb
|
154
|
+
- lib/image_thread/extensions/rails_admin/config/fields/types/image_thread.rb
|
124
155
|
- lib/image_thread/model_methods.rb
|
125
156
|
- lib/image_thread/patches/form_helper.rb
|
126
157
|
- lib/image_thread/uploaders/image_uploader.rb
|
@@ -150,4 +181,3 @@ signing_key:
|
|
150
181
|
specification_version: 4
|
151
182
|
summary: Images for models
|
152
183
|
test_files: []
|
153
|
-
has_rdoc:
|