refinerycms-images 1.0.11 → 2.0.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.
Files changed (82) hide show
  1. data/app/controllers/refinery/admin/images_controller.rb +110 -0
  2. data/app/helpers/refinery/admin/images_helper.rb +24 -0
  3. data/app/models/refinery/image.rb +96 -0
  4. data/app/views/refinery/admin/images/_actions.html.erb +15 -0
  5. data/app/views/{admin → refinery/admin}/images/_existing_image.html.erb +13 -26
  6. data/app/views/{admin → refinery/admin}/images/_form.html.erb +11 -15
  7. data/app/views/{admin → refinery/admin}/images/_grid_view.html.erb +7 -5
  8. data/app/views/refinery/admin/images/_images.html.erb +2 -0
  9. data/app/views/{admin → refinery/admin}/images/_list_view.html.erb +0 -0
  10. data/app/views/{admin → refinery/admin}/images/_list_view_image.html.erb +7 -5
  11. data/app/views/refinery/admin/images/_records.html.erb +18 -0
  12. data/app/views/refinery/admin/images/edit.html.erb +1 -0
  13. data/app/views/refinery/admin/images/index.html.erb +6 -0
  14. data/app/views/{admin → refinery/admin}/images/insert.html.erb +10 -13
  15. data/app/views/refinery/admin/images/new.html.erb +1 -0
  16. data/config/locales/bg.yml +37 -36
  17. data/config/locales/cs.yml +37 -36
  18. data/config/locales/da.yml +37 -36
  19. data/config/locales/de.yml +37 -36
  20. data/config/locales/el.yml +37 -36
  21. data/config/locales/en.yml +37 -36
  22. data/config/locales/es.yml +38 -37
  23. data/config/locales/fi.yml +37 -36
  24. data/config/locales/fr.yml +37 -36
  25. data/config/locales/it.yml +47 -45
  26. data/config/locales/ja.yml +44 -0
  27. data/config/locales/ko.yml +44 -0
  28. data/config/locales/lt.yml +37 -36
  29. data/config/locales/lv.yml +37 -36
  30. data/config/locales/nb.yml +37 -37
  31. data/config/locales/nl.yml +36 -35
  32. data/config/locales/pl.yml +38 -37
  33. data/config/locales/pt-BR.yml +38 -37
  34. data/config/locales/rs.yml +37 -37
  35. data/config/locales/ru.yml +37 -36
  36. data/config/locales/sk.yml +37 -36
  37. data/config/locales/sl.yml +36 -35
  38. data/config/locales/sv.yml +37 -36
  39. data/config/locales/vi.yml +37 -36
  40. data/config/locales/zh-CN.yml +37 -36
  41. data/config/locales/zh-TW.yml +37 -36
  42. data/config/routes.rb +4 -7
  43. data/db/migrate/20100913234707_create_refinerycms_images_schema.rb +10 -18
  44. data/lib/generators/refinery/images/images_generator.rb +10 -0
  45. data/lib/generators/refinery/images/templates/config/initializers/refinery/images.rb.erb +41 -0
  46. data/lib/refinery/images.rb +25 -0
  47. data/lib/refinery/images/configuration.rb +54 -0
  48. data/lib/refinery/images/dragonfly.rb +54 -0
  49. data/lib/refinery/images/engine.rb +38 -0
  50. data/lib/refinery/images/validators.rb +7 -0
  51. data/lib/refinery/images/validators/image_size_validator.rb +19 -0
  52. data/lib/refinerycms-images.rb +1 -76
  53. data/refinerycms-images.gemspec +14 -91
  54. data/spec/factories/image.rb +5 -0
  55. data/{features/uploads → spec/fixtures}/beach.jpeg +0 -0
  56. data/spec/fixtures/fathead.png +0 -0
  57. data/spec/fixtures/image-with-dashes.jpg +0 -0
  58. data/spec/lib/generators/refinery/images/images_generator_spec.rb +29 -0
  59. data/spec/models/refinery/image_spec.rb +158 -0
  60. data/spec/requests/refinery/admin/images_spec.rb +103 -0
  61. metadata +116 -106
  62. data/app/controllers/admin/images_controller.rb +0 -106
  63. data/app/helpers/admin/images_helper.rb +0 -27
  64. data/app/models/image.rb +0 -116
  65. data/app/views/admin/images/_actions.html.erb +0 -16
  66. data/app/views/admin/images/_images.html.erb +0 -2
  67. data/app/views/admin/images/_records.html.erb +0 -18
  68. data/app/views/admin/images/edit.html.erb +0 -1
  69. data/app/views/admin/images/index.html.erb +0 -6
  70. data/app/views/admin/images/new.html.erb +0 -1
  71. data/config/locales/jp.yml +0 -43
  72. data/config/locales/lolcat.yml +0 -43
  73. data/features/manage_images.feature +0 -49
  74. data/features/step_definitions/image_steps.rb +0 -40
  75. data/features/support/factories.rb +0 -7
  76. data/features/support/paths.rb +0 -17
  77. data/features/uploads/id-rather-be-here.jpg +0 -0
  78. data/features/uploads/refinery_is_awesome.txt +0 -1
  79. data/lib/gemspec.rb +0 -38
  80. data/lib/generators/refinerycms_images_generator.rb +0 -8
  81. data/spec/models/image_spec.rb +0 -115
  82. data/spec/uploads/beach.jpeg +0 -0
