qtousart-sortable_pictures 1.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.
data/LICENSE ADDED
@@ -0,0 +1,2 @@
1
+ RailsCommerce comes with two licenses: the LGPL (see COPYING.LESSER)
2
+ and the GPL (see COPYING) ones.
data/README ADDED
@@ -0,0 +1,42 @@
1
+ sortable_pictures
2
+
3
+ You can manage & sort pictures
4
+
5
+ == Model
6
+ class Model < ActiveRecord::Base
7
+ sortable_pictures
8
+ end
9
+
10
+ == Controller
11
+ def create
12
+ @model = Model.find params[:id]
13
+ picture = Picture.new params[:picture]
14
+ if picture.save
15
+ sortable_pictures = picture.sortable_pictures.new
16
+ sortable_picture.picturable = @model
17
+ sortable_picture.save
18
+ end
19
+ end
20
+
21
+ == View
22
+ <% @model.pictures.each do |picture| %>
23
+ <%= image_tag(picture.public_filename :thumb) %>
24
+ <% end %>
25
+
26
+ == initializers
27
+ in RAILS_ROOT + config/initializers/sortable_pictures.rb
28
+
29
+ module SortablePictures
30
+ def self.options
31
+ { :storage => :file_system,
32
+ :file_system_path => 'public/images/sortable_pictures',
33
+ :content_type => 'image',
34
+ :thumbnails => {
35
+ :big => '500x500',
36
+ :normal => '200x200',
37
+ :small => '100x100',
38
+ :thumb => '50x50'
39
+ }
40
+ }
41
+ end
42
+ end
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require 'sortable_pictures'
@@ -0,0 +1,9 @@
1
+ class Picture < ActiveRecord::Base
2
+
3
+ acts_as_commentable
4
+ acts_as_taggable
5
+ has_attachment(SortablePictures::options)
6
+ validates_presence_of :content_type
7
+
8
+ has_many :sortable_pictures, :dependent => :destroy
9
+ end
@@ -0,0 +1,4 @@
1
+ class SortablePicture < ActiveRecord::Base
2
+ belongs_to :picture
3
+ belongs_to :picturable, :polymorphic => true
4
+ end
@@ -0,0 +1,19 @@
1
+ #SortablePictures
2
+ module Webpulser
3
+ module SortablePictures #:nodoc:
4
+
5
+ def self.included(base)
6
+ base.extend ClassMethods
7
+ end
8
+
9
+ module ClassMethods
10
+ def sortable_pictures
11
+ has_many :sortable_pictures, :dependent => :destroy, :order => 'position', :as => :picturable
12
+ has_many :pictures, :through => :sortable_pictures, :readonly => true, :order => 'sortable_pictures.position'
13
+ end
14
+ end
15
+
16
+ end
17
+ end
18
+
19
+ ActiveRecord::Base.send(:include, Webpulser::SortablePictures)
@@ -0,0 +1,15 @@
1
+ namespace :sortable_pictures do
2
+ desc 'update pictures from modified or added thumbnails formats'
3
+ task :update_thumbnails => :environment do
4
+ Picture.find_all_by_parent_id(nil).each do |picture|
5
+ puts "Fixing #{picture.filename}"
6
+ temp_file = picture.create_temp_file
7
+
8
+ picture.attachment_options[:thumbnails].each { |suffix, size|
9
+ picture.create_or_update_thumbnail(temp_file, suffix, *size)
10
+ puts " #{suffix}"
11
+ }
12
+ sleep 2
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,45 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{sortable_pictures}
5
+ s.version = "1.0.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Cyril LEPAGNOT"]
9
+ s.date = %q{2009-05-11}
10
+ s.description = %q{With sortables pictures Rails plugin you can have pictures with tags, comments and ordering.}
11
+ s.email = %q{cyril.lepagnot@webpulser.com}
12
+ s.files = ["LICENSE",
13
+ "README",
14
+ "sortable_pictures.gemspec",
15
+ "init.rb",
16
+ "lib/sortable_pictures.rb",
17
+ "lib/picture.rb",
18
+ "lib/sortable_picture.rb",
19
+ "lib/tasks/update_thumbnails.rake"]
20
+ s.has_rdoc = true
21
+ s.homepage = "http://github.com/qtousart/sortable_pictures"
22
+ s.rdoc_options = ["--inline-source", "--charset=UTF-8"]
23
+ s.rubyforge_project = %q{sortable_pictures}
24
+ s.rubygems_version = %q{1.3.0}
25
+ s.summary = %q{Polymorphic and sortables pictures Rails plugin.}
26
+
27
+ if s.respond_to? :specification_version then
28
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
29
+ s.specification_version = 2
30
+
31
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
32
+ s.add_runtime_dependency(%q<mime-types>, [">= 1.15"])
33
+ s.add_runtime_dependency(%q<mbleigh-acts-as-taggable-on>, [">= 1.0.5"])
34
+ s.add_runtime_dependency(%q<jimiray-acts_as_commentable>, [">= 1.0.0"])
35
+ else
36
+ s.add_dependency(%q<mime-types>, [">= 1.15"])
37
+ s.add_dependency(%q<mbleigh-acts-as-taggable-on>, [">= 1.0.5"])
38
+ s.add_dependency(%q<jimiray-acts_as_commentable>, [">= 1.0.0"])
39
+ end
40
+ else
41
+ s.add_dependency(%q<mime-types>, [">= 1.15"])
42
+ s.add_dependency(%q<mbleigh-acts-as-taggable-on>, [">= 1.0.5"])
43
+ s.add_dependency(%q<jimiray-acts_as_commentable>, [">= 1.0.0"])
44
+ end
45
+ end
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qtousart-sortable_pictures
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Cyril LEPAGNOT
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-11 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: mime-types
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "1.15"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: mbleigh-acts-as-taggable-on
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.5
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: jimiray-acts_as_commentable
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.0
44
+ version:
45
+ description: With sortables pictures Rails plugin you can have pictures with tags, comments and ordering.
46
+ email: cyril.lepagnot@webpulser.com
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ extra_rdoc_files: []
52
+
53
+ files:
54
+ - LICENSE
55
+ - README
56
+ - sortable_pictures.gemspec
57
+ - init.rb
58
+ - lib/sortable_pictures.rb
59
+ - lib/picture.rb
60
+ - lib/sortable_picture.rb
61
+ - lib/tasks/update_thumbnails.rake
62
+ has_rdoc: true
63
+ homepage: http://github.com/qtousart/sortable_pictures
64
+ post_install_message:
65
+ rdoc_options:
66
+ - --inline-source
67
+ - --charset=UTF-8
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: "0"
75
+ version:
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: "0"
81
+ version:
82
+ requirements: []
83
+
84
+ rubyforge_project: sortable_pictures
85
+ rubygems_version: 1.2.0
86
+ signing_key:
87
+ specification_version: 2
88
+ summary: Polymorphic and sortables pictures Rails plugin.
89
+ test_files: []
90
+