revertible_paper_trail 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/Gemfile +18 -0
  2. data/Gemfile.lock +124 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.rdoc +29 -0
  5. data/Rakefile +46 -0
  6. data/VERSION +1 -0
  7. data/lib/revertible_paper_trail/railtie.rb +11 -0
  8. data/lib/revertible_paper_trail/version.rb +24 -0
  9. data/lib/revertible_paper_trail.rb +3 -0
  10. data/revertible_paper_trail.gemspec +120 -0
  11. data/spec/dummy/Rakefile +7 -0
  12. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  13. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  14. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  15. data/spec/dummy/config/application.rb +45 -0
  16. data/spec/dummy/config/boot.rb +10 -0
  17. data/spec/dummy/config/database.yml +22 -0
  18. data/spec/dummy/config/environment.rb +5 -0
  19. data/spec/dummy/config/environments/development.rb +26 -0
  20. data/spec/dummy/config/environments/production.rb +49 -0
  21. data/spec/dummy/config/environments/test.rb +35 -0
  22. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  23. data/spec/dummy/config/initializers/inflections.rb +10 -0
  24. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  25. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  26. data/spec/dummy/config/initializers/session_store.rb +8 -0
  27. data/spec/dummy/config/locales/en.yml +5 -0
  28. data/spec/dummy/config/routes.rb +58 -0
  29. data/spec/dummy/config.ru +4 -0
  30. data/spec/dummy/public/404.html +26 -0
  31. data/spec/dummy/public/422.html +26 -0
  32. data/spec/dummy/public/500.html +26 -0
  33. data/spec/dummy/public/favicon.ico +0 -0
  34. data/spec/dummy/public/javascripts/application.js +2 -0
  35. data/spec/dummy/public/javascripts/controls.js +965 -0
  36. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  37. data/spec/dummy/public/javascripts/effects.js +1123 -0
  38. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  39. data/spec/dummy/public/javascripts/rails.js +191 -0
  40. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  41. data/spec/dummy/script/rails +6 -0
  42. data/spec/integration/navigation_spec.rb +9 -0
  43. data/spec/revertible_paper_trail_spec.rb +7 -0
  44. data/spec/spec_helper.rb +33 -0
  45. metadata +213 -0
