refinerycms-images 2.0.10 → 2.1.0
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/controllers/refinery/admin/images_controller.rb +40 -6
- data/app/helpers/refinery/admin/images_helper.rb +2 -2
- data/app/models/refinery/image.rb +40 -21
- data/app/views/refinery/admin/images/_existing_image.html.erb +1 -1
- data/app/views/refinery/admin/images/_form.html.erb +1 -1
- data/app/views/refinery/admin/images/_grid_view.html.erb +2 -2
- data/app/views/refinery/admin/images/_list_view_image.html.erb +1 -1
- data/app/views/refinery/admin/images/_records.html.erb +4 -6
- data/app/views/refinery/admin/images/insert.html.erb +6 -1
- data/config/locales/bg.yml +1 -2
- data/config/locales/cs.yml +1 -2
- data/config/locales/da.yml +1 -2
- data/config/locales/de.yml +1 -2
- data/config/locales/el.yml +1 -2
- data/config/locales/en.yml +2 -2
- data/config/locales/es.yml +1 -2
- data/config/locales/fi.yml +1 -2
- data/config/locales/fr.yml +1 -2
- data/config/locales/hu.yml +44 -0
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +1 -2
- data/config/locales/ko.yml +1 -2
- data/config/locales/lt.yml +1 -2
- data/config/locales/lv.yml +1 -2
- data/config/locales/nb.yml +1 -2
- data/config/locales/nl.yml +15 -15
- data/config/locales/pl.yml +1 -2
- data/config/locales/pt-BR.yml +1 -2
- data/config/locales/pt.yml +44 -0
- data/config/locales/rs.yml +1 -2
- data/config/locales/ru.yml +1 -2
- data/config/locales/sk.yml +2 -3
- data/config/locales/sl.yml +1 -2
- data/config/locales/sv.yml +1 -2
- data/config/locales/tr.yml +44 -0
- data/config/locales/uk.yml +44 -0
- data/config/locales/vi.yml +1 -2
- data/config/locales/zh-CN.yml +3 -4
- data/config/locales/zh-TW.yml +1 -2
- data/config/routes.rb +3 -3
- data/db/migrate/20120625093918_remove_image_ext_from_refinery_images.rb +9 -0
- data/lib/generators/refinery/images/templates/config/initializers/refinery/images.rb.erb +7 -1
- data/lib/refinery/images/configuration.rb +22 -8
- data/lib/refinery/images/dragonfly.rb +13 -10
- data/lib/refinery/images/engine.rb +1 -2
- data/lib/refinery/images/validators.rb +1 -0
- data/lib/refinery/images/validators/image_update_validator.rb +17 -0
- data/refinerycms-images.gemspec +2 -4
- data/spec/factories/image.rb +4 -0
- data/spec/{requests → features}/refinery/admin/images_spec.rb +65 -7
- data/spec/fixtures/beach-alternate.jpeg +0 -0
- data/spec/fixtures/cape-town-tide-table.pdf +0 -0
- data/spec/models/refinery/image_spec.rb +70 -40
- metadata +18 -22
@@ -7,7 +7,6 @@ module Refinery
|
|
7
7
|
class << self
|
8
8
|
def setup!
|
9
9
|
app_images = ::Dragonfly[:refinery_images]
|
10
|
-
app_images.configure_with(:imagemagick)
|
11
10
|
|
12
11
|
app_images.define_macro(::Refinery::Image, :image_accessor)
|
13
12
|
|
@@ -17,9 +16,11 @@ module Refinery
|
|
17
16
|
|
18
17
|
def configure!
|
19
18
|
app_images = ::Dragonfly[:refinery_images]
|
19
|
+
app_images.configure_with(:imagemagick)
|
20
20
|
app_images.configure_with(:rails) do |c|
|
21
21
|
c.datastore.root_path = Refinery::Images.datastore_root_path
|
22
22
|
c.url_format = Refinery::Images.dragonfly_url_format
|
23
|
+
c.url_host = Refinery::Images.dragonfly_url_host
|
23
24
|
c.secret = Refinery::Images.dragonfly_secret
|
24
25
|
c.trust_file_extensions = Refinery::Images.trust_file_extensions
|
25
26
|
end
|
@@ -34,18 +35,20 @@ module Refinery
|
|
34
35
|
s3.region = Refinery::Images.s3_region if Refinery::Images.s3_region
|
35
36
|
end
|
36
37
|
end
|
38
|
+
|
39
|
+
if Images.custom_backend?
|
40
|
+
app_images.datastore = Images.custom_backend_class.new(Images.custom_backend_opts)
|
41
|
+
end
|
37
42
|
end
|
38
43
|
|
44
|
+
##
|
45
|
+
# Injects Dragonfly::Middleware for Refinery::Images into the stack
|
39
46
|
def attach!(app)
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
:verbose => Rails.env.development?,
|
46
|
-
:metastore => "file:#{Rails.root.join('tmp', 'dragonfly', 'cache', 'meta')}",
|
47
|
-
:entitystore => "file:#{Rails.root.join('tmp', 'dragonfly', 'cache', 'body')}"
|
48
|
-
}
|
47
|
+
if ::Rails.application.config.action_controller.perform_caching
|
48
|
+
app.config.middleware.insert_after 'Rack::Cache', 'Dragonfly::Middleware', :refinery_images
|
49
|
+
else
|
50
|
+
app.config.middleware.use 'Dragonfly::Middleware', :refinery_images
|
51
|
+
end
|
49
52
|
end
|
50
53
|
end
|
51
54
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Refinery
|
2
2
|
module Images
|
3
3
|
class Engine < ::Rails::Engine
|
4
|
-
|
4
|
+
extend Refinery::Engine
|
5
5
|
|
6
6
|
isolate_namespace Refinery
|
7
7
|
engine_name :refinery_images
|
@@ -17,7 +17,6 @@ module Refinery
|
|
17
17
|
Refinery::Plugin.register do |plugin|
|
18
18
|
plugin.pathname = root
|
19
19
|
plugin.name = 'refinery_images'
|
20
|
-
plugin.version = %q{2.0.0}
|
21
20
|
plugin.menu_match = %r{refinery/image(_dialog)?s$}
|
22
21
|
plugin.activity = { :class_name => :'refinery/image' }
|
23
22
|
plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.admin_images_path }
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Refinery
|
2
|
+
module Images
|
3
|
+
module Validators
|
4
|
+
class ImageUpdateValidator < ActiveModel::Validator
|
5
|
+
|
6
|
+
def validate(record)
|
7
|
+
if record.image_name_changed?
|
8
|
+
record.errors.add :image_name,
|
9
|
+
::I18n.t("different_file_name",
|
10
|
+
:scope => "activerecord.errors.models.refinery/image")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/refinerycms-images.gemspec
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Encoding: UTF-8
|
2
|
-
|
3
|
-
require 'refinery/version'
|
2
|
+
require File.expand_path('../../core/lib/refinery/version', __FILE__)
|
4
3
|
|
5
4
|
version = Refinery::Version.to_s
|
6
5
|
|
@@ -20,7 +19,6 @@ Gem::Specification.new do |s|
|
|
20
19
|
s.files = `git ls-files`.split("\n")
|
21
20
|
s.test_files = `git ls-files -- spec/*`.split("\n")
|
22
21
|
|
23
|
-
s.add_dependency 'dragonfly', '~> 0.9.
|
24
|
-
s.add_dependency 'rack-cache', '>= 0.5.3'
|
22
|
+
s.add_dependency 'dragonfly', '~> 0.9.14'
|
25
23
|
s.add_dependency 'refinerycms-core', version
|
26
24
|
end
|
data/spec/factories/image.rb
CHANGED
@@ -2,4 +2,8 @@ FactoryGirl.define do
|
|
2
2
|
factory :image, :class => ::Refinery::Image do
|
3
3
|
image Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
4
4
|
end
|
5
|
+
|
6
|
+
factory :alternate_image, :class => ::Refinery::Image do
|
7
|
+
image Refinery.roots(:'refinery/images').join("spec/fixtures/beach-alternate.jpeg")
|
8
|
+
end
|
5
9
|
end
|
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
module Refinery
|
4
4
|
describe "AdminImages" do
|
5
|
-
|
5
|
+
refinery_login_with :refinery_user
|
6
6
|
|
7
7
|
context "when no images" do
|
8
8
|
it "invites to add one" do
|
@@ -35,11 +35,59 @@ module Refinery
|
|
35
35
|
Refinery::Image.count.should == 1
|
36
36
|
end
|
37
37
|
|
38
|
-
it
|
39
|
-
|
40
|
-
|
38
|
+
it "cannot upload a pdf", :js => true do
|
39
|
+
visit refinery.admin_images_path
|
40
|
+
|
41
|
+
click_link ::I18n.t('create_new_image', :scope => 'refinery.admin.images.actions')
|
42
|
+
|
43
|
+
page.should have_selector 'iframe#dialog_iframe'
|
44
|
+
|
45
|
+
page.within_frame('dialog_iframe') do
|
46
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').
|
47
|
+
join("spec/fixtures/cape-town-tide-table.pdf")
|
48
|
+
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
49
|
+
end
|
41
50
|
|
42
|
-
|
51
|
+
page.within_frame('dialog_iframe') do
|
52
|
+
page.should have_content(::I18n.t('incorrect_format', :scope => 'activerecord.errors.models.refinery/image'))
|
53
|
+
end
|
54
|
+
Refinery::Image.count.should == 0
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context "new/create - insert mode" do
|
59
|
+
it "uploads image", :js => true do
|
60
|
+
visit refinery.insert_admin_images_path(:modal => true, :wymedtior => true)
|
61
|
+
|
62
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/image-with-dashes.jpg")
|
63
|
+
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
64
|
+
|
65
|
+
page.should have_selector('#existing_image_area', :visible => true)
|
66
|
+
Refinery::Image.count.should == 1
|
67
|
+
end
|
68
|
+
|
69
|
+
it "gets error message when uploading non-image", :js => true do
|
70
|
+
visit refinery.insert_admin_images_path(:modal => true, :wymedtior => true)
|
71
|
+
|
72
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/cape-town-tide-table.pdf")
|
73
|
+
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
74
|
+
|
75
|
+
page.should have_selector('#upload_image_area', :visible => true)
|
76
|
+
page.should have_content(::I18n.t('incorrect_format', :scope => 'activerecord.errors.models.refinery/image'))
|
77
|
+
Refinery::Image.count.should == 0
|
78
|
+
end
|
79
|
+
|
80
|
+
it "gets error message when uploading non-image (when an image already exists)", :js => true do
|
81
|
+
FactoryGirl.create(:image)
|
82
|
+
visit refinery.insert_admin_images_path(:modal => true, :wymedtior => true)
|
83
|
+
|
84
|
+
choose 'Upload'
|
85
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/cape-town-tide-table.pdf")
|
86
|
+
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
87
|
+
|
88
|
+
page.should have_selector('#upload_image_area', :visible => true)
|
89
|
+
page.should have_content(::I18n.t('incorrect_format', :scope => 'activerecord.errors.models.refinery/image'))
|
90
|
+
Refinery::Image.count.should == 1
|
43
91
|
end
|
44
92
|
end
|
45
93
|
|
@@ -56,14 +104,24 @@ module Refinery
|
|
56
104
|
page.should have_content("Use current image or replace it with this one...")
|
57
105
|
page.should have_selector("a[href*='#{refinery.admin_images_path}']")
|
58
106
|
|
59
|
-
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/
|
107
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
60
108
|
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
61
109
|
|
62
|
-
page.should have_content(::I18n.t('updated', :scope => 'refinery.crudify', :what => "'
|
110
|
+
page.should have_content(::I18n.t('updated', :scope => 'refinery.crudify', :what => "'Beach'"))
|
63
111
|
Refinery::Image.count.should == 1
|
64
112
|
|
65
113
|
lambda { click_link "View this image" }.should_not raise_error
|
66
114
|
end
|
115
|
+
|
116
|
+
it "doesn't allow updating if image has different file name" do
|
117
|
+
visit refinery.edit_admin_image_path(image)
|
118
|
+
|
119
|
+
attach_file "image_image", Refinery.roots(:'refinery/images').join("spec/fixtures/fathead.png")
|
120
|
+
click_button ::I18n.t('save', :scope => 'refinery.admin.form_actions')
|
121
|
+
|
122
|
+
page.should have_content(::I18n.t("different_file_name",
|
123
|
+
:scope => "activerecord.errors.models.refinery/image"))
|
124
|
+
end
|
67
125
|
end
|
68
126
|
|
69
127
|
context "destroy" do
|
Binary file
|
Binary file
|
@@ -6,9 +6,59 @@ module Refinery
|
|
6
6
|
let(:image) { FactoryGirl.build(:image) }
|
7
7
|
let(:created_image) { FactoryGirl.create(:image) }
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
describe "validations" do
|
10
|
+
describe "valid #image" do
|
11
|
+
before do
|
12
|
+
@file = Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
13
|
+
Images.stub(:max_image_size).and_return(File.read(@file).size + 10.megabytes)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be valid when size does not exceed .max_image_size" do
|
17
|
+
Image.new(:image => @file).should be_valid
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "too large #image" do
|
22
|
+
before do
|
23
|
+
@file = Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
24
|
+
Images.stub(:max_image_size).and_return(0)
|
25
|
+
@image = Image.new(:image => @file)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should not be valid when size exceeds .max_image_size" do
|
29
|
+
@image.should_not be_valid
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should contain an error message" do
|
33
|
+
@image.valid?
|
34
|
+
@image.errors.should_not be_empty
|
35
|
+
@image.errors[:image].should == ["Image should be smaller than #{Images.max_image_size} bytes in size"]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "invalid argument for #image" do
|
40
|
+
before do
|
41
|
+
@image = Image.new
|
42
|
+
end
|
43
|
+
|
44
|
+
it "has an error message" do
|
45
|
+
@image.valid?
|
46
|
+
@image.errors.should_not be_empty
|
47
|
+
@image.errors[:image].should == ["You must specify an image for upload"]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context "when image exists" do
|
52
|
+
it "doesn't allow to replace it with image which has different file name" do
|
53
|
+
created_image.image = Refinery.roots(:'refinery/images').join("spec/fixtures/beach-alternate.jpeg")
|
54
|
+
created_image.should_not be_valid
|
55
|
+
created_image.should have_at_least(1).error_on(:image_name)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "allows to replace it with image which has the same file name" do
|
59
|
+
created_image.image = Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
60
|
+
created_image.should be_valid
|
61
|
+
end
|
12
62
|
end
|
13
63
|
end
|
14
64
|
|
@@ -22,16 +72,16 @@ module Refinery
|
|
22
72
|
end
|
23
73
|
|
24
74
|
it "becomes different when supplying geometry" do
|
25
|
-
created_image.url.should_not == created_image.thumbnail('200x200').url
|
75
|
+
created_image.url.should_not == created_image.thumbnail(:geometry => '200x200').url
|
26
76
|
end
|
27
77
|
|
28
78
|
it "has different urls for each geometry string" do
|
29
|
-
created_image.thumbnail('200x200').url.should_not == created_image.thumbnail('200x201').url
|
79
|
+
created_image.thumbnail(:geometry => '200x200').url.should_not == created_image.thumbnail(:geometry => '200x201').url
|
30
80
|
end
|
31
81
|
|
32
82
|
it "uses right geometry when given a thumbnail name" do
|
33
83
|
name, geometry = Refinery::Images.user_image_sizes.first
|
34
|
-
created_image.thumbnail(name).url.should == created_image.thumbnail(geometry).url
|
84
|
+
created_image.thumbnail(:geometry => name).url.should == created_image.thumbnail(:geometry => geometry).url
|
35
85
|
end
|
36
86
|
end
|
37
87
|
|
@@ -112,47 +162,27 @@ module Refinery
|
|
112
162
|
end
|
113
163
|
end
|
114
164
|
|
115
|
-
describe
|
116
|
-
|
117
|
-
before do
|
118
|
-
@file = Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
119
|
-
Images.max_image_size = (File.read(@file).size + 10.megabytes)
|
120
|
-
end
|
165
|
+
describe '#thumbnail_dimensions returns correctly with' do
|
166
|
+
let(:created_alternate_image) { FactoryGirl.create(:alternate_image) }
|
121
167
|
|
122
|
-
|
123
|
-
|
124
|
-
end
|
168
|
+
it 'nil' do
|
169
|
+
created_alternate_image.thumbnail_dimensions(nil).should == { :width => 376, :height => 184 }
|
125
170
|
end
|
126
171
|
|
127
|
-
|
128
|
-
|
129
|
-
@file = Refinery.roots(:'refinery/images').join("spec/fixtures/beach.jpeg")
|
130
|
-
Images.max_image_size = 0
|
131
|
-
@image = Image.new(:image => @file)
|
132
|
-
end
|
133
|
-
|
134
|
-
it "should not be valid when size exceeds .max_image_size" do
|
135
|
-
@image.should_not be_valid
|
136
|
-
end
|
137
|
-
|
138
|
-
it "should contain an error message" do
|
139
|
-
@image.valid?
|
140
|
-
@image.errors.should_not be_empty
|
141
|
-
@image.errors[:image].should == ["Image should be smaller than #{Images.max_image_size} bytes in size"]
|
142
|
-
end
|
172
|
+
it '225x255>' do
|
173
|
+
created_alternate_image.thumbnail_dimensions('225x255>').should == { :width => 225, :height => 110 }
|
143
174
|
end
|
175
|
+
end
|
144
176
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
177
|
+
describe '#thumbnail_dimensions returns correctly with user-defined geometries' do
|
178
|
+
it ':medium' do
|
179
|
+
created_image.thumbnail_dimensions(:medium).should == { :width => 225, :height => 169 }
|
180
|
+
end
|
149
181
|
|
150
|
-
|
151
|
-
|
152
|
-
@image.errors.should_not be_empty
|
153
|
-
@image.errors[:image].should == ["You must specify an image for upload"]
|
154
|
-
end
|
182
|
+
it ':large' do
|
183
|
+
created_image.thumbnail_dimensions(:large).should == { :width => 450, :height => 338 }
|
155
184
|
end
|
156
185
|
end
|
186
|
+
|
157
187
|
end
|
158
188
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refinerycms-images
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philip Arndt
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-08-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: dragonfly
|
@@ -18,42 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.9.
|
21
|
+
version: 0.9.14
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.9.
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: rack-cache
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - '>='
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: 0.5.3
|
36
|
-
type: :runtime
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - '>='
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 0.5.3
|
28
|
+
version: 0.9.14
|
43
29
|
- !ruby/object:Gem::Dependency
|
44
30
|
name: refinerycms-core
|
45
31
|
requirement: !ruby/object:Gem::Requirement
|
46
32
|
requirements:
|
47
33
|
- - '='
|
48
34
|
- !ruby/object:Gem::Version
|
49
|
-
version: 2.0
|
35
|
+
version: 2.1.0
|
50
36
|
type: :runtime
|
51
37
|
prerelease: false
|
52
38
|
version_requirements: !ruby/object:Gem::Requirement
|
53
39
|
requirements:
|
54
40
|
- - '='
|
55
41
|
- !ruby/object:Gem::Version
|
56
|
-
version: 2.0
|
42
|
+
version: 2.1.0
|
57
43
|
description: Handles all image upload and processing functionality in Refinery CMS.
|
58
44
|
email: info@refinerycms.com
|
59
45
|
executables: []
|
@@ -84,6 +70,7 @@ files:
|
|
84
70
|
- config/locales/es.yml
|
85
71
|
- config/locales/fi.yml
|
86
72
|
- config/locales/fr.yml
|
73
|
+
- config/locales/hu.yml
|
87
74
|
- config/locales/it.yml
|
88
75
|
- config/locales/ja.yml
|
89
76
|
- config/locales/ko.yml
|
@@ -93,16 +80,20 @@ files:
|
|
93
80
|
- config/locales/nl.yml
|
94
81
|
- config/locales/pl.yml
|
95
82
|
- config/locales/pt-BR.yml
|
83
|
+
- config/locales/pt.yml
|
96
84
|
- config/locales/rs.yml
|
97
85
|
- config/locales/ru.yml
|
98
86
|
- config/locales/sk.yml
|
99
87
|
- config/locales/sl.yml
|
100
88
|
- config/locales/sv.yml
|
89
|
+
- config/locales/tr.yml
|
90
|
+
- config/locales/uk.yml
|
101
91
|
- config/locales/vi.yml
|
102
92
|
- config/locales/zh-CN.yml
|
103
93
|
- config/locales/zh-TW.yml
|
104
94
|
- config/routes.rb
|
105
95
|
- db/migrate/20100913234707_create_refinerycms_images_schema.rb
|
96
|
+
- db/migrate/20120625093918_remove_image_ext_from_refinery_images.rb
|
106
97
|
- lib/generators/refinery/images/images_generator.rb
|
107
98
|
- lib/generators/refinery/images/templates/config/initializers/refinery/images.rb.erb
|
108
99
|
- lib/refinery/images.rb
|
@@ -111,16 +102,19 @@ files:
|
|
111
102
|
- lib/refinery/images/engine.rb
|
112
103
|
- lib/refinery/images/validators.rb
|
113
104
|
- lib/refinery/images/validators/image_size_validator.rb
|
105
|
+
- lib/refinery/images/validators/image_update_validator.rb
|
114
106
|
- lib/refinerycms-images.rb
|
115
107
|
- license.md
|
116
108
|
- refinerycms-images.gemspec
|
117
109
|
- spec/factories/image.rb
|
110
|
+
- spec/features/refinery/admin/images_spec.rb
|
111
|
+
- spec/fixtures/beach-alternate.jpeg
|
118
112
|
- spec/fixtures/beach.jpeg
|
113
|
+
- spec/fixtures/cape-town-tide-table.pdf
|
119
114
|
- spec/fixtures/fathead.png
|
120
115
|
- spec/fixtures/image-with-dashes.jpg
|
121
116
|
- spec/lib/generators/refinery/images/images_generator_spec.rb
|
122
117
|
- spec/models/refinery/image_spec.rb
|
123
|
-
- spec/requests/refinery/admin/images_spec.rb
|
124
118
|
homepage: http://refinerycms.com
|
125
119
|
licenses:
|
126
120
|
- MIT
|
@@ -147,9 +141,11 @@ specification_version: 4
|
|
147
141
|
summary: Images extension for Refinery CMS
|
148
142
|
test_files:
|
149
143
|
- spec/factories/image.rb
|
144
|
+
- spec/features/refinery/admin/images_spec.rb
|
145
|
+
- spec/fixtures/beach-alternate.jpeg
|
150
146
|
- spec/fixtures/beach.jpeg
|
147
|
+
- spec/fixtures/cape-town-tide-table.pdf
|
151
148
|
- spec/fixtures/fathead.png
|
152
149
|
- spec/fixtures/image-with-dashes.jpg
|
153
150
|
- spec/lib/generators/refinery/images/images_generator_spec.rb
|
154
151
|
- spec/models/refinery/image_spec.rb
|
155
|
-
- spec/requests/refinery/admin/images_spec.rb
|