@@ -1,40 +0,0 @@
1
- Given /^I have no images$/ do
2
- Image.destroy_all
3
- end
4
-
5
- When /^I attach the image at "([^\"]*)"$/ do |file_path|
6
- attach_file('image_image', File.join(File.expand_path('../../uploads/', __FILE__), file_path))
7
- end
8
-
9
- Then /^the image "([^\"]*)" should have uploaded successfully$/ do |file_name|
10
- Image.find_by_image_name(file_name).nil?.should == false
11
- end
12
-
13
- Then /^the image should have size "([^\"]*)"$/ do |size|
14
- Image.first.size.should == size.to_i
15
- end
16
-
17
- Then /^the image should have width "([^\"]*)"$/ do |width|
18
- Image.first.width.should == width.to_i
19
- end
20
-
21
- Then /^the image should have height "([^\"]*)"$/ do |height|
22
- Image.first.height.should == height.to_i
23
- end
24
-
25
- Then /^the image should have mime_type "([^\"]*)"$/ do |mime_type|
26
- Image.first.mime_type.should == mime_type.to_s
27
- end
28
-
29
- Then /^I should have ([0-9]+) images?$/ do |number|
30
- Image.count.should == number.to_i
31
- end
32
-
33
- When /^I upload the image at "([^\"]*)"$/ do |file_path|
34
- original_stderr = $stderr.dup
35
- $stderr.reopen(Tempfile.new('stderr'))
36
- visit new_admin_image_path
37
- attach_file('image_image', File.join(File.expand_path('../../uploads/', __FILE__), file_path))
38
- click_button 'Save'
39
- $stderr.reopen(original_stderr)
40
- end
@@ -1,7 +0,0 @@
1
- require 'factory_girl'
2
-
3
- FactoryGirl.define do
4
- factory :image do |i|
5
- i.image File.new(File.expand_path('../../uploads/beach.jpeg', __FILE__))
6
- end
7
- end
@@ -1,17 +0,0 @@
1
- module NavigationHelpers
2
- module Refinery
3
- module Images
4
- def path_to(page_name)
5
- case page_name
6
- when /the list of images/
7
- admin_images_path
8
-
9
- when /the new image form/
10
- new_admin_image_path
11
- else
12
- nil
13
- end
14
- end
15
- end
16
- end
17
- end
Binary file
@@ -1 +0,0 @@
1
- http://www.refineryhq.com/
data/lib/gemspec.rb DELETED
@@ -1,38 +0,0 @@
1
- # Encoding: UTF-8
2
- require 'pathname'
3
- gempath = Pathname.new(File.expand_path('../../', __FILE__))
4
- require gempath.join('..', 'base', 'lib', 'base', 'refinery')
5
-
6
- gemspec = <<EOF
7
- # Encoding: UTF-8
8
- # DO NOT EDIT THIS FILE DIRECTLY! Instead, use lib/gemspec.rb to generate it.
9
-
10
- Gem::Specification.new do |s|
11
- s.name = %q{#{gemname = 'refinerycms-images'}}
12
- s.version = %q{#{::Refinery.version}}
13
- s.summary = %q{Images engine for Refinery CMS}
14
- s.description = %q{Handles all image upload and processing functionality in Refinery CMS.}
15
- s.date = %q{#{Time.now.strftime('%Y-%m-%d')}}
16
- s.email = %q{info@refinerycms.com}
17
- s.homepage = %q{http://refinerycms.com}
18
- s.rubyforge_project = %q{refinerycms}
19
- s.authors = ['Resolve Digital', 'Philip Arndt', 'David Jones', 'Steven Heidel', 'Uģis Ozols']
20
- s.license = %q{MIT}
21
- s.require_paths = %w(lib)
22
- s.executables = %w(#{Pathname.glob(gempath.join('bin/*')).map{|d| d.relative_path_from(gempath)}.sort.join(" ")})
23
-
24
- s.files = [
25
- '#{%w( **/{*,.rspec,.gitignore,.yardopts} ).map { |file| Pathname.glob(gempath.join(file)) }.flatten.reject{|f|
26
- !f.exist? or f.to_s =~ /(\.(gem|rbc)|tmp(\/.*)?|spec\/lib\/tmp(\/.*)?)$/ or (f.directory? and f.children.empty?)
27
- }.map{|d| d.relative_path_from(gempath)}.uniq.sort.join("',\n '")}'
28
- ]
29
-
30
- s.add_dependency 'refinerycms-core', '= #{::Refinery::Version}'
31
- s.add_dependency 'activerecord', '~> 3.0.10'
32
- s.add_dependency 'dragonfly', '~> 0.9.0'
33
- s.add_dependency 'rack-cache', '>= 0.5.3'
34
- end
35
- EOF
36
-
37
- (gemfile = gempath.join("#{gemname}.gemspec")).open('w') {|f| f.puts(gemspec)}
38
- puts `cd #{gempath} && gem build #{gemfile}` if ARGV.any?{|a| a == "BUILD=true"}
@@ -1,8 +0,0 @@
1
- require 'refinery/generators'
2
-
3
- class RefinerycmsImages < ::Refinery::Generators::EngineInstaller
4
-
5
- source_root File.expand_path('../../../', __FILE__)
6
- engine_name "images"
7
-
8
- end
@@ -1,115 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Image do
4
- let(:image) do
5
- Image.create!(:id => 1,
6
- :image => File.new(File.expand_path('../../uploads/beach.jpeg', __FILE__)))
7
- end
8
-
9
- context "with valid attributes" do
10
- it "should create successfully" do
11
- image.errors.should be_empty
12
- end
13
- end
14
-
15
- context "image url" do
16
- it "should respond to .thumbnail" do
17
- image.should respond_to(:thumbnail)
18
- end
19
-
20
- it "should contain its filename at the end" do
21
- image.thumbnail(nil).url.split('/').last.should == image.image_name
22
- end
23
-
24
- it "should be different when supplying geometry" do
25
- image.thumbnail(nil).url.should_not == image.thumbnail('200x200').url
26
- end
27
-
28
- it "should have different urls for each geometry string" do
29
- image.thumbnail('200x200').url.should_not == image.thumbnail('200x201').url
30
- end
31
-
32
- it "should use right geometry when given a thumbnail name" do
33
- name, geometry = Image.user_image_sizes.first
34
- image.thumbnail(name).url.should == image.thumbnail(geometry).url
35
- end
36
- end
37
-
38
- describe "#title" do
39
- it "returns a titleized version of the filename" do
40
- image.title.should == "Beach"
41
- end
42
- end
43
-
44
- describe ".per_page" do
45
- context "dialog is true" do
46
- context "has_size_options is true" do
47
- it "returns image count specified by PAGES_PER_DIALOG_THAT_HAS_SIZE_OPTIONS constant" do
48
- Image.per_page(true, true).should == Image::PAGES_PER_DIALOG_THAT_HAS_SIZE_OPTIONS
49
- end
50
- end
51
-
52
- context "has_size_options is false" do
53
- it "returns image count specified by PAGES_PER_DIALOG constant" do
54
- Image.per_page(true).should == Image::PAGES_PER_DIALOG
55
- end
56
- end
57
- end
58
-
59
- context "dialog is false" do
60
- it "returns image count specified by PAGES_PER_ADMIN_INDEX constant" do
61
- Image.per_page.should == Image::PAGES_PER_ADMIN_INDEX
62
- end
63
- end
64
- end
65
-
66
- describe ".user_image_sizes" do
67
- it "sets and returns a hash consisting of the keys contained in the RefinerySetting" do
68
- Image.user_image_sizes.should == RefinerySetting.get(:user_image_sizes)
69
- end
70
- end
71
-
72
- # The sample image has dimensions 500x375
73
- describe '#thumbnail_dimensions returns correctly with' do
74
- it 'nil' do
75
- image.thumbnail_dimensions(nil).should == { :width => 500, :height => 375 }
76
- end
77
-
78
- it '200x200#ne' do
79
- image.thumbnail_dimensions('200x200#ne').should == { :width => 200, :height => 200 }
80
- end
81
-
82
- it '100x150#c' do
83
- image.thumbnail_dimensions('100x150#c').should == { :width => 100, :height => 150 }
84
- end
85
-
86
- it '250x250>' do
87
- image.thumbnail_dimensions('250x250>').should == { :width => 250, :height => 188 }
88
- end
89
-
90
- it '600x375>' do
91
- image.thumbnail_dimensions('600x375>').should == { :width => 500, :height => 375 }
92
- end
93
-
94
- it '100x475>' do
95
- image.thumbnail_dimensions('100x475>').should == { :width => 100, :height => 75 }
96
- end
97
-
98
- it '100x150' do
99
- image.thumbnail_dimensions('100x150').should == { :width => 100, :height => 75 }
100
- end
101
-
102
- it '200x150' do
103
- image.thumbnail_dimensions('200x150').should == { :width => 200, :height => 150 }
104
- end
105
-
106
- it '300x150' do
107
- image.thumbnail_dimensions('300x150').should == { :width => 200, :height => 150 }
108
- end
109
-
110
- it '5x5' do
111
- image.thumbnail_dimensions('5x5').should == { :width => 5, :height => 4 }
112
- end
113
- end
114
-
115
- end
Binary file