data/Gemfile ADDED
@@ -0,0 +1,18 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "rails", "3.0.5"
4
+ gem "capybara", ">= 0.4.0"
5
+ gem "sqlite3"
6
+
7
+ gem "rspec-rails", ">= 2.0.0.beta"
8
+
9
+ group :development do
10
+ gem "jeweler", "~> 1.5.2"
11
+ end
12
+
13
+ # Revertible Paper Trail
14
+ gem 'paper_trail'
15
+
16
+ # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
17
+ # gem 'ruby-debug'
18
+ # gem 'ruby-debug19'
data/Gemfile.lock ADDED
@@ -0,0 +1,124 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.5)
6
+ actionpack (= 3.0.5)
7
+ mail (~> 2.2.15)
8
+ actionpack (3.0.5)
9
+ activemodel (= 3.0.5)
10
+ activesupport (= 3.0.5)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.4)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.13)
16
+ rack-test (~> 0.5.7)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.5)
19
+ activesupport (= 3.0.5)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.4)
22
+ activerecord (3.0.5)
23
+ activemodel (= 3.0.5)
24
+ activesupport (= 3.0.5)
25
+ arel (~> 2.0.2)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.5)
28
+ activemodel (= 3.0.5)
29
+ activesupport (= 3.0.5)
30
+ activesupport (3.0.5)
31
+ arel (2.0.9)
32
+ builder (2.1.2)
33
+ capybara (0.4.0)
34
+ celerity (>= 0.7.9)
35
+ culerity (>= 0.2.4)
36
+ mime-types (>= 1.16)
37
+ nokogiri (>= 1.3.3)
38
+ rack (>= 1.0.0)
39
+ rack-test (>= 0.5.4)
40
+ selenium-webdriver (>= 0.0.27)
41
+ xpath (~> 0.1.2)
42
+ celerity (0.8.6)
43
+ childprocess (0.1.6)
44
+ ffi (~> 0.6.3)
45
+ culerity (0.2.14)
46
+ diff-lcs (1.1.2)
47
+ erubis (2.6.6)
48
+ abstract (>= 1.0.0)
49
+ ffi (0.6.3)
50
+ rake (>= 0.8.7)
51
+ git (1.2.5)
52
+ i18n (0.5.0)
53
+ jeweler (1.5.2)
54
+ bundler (~> 1.0.0)
55
+ git (>= 1.2.5)
56
+ rake
57
+ json_pure (1.4.6)
58
+ mail (2.2.15)
59
+ activesupport (>= 2.3.6)
60
+ i18n (>= 0.4.0)
61
+ mime-types (~> 1.16)
62
+ treetop (~> 1.4.8)
63
+ mime-types (1.16)
64
+ nokogiri (1.4.4)
65
+ paper_trail (1.6.4)
66
+ actionpack (>= 2.3)
67
+ activerecord (>= 2.3)
68
+ polyglot (0.3.1)
69
+ rack (1.2.1)
70
+ rack-mount (0.6.13)
71
+ rack (>= 1.0.0)
72
+ rack-test (0.5.7)
73
+ rack (>= 1.0)
74
+ rails (3.0.5)
75
+ actionmailer (= 3.0.5)
76
+ actionpack (= 3.0.5)
77
+ activerecord (= 3.0.5)
78
+ activeresource (= 3.0.5)
79
+ activesupport (= 3.0.5)
80
+ bundler (~> 1.0)
81
+ railties (= 3.0.5)
82
+ railties (3.0.5)
83
+ actionpack (= 3.0.5)
84
+ activesupport (= 3.0.5)
85
+ rake (>= 0.8.7)
86
+ thor (~> 0.14.4)
87
+ rake (0.8.7)
88
+ rspec (2.5.0)
89
+ rspec-core (~> 2.5.0)
90
+ rspec-expectations (~> 2.5.0)
91
+ rspec-mocks (~> 2.5.0)
92
+ rspec-core (2.5.1)
93
+ rspec-expectations (2.5.0)
94
+ diff-lcs (~> 1.1.2)
95
+ rspec-mocks (2.5.0)
96
+ rspec-rails (2.5.0)
97
+ actionpack (~> 3.0)
98
+ activesupport (~> 3.0)
99
+ railties (~> 3.0)
100
+ rspec (~> 2.5.0)
101
+ rubyzip (0.9.4)
102
+ selenium-webdriver (0.1.2)
103
+ childprocess (~> 0.1.5)
104
+ ffi (~> 0.6.3)
105
+ json_pure
106
+ rubyzip
107
+ sqlite3 (1.3.3)
108
+ thor (0.14.6)
109
+ treetop (1.4.9)
110
+ polyglot (>= 0.3.1)
111
+ tzinfo (0.3.24)
112
+ xpath (0.1.2)
113
+ nokogiri (~> 1.3)
114
+
115
+ PLATFORMS
116
+ ruby
117
+
118
+ DEPENDENCIES
119
+ capybara (>= 0.4.0)
120
+ jeweler (~> 1.5.2)
121
+ paper_trail
122
+ rails (= 3.0.5)
123
+ rspec-rails (>= 2.0.0.beta)
124
+ sqlite3
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2011 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,29 @@
1
+ = RevertiblePaperTrail
2
+
3
+ This project adds undo/redo functionality to PaperTrail.
4
+
5
+ = Install
6
+
7
+ In Rails 3, simply add
8
+
9
+ gem 'revertible_paper_trail'
10
+
11
+ to your Gemfile.
12
+
13
+ == Contributing to revertible_paper_trail
14
+
15
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
16
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
17
+ * Fork the project
18
+ * Start a feature/bugfix branch
19
+ * Commit and push until you are happy with your contribution
20
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
21
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
22
+
23
+ = Copyright
24
+
25
+ Copyright (c) 2011 CyT GmbH <info@cyt.ch>
26
+ Copyright (c) 2011 Simon Hürlimann <simon.huerlimann@cyt.ch>
27
+ Copyright (c) 2011 Roman Simecek <roman.simecek@cyt.ch>
28
+
29
+ Released under the MIT license. See MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,46 @@
1
+ # encoding: UTF-8
2
+ require 'rubygems'
3
+ require 'bundler'
4
+ begin
5
+ Bundler.setup(:default, :development)
6
+ rescue Bundler::BundlerError => e
7
+ $stderr.puts e.message
8
+ $stderr.puts "Run `bundle install` to install missing gems"
9
+ exit e.status_code
10
+ end
11
+ require 'rake'
12
+
13
+ require 'jeweler'
14
+ Jeweler::Tasks.new do |gem|
15
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
+ gem.name = "revertible_paper_trail"
17
+ gem.homepage = "http://github.com/CyTeam/revertible_paper_trail"
18
+ gem.license = "MIT"
19
+ gem.summary = %Q{Undo/Redo functionality for Paper Trail}
20
+ gem.description = %Q{This project adds undo/redo functionality to PaperTrail}
21
+ gem.email = "simon.huerlimann@cyt.ch"
22
+ gem.authors = ["Simon Hürlimann"]
23
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
24
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
25
+ gem.add_runtime_dependency 'paper_trail'
26
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
27
+ end
28
+ Jeweler::RubygemsDotOrgTasks.new
29
+
30
+ require 'rspec/core'
31
+ require 'rspec/core/rake_task'
32
+ RSpec::Core::RakeTask.new(:spec) do |spec|
33
+ spec.pattern = FileList['spec/**/*_spec.rb']
34
+ end
35
+
36
+ task :default => :spec
37
+
38
+ require 'rake/rdoctask'
39
+ Rake::RDocTask.new do |rdoc|
40
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
+
42
+ rdoc.rdoc_dir = 'rdoc'
43
+ rdoc.title = "revertible_paper_trail #{version}"
44
+ rdoc.rdoc_files.include('README*')
45
+ rdoc.rdoc_files.include('lib/**/*.rb')
46
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,11 @@
1
+ require 'revertible_paper_trail'
2
+ require 'rails'
3
+ require 'paper_trail/version'
4
+
5
+ module RevertiblePaperTrail
6
+ class Railtie < Rails::Engine
7
+ initializer :after_initialize do
8
+ ::Version.send :include, RevertiblePaperTrail::Version
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,24 @@
1
+ module RevertiblePaperTrail
2
+ module Version
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ end
7
+
8
+ module InstanceMethods
9
+ def revert
10
+ case event
11
+ when "create"
12
+ item.destroy
13
+ when "update"
14
+ previous.reify.save
15
+ when "destroy"
16
+ reify.save
17
+ end
18
+ end
19
+ end
20
+
21
+ module ClassMethods
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,3 @@
1
+ require 'revertible_paper_trail/version'
2
+
3
+ require 'revertible_paper_trail/railtie' if defined?(::Rails::Railtie)
@@ -0,0 +1,120 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{revertible_paper_trail}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Simon H\303\274rlimann"]
12
+ s.date = %q{2011-03-14}
13
+ s.description = %q{This project adds undo/redo functionality to PaperTrail}
14
+ s.email = %q{simon.huerlimann@cyt.ch}
15
+ s.extra_rdoc_files = [
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "MIT-LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "lib/revertible_paper_trail.rb",
26
+ "lib/revertible_paper_trail/railtie.rb",
27
+ "lib/revertible_paper_trail/version.rb",
28
+ "revertible_paper_trail.gemspec",
29
+ "spec/dummy/Rakefile",
30
+ "spec/dummy/app/controllers/application_controller.rb",
31
+ "spec/dummy/app/helpers/application_helper.rb",
32
+ "spec/dummy/app/views/layouts/application.html.erb",
33
+ "spec/dummy/config.ru",
34
+ "spec/dummy/config/application.rb",
35
+ "spec/dummy/config/boot.rb",
36
+ "spec/dummy/config/database.yml",
37
+ "spec/dummy/config/environment.rb",
38
+ "spec/dummy/config/environments/development.rb",
39
+ "spec/dummy/config/environments/production.rb",
40
+ "spec/dummy/config/environments/test.rb",
41
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
42
+ "spec/dummy/config/initializers/inflections.rb",
43
+ "spec/dummy/config/initializers/mime_types.rb",
44
+ "spec/dummy/config/initializers/secret_token.rb",
45
+ "spec/dummy/config/initializers/session_store.rb",
46
+ "spec/dummy/config/locales/en.yml",
47
+ "spec/dummy/config/routes.rb",
48
+ "spec/dummy/public/404.html",
49
+ "spec/dummy/public/422.html",
50
+ "spec/dummy/public/500.html",
51
+ "spec/dummy/public/favicon.ico",
52
+ "spec/dummy/public/javascripts/application.js",
53
+ "spec/dummy/public/javascripts/controls.js",
54
+ "spec/dummy/public/javascripts/dragdrop.js",
55
+ "spec/dummy/public/javascripts/effects.js",
56
+ "spec/dummy/public/javascripts/prototype.js",
57
+ "spec/dummy/public/javascripts/rails.js",
58
+ "spec/dummy/public/stylesheets/.gitkeep",
59
+ "spec/dummy/script/rails",
60
+ "spec/integration/navigation_spec.rb",
61
+ "spec/revertible_paper_trail_spec.rb",
62
+ "spec/spec_helper.rb"
63
+ ]
64
+ s.homepage = %q{http://github.com/CyTeam/revertible_paper_trail}
65
+ s.licenses = ["MIT"]
66
+ s.require_paths = ["lib"]
67
+ s.rubygems_version = %q{1.3.6}
68
+ s.summary = %q{Undo/Redo functionality for Paper Trail}
69
+ s.test_files = [
70
+ "spec/dummy/app/controllers/application_controller.rb",
71
+ "spec/dummy/app/helpers/application_helper.rb",
72
+ "spec/dummy/config/application.rb",
73
+ "spec/dummy/config/boot.rb",
74
+ "spec/dummy/config/environment.rb",
75
+ "spec/dummy/config/environments/development.rb",
76
+ "spec/dummy/config/environments/production.rb",
77
+ "spec/dummy/config/environments/test.rb",
78
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
79
+ "spec/dummy/config/initializers/inflections.rb",
80
+ "spec/dummy/config/initializers/mime_types.rb",
81
+ "spec/dummy/config/initializers/secret_token.rb",
82
+ "spec/dummy/config/initializers/session_store.rb",
83
+ "spec/dummy/config/routes.rb",
84
+ "spec/integration/navigation_spec.rb",
85
+ "spec/revertible_paper_trail_spec.rb",
86
+ "spec/spec_helper.rb"
87
+ ]
88
+
89
+ if s.respond_to? :specification_version then
90
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
91
+ s.specification_version = 3
92
+
93
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
94
+ s.add_runtime_dependency(%q<rails>, ["= 3.0.5"])
95
+ s.add_runtime_dependency(%q<capybara>, [">= 0.4.0"])
96
+ s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
97
+ s.add_runtime_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
98
+ s.add_runtime_dependency(%q<paper_trail>, [">= 0"])
99
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
100
+ s.add_runtime_dependency(%q<paper_trail>, [">= 0"])
101
+ else
102
+ s.add_dependency(%q<rails>, ["= 3.0.5"])
103
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
104
+ s.add_dependency(%q<sqlite3>, [">= 0"])
105
+ s.add_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
106
+ s.add_dependency(%q<paper_trail>, [">= 0"])
107
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
108
+ s.add_dependency(%q<paper_trail>, [">= 0"])
109
+ end
110
+ else
111
+ s.add_dependency(%q<rails>, ["= 3.0.5"])
112
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
113
+ s.add_dependency(%q<sqlite3>, [">= 0"])
114
+ s.add_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
115
+ s.add_dependency(%q<paper_trail>, [">= 0"])
116
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
117
+ s.add_dependency(%q<paper_trail>, [">= 0"])
118
+ end
119
+ end
120
+
@@ -0,0 +1,7 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+ require 'rake'
6
+
7
+ Dummy::Application.load_tasks
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag :all %>
6
+ <%= javascript_include_tag :defaults %>
7
+ <%= csrf_meta_tag %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>