acts-as-approvable 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.gitignore +6 -0
  2. data/Appraisals +18 -0
  3. data/CHANGELOG +10 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +50 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +108 -0
  8. data/Rakefile +81 -0
  9. data/VERSION +1 -0
  10. data/acts-as-approvable.gemspec +31 -0
  11. data/gemfiles/rails2.gemfile +7 -0
  12. data/gemfiles/rails2.gemfile.lock +50 -0
  13. data/gemfiles/rails30.gemfile +8 -0
  14. data/gemfiles/rails30.gemfile.lock +90 -0
  15. data/gemfiles/rails31.gemfile +8 -0
  16. data/gemfiles/rails31.gemfile.lock +101 -0
  17. data/gemfiles/rails32.gemfile +8 -0
  18. data/gemfiles/rails32.gemfile.lock +99 -0
  19. data/generators/acts_as_approvable/USAGE +3 -0
  20. data/generators/acts_as_approvable/acts_as_approvable_generator.rb +86 -0
  21. data/generators/acts_as_approvable/templates/approvals_controller.rb +97 -0
  22. data/generators/acts_as_approvable/templates/create_approvals.rb +26 -0
  23. data/generators/acts_as_approvable/templates/initializer.rb +3 -0
  24. data/generators/acts_as_approvable/templates/views/erb/_owner_select.html.erb +4 -0
  25. data/generators/acts_as_approvable/templates/views/erb/_table.html.erb +26 -0
  26. data/generators/acts_as_approvable/templates/views/erb/index.html.erb +15 -0
  27. data/generators/acts_as_approvable/templates/views/haml/_owner_select.html.haml +3 -0
  28. data/generators/acts_as_approvable/templates/views/haml/_table.html.haml +19 -0
  29. data/generators/acts_as_approvable/templates/views/haml/index.html.haml +13 -0
  30. data/init.rb +1 -0
  31. data/lib/acts-as-approvable/version.rb +3 -0
  32. data/lib/acts_as_approvable/acts_as_approvable.rb +291 -0
  33. data/lib/acts_as_approvable/approval.rb +179 -0
  34. data/lib/acts_as_approvable/error.rb +31 -0
  35. data/lib/acts_as_approvable/ownership.rb +117 -0
  36. data/lib/acts_as_approvable/railtie.rb +7 -0
  37. data/lib/acts_as_approvable.rb +66 -0
  38. data/lib/generators/acts_as_approvable/USAGE +1 -0
  39. data/lib/generators/acts_as_approvable/acts_as_approvable_generator.rb +73 -0
  40. data/lib/generators/acts_as_approvable/templates/approvals_controller.rb +97 -0
  41. data/lib/generators/acts_as_approvable/templates/create_approvals.rb +26 -0
  42. data/lib/generators/acts_as_approvable.rb +0 -0
  43. data/lib/generators/erb/acts_as_approvable_generator.rb +44 -0
  44. data/lib/generators/erb/templates/_owner_select.html.erb +4 -0
  45. data/lib/generators/erb/templates/_table.html.erb +26 -0
  46. data/lib/generators/erb/templates/index.html.erb +15 -0
  47. data/lib/generators/haml/acts_as_approvable_generator.rb +44 -0
  48. data/lib/generators/haml/templates/_owner_select.html.haml +3 -0
  49. data/lib/generators/haml/templates/_table.html.haml +19 -0
  50. data/lib/generators/haml/templates/index.html.haml +13 -0
  51. data/lib/tasks/acts_as_approvable.rake +4 -0
  52. data/rails/init.rb +1 -0
  53. data/test/acts_as_approvable_model_test.rb +428 -0
  54. data/test/acts_as_approvable_ownership_test.rb +132 -0
  55. data/test/acts_as_approvable_schema_test.rb +13 -0
  56. data/test/acts_as_approvable_test.rb +8 -0
  57. data/test/database.yml +7 -0
  58. data/test/schema.rb +44 -0
  59. data/test/support.rb +19 -0
  60. data/test/test_helper.rb +60 -0
  61. metadata +225 -0
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ test/*.db
2
+ test/debug.log
3
+ coverage/
4
+ rdoc/
5
+ yardoc/
6
+ .yardoc
data/Appraisals ADDED
@@ -0,0 +1,18 @@
1
+ appraise 'rails2' do
2
+ gem 'activerecord', '~> 2.3'
3
+ end
4
+
5
+ appraise 'rails30' do
6
+ gem 'activerecord', '~> 3.0.0'
7
+ gem 'railties', '~> 3.0.0'
8
+ end
9
+
10
+ appraise 'rails31' do
11
+ gem 'activerecord', '~> 3.1.0'
12
+ gem 'railties', '~> 3.1.0'
13
+ end
14
+
15
+ appraise 'rails32' do
16
+ gem 'activerecord', '~> 3.2.0'
17
+ gem 'railties', '~> 3.2.0'
18
+ end
data/CHANGELOG ADDED
@@ -0,0 +1,10 @@
1
+ == 0.6.1
2
+
3
+ * Change gem name to 'acts-as-approvable'
4
+
5
+ == 0.6
6
+
7
+ * Convert to a gem
8
+ * Support for Rails 3.x
9
+ * Validate state parameter is an integer before using
10
+ * Correct spelling of `current_user` in controller templates
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ acts-as-approvable (0.6.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ activerecord (2.3.14)
10
+ activesupport (= 2.3.14)
11
+ activesupport (2.3.14)
12
+ appraisal (0.4.1)
13
+ bundler
14
+ rake
15
+ coderay (1.0.5)
16
+ metaclass (0.0.1)
17
+ method_source (0.7.0)
18
+ mocha (0.10.4)
19
+ metaclass (~> 0.0.1)
20
+ multi_json (1.0.4)
21
+ pry (0.9.8)
22
+ coderay (~> 1.0.5)
23
+ method_source (~> 0.7)
24
+ slop (>= 2.4.3, < 3)
25
+ rake (0.9.2.2)
26
+ redcarpet (2.1.0)
27
+ shoulda (2.11.3)
28
+ simplecov (0.5.4)
29
+ multi_json (~> 1.0.3)
30
+ simplecov-html (~> 0.5.3)
31
+ simplecov-html (0.5.3)
32
+ slop (2.4.3)
33
+ sqlite3 (1.3.5)
34
+ yard (0.7.5)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ activerecord (~> 2.3)
41
+ acts-as-approvable!
42
+ appraisal
43
+ mocha
44
+ pry
45
+ rake
46
+ redcarpet
47
+ shoulda
48
+ simplecov
49
+ sqlite3
50
+ yard
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 James Logsdon
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.md ADDED
@@ -0,0 +1,108 @@
1
+ Acts as Approvable
2
+ ==================
3
+
4
+ This plugin provides a workflow for approving new records and changes to existing
5
+ records.
6
+
7
+ Installation
8
+ ============
9
+
10
+ Install the plugin as you would any other Rails plugin:
11
+
12
+ $ script/plugin install git://github.com/jlogsdon/acts_as_approvable.git
13
+
14
+ After installing the plugin you should run the generator:
15
+
16
+ $ script/generate acts_as_approvable
17
+
18
+ Generator Options
19
+ =================
20
+
21
+ These options are also available by passing `--help` as an option to the generator.
22
+
23
+ --base BASE Base class for ApprovableController.
24
+ --haml Generate HAML views instead of ERB.
25
+ --owner [User] Enable and, optionally, set the model for approval ownerships.
26
+
27
+ API Documentation
28
+ =================
29
+
30
+ API Documentation is [available online](http://jlogsdon.github.com/acts_as_approvable).
31
+
32
+ Configuration
33
+ =============
34
+
35
+ The generator creates an initializor at `config/initializers/acts_as_approvable.rb`. A sample
36
+ initializer might look like this:
37
+
38
+ ActsAsApprovable.view_language = 'haml'
39
+ ActsAsApprovable::Ownership.configure
40
+
41
+ The `Ownership` functionality expects a `User` model in your project by default, but by providing
42
+ an `:owner` option you can change the expected model to whatever you wish. `.configure` also
43
+ accepts a block which it applies to the `Approval` model, allowing you to override methods as
44
+ you see fit.
45
+
46
+ For example, to only allow Users with the "admin" role to 'own' an Approval, change your initializer
47
+ to something like this:
48
+
49
+ ActsAsApprovable.view_language = 'haml'
50
+ ActsAsApprovable::Ownership.configure do
51
+ def self.available_owners
52
+ owner_class.all(:conditions => ['role', 'admin'])
53
+ end
54
+ end
55
+
56
+ Examples
57
+ ========
58
+
59
+ Require approval for new Users, but not modifications...
60
+
61
+ class User < ActiveRecord::Base
62
+ acts_as_approvable :on => :create, :state_field => :state
63
+
64
+ # Let the user know they've been approved
65
+ def after_approve(approval)
66
+ ApprovalMailer.deliver_user_approved(self.email)
67
+ end
68
+
69
+ # Let the user know they were rejected
70
+ def after_reject(approval)
71
+ ApprovalMailer.deliver_user_approved(self.email, approval.reason)
72
+ end
73
+ end
74
+
75
+ Require approval when a Game's title or description is changed, but not when view or installation count is changed...
76
+
77
+ class Game < ActiveRecord::Base
78
+ acts_as_approvable :on => :update, :ignore => [:views, :installs]
79
+ end
80
+
81
+ Require approval for all changes, except the standard ignored fields (`created_at`, `updated_at` and `:state_field`)...
82
+
83
+ class Advertisement < ActiveRecord::Base
84
+ acts_as_approvable :state_field => :state
85
+ end
86
+
87
+ Options
88
+ =======
89
+
90
+ The following options may be used to configure the workflow on a per-model
91
+ basis:
92
+
93
+ * `:on` The type of events (`:create` or `:update`) to require approval on.
94
+ * `:ignore` A list of fields to ignore for `:update` approvals.
95
+ * `:only` A list of fields that should be approved. All other fields are
96
+ ignored. If set, the `:ignore` option is... ignored.
97
+ * `:state_field` A local model field to save the `:create` approvals state. Useful
98
+ for selecting approved models without joining the approvals table.
99
+
100
+ The fields `:created_at`, `:updated_at` and whatever is set for the `:state_field`
101
+ are automatically ignored.
102
+
103
+ Contributors
104
+ ============
105
+
106
+ * [James Logsdon](http://github.com/jlogsdon) (Lead developer)
107
+ * [Hwan-Joon Choi](http://github.com/hc5duke) (Performance enhancements, bug fixes)
108
+ * [Neal Wiggins](http://github.com/nwigginsTJ) (Enumeration of states)
data/Rakefile ADDED
@@ -0,0 +1,81 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rake/testtask'
4
+ require 'yard'
5
+ require 'appraisal'
6
+
7
+ desc 'Default: run unit tests.'
8
+ task :default => :test
9
+
10
+ desc 'Start a pry session with a database connection open'
11
+ task :pry do |t|
12
+ $LOAD_PATH << './lib'
13
+ require 'pry'
14
+ require './test/test_helper'
15
+
16
+ ActiveRecord::Base.logger = Logger.new(STDOUT)
17
+ load_schema
18
+
19
+ ActsAsApprovable::Ownership.configure
20
+ Pry.start(TOPLEVEL_BINDING)
21
+ end
22
+
23
+ desc 'Copy templates from Rails 3 generators to the Rails 2 generators'
24
+ task :copy do |t|
25
+ ['erb', 'haml'].each do |lang|
26
+ Dir["lib/generators/#{lang}/templates/*"].each do |file|
27
+ FileUtils.cp(file, "generators/acts_as_approvable/templates/views/#{lang}/#{File.basename(file)}")
28
+ end
29
+ end
30
+ Dir["lib/generators/acts_as_approvable/templates/*"].each do |file|
31
+ FileUtils.cp(file, "generators/acts_as_approvable/templates/#{File.basename(file)}")
32
+ end
33
+ end
34
+
35
+ desc 'Test the acts_as_approvable plugin.'
36
+ Rake::TestTask.new(:test) do |t|
37
+ t.libs << 'test' << 'lib'
38
+ t.pattern = 'test/*_test.rb'
39
+ t.verbose = true
40
+ end
41
+
42
+ if RUBY_VERSION =~ /^1\.8/
43
+ require 'rcov/rcovtask'
44
+ Rcov::RcovTask.new do |t|
45
+ t.libs << 'test' << 'lib'
46
+ t.rcov_opts << '--exclude' << '"Library/Ruby/*"' << '--sort' << 'coverage'
47
+ t.pattern = 'test/*_test.rb'
48
+ t.output_dir = 'coverage/'
49
+ t.verbose = true
50
+ end
51
+ elsif RUBY_VERSION =~ /^1\.9/
52
+ namespace :test do
53
+ task :coverage do
54
+ ENV['COVERAGE'] = true
55
+ Rake::Task['test'].invoke
56
+ end
57
+ end
58
+ end
59
+
60
+ desc 'Generate documentation for the acts_as_approvable plugin.'
61
+ YARD::Rake::YardocTask.new do |t|
62
+ yard_dir = (ENV['YARD_DIR'] || 'yardoc')
63
+ t.files = ['lib/**/*.rb', 'README.md']
64
+ t.options = ['-r', 'README.md', '-o', yard_dir, '--markup', 'markdown']
65
+ end
66
+
67
+ desc 'Generate documentation and update the gh-pages branch'
68
+ task :site => :yard do |t|
69
+ def run_or_quit(cmd)
70
+ puts "Running #{cmd}"
71
+ `#{cmd}`
72
+ raise "Command failed!" if $? != 0
73
+ end
74
+
75
+ run_or_quit('git checkout gh-pages')
76
+ run_or_quit('rsync -rv --delete --exclude yardoc/ --exclude .git/ --exclude .gitignore yardoc/ ./')
77
+ run_or_quit('git add .')
78
+ run_or_quit('git commit -m "Updating documentation"')
79
+ run_or_quit('git push origin gh-pages')
80
+ run_or_quit('git checkout master')
81
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.6.1
@@ -0,0 +1,31 @@
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+ require "acts-as-approvable/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = %q(acts-as-approvable)
6
+ s.version = ActsAsApprovable::VERSION
7
+
8
+ s.summary = %q(Generic approval queues for record creation and updates)
9
+ s.description = %q(Generic approval queues for record creation and updates)
10
+
11
+ s.authors = ['James Logsdon', 'Hwan-Joon Choi', 'Neal Wiggins']
12
+ s.email = %q(dwarf@girsbrain.org)
13
+ s.homepage = %q(http://github.com/jlogsdon/acts_as_approvable)
14
+ s.date = %q(2012-02-14)
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- test/*`.split("\n")
18
+ s.require_paths = ['lib']
19
+
20
+ s.add_development_dependency %q<activerecord>, '~> 2.3'
21
+ s.add_development_dependency %q<appraisal>
22
+ s.add_development_dependency %q<redcarpet>
23
+ s.add_development_dependency %q<shoulda>
24
+ s.add_development_dependency %q<sqlite3>
25
+ s.add_development_dependency %q<mocha>
26
+ s.add_development_dependency %q<rake>
27
+ s.add_development_dependency %q<rcov> if RUBY_VERSION =~ /^1\.8/
28
+ s.add_development_dependency %q<simplecov> if RUBY_VERSION =~ /^1\.9/
29
+ s.add_development_dependency %q<yard>
30
+ s.add_development_dependency %q<pry>
31
+ end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "activerecord", "~> 2.3"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: /Users/jlogsdon/Code/acts_as_approvable/acts_as_approvable
3
+ specs:
4
+ acts-as-approvable (0.6.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ activerecord (2.3.14)
10
+ activesupport (= 2.3.14)
11
+ activesupport (2.3.14)
12
+ appraisal (0.4.1)
13
+ bundler
14
+ rake
15
+ coderay (1.0.5)
16
+ metaclass (0.0.1)
17
+ method_source (0.7.0)
18
+ mocha (0.10.4)
19
+ metaclass (~> 0.0.1)
20
+ multi_json (1.0.4)
21
+ pry (0.9.8)
22
+ coderay (~> 1.0.5)
23
+ method_source (~> 0.7)
24
+ slop (>= 2.4.3, < 3)
25
+ rake (0.9.2.2)
26
+ redcarpet (2.1.0)
27
+ shoulda (2.11.3)
28
+ simplecov (0.5.4)
29
+ multi_json (~> 1.0.3)
30
+ simplecov-html (~> 0.5.3)
31
+ simplecov-html (0.5.3)
32
+ slop (2.4.3)
33
+ sqlite3 (1.3.5)
34
+ yard (0.7.5)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ activerecord (~> 2.3)
41
+ acts-as-approvable!
42
+ appraisal
43
+ mocha
44
+ pry
45
+ rake
46
+ redcarpet
47
+ shoulda
48
+ simplecov
49
+ sqlite3
50
+ yard
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "activerecord", "~> 3.0.0"
6
+ gem "railties", "~> 3.0.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,90 @@
1
+ PATH
2
+ remote: /Users/jlogsdon/Code/acts_as_approvable/acts_as_approvable
3
+ specs:
4
+ acts-as-approvable (0.6.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ abstract (1.0.0)
10
+ actionpack (3.0.11)
11
+ activemodel (= 3.0.11)
12
+ activesupport (= 3.0.11)
13
+ builder (~> 2.1.2)
14
+ erubis (~> 2.6.6)
15
+ i18n (~> 0.5.0)
16
+ rack (~> 1.2.1)
17
+ rack-mount (~> 0.6.14)
18
+ rack-test (~> 0.5.7)
19
+ tzinfo (~> 0.3.23)
20
+ activemodel (3.0.11)
21
+ activesupport (= 3.0.11)
22
+ builder (~> 2.1.2)
23
+ i18n (~> 0.5.0)
24
+ activerecord (3.0.11)
25
+ activemodel (= 3.0.11)
26
+ activesupport (= 3.0.11)
27
+ arel (~> 2.0.10)
28
+ tzinfo (~> 0.3.23)
29
+ activesupport (3.0.11)
30
+ appraisal (0.4.1)
31
+ bundler
32
+ rake
33
+ arel (2.0.10)
34
+ builder (2.1.2)
35
+ coderay (1.0.5)
36
+ erubis (2.6.6)
37
+ abstract (>= 1.0.0)
38
+ i18n (0.5.0)
39
+ json (1.6.5)
40
+ metaclass (0.0.1)
41
+ method_source (0.7.0)
42
+ mocha (0.10.4)
43
+ metaclass (~> 0.0.1)
44
+ multi_json (1.0.4)
45
+ pry (0.9.8)
46
+ coderay (~> 1.0.5)
47
+ method_source (~> 0.7)
48
+ slop (>= 2.4.3, < 3)
49
+ rack (1.2.5)
50
+ rack-mount (0.6.14)
51
+ rack (>= 1.0.0)
52
+ rack-test (0.5.7)
53
+ rack (>= 1.0)
54
+ railties (3.0.11)
55
+ actionpack (= 3.0.11)
56
+ activesupport (= 3.0.11)
57
+ rake (>= 0.8.7)
58
+ rdoc (~> 3.4)
59
+ thor (~> 0.14.4)
60
+ rake (0.9.2.2)
61
+ rdoc (3.12)
62
+ json (~> 1.4)
63
+ redcarpet (2.1.0)
64
+ shoulda (2.11.3)
65
+ simplecov (0.5.4)
66
+ multi_json (~> 1.0.3)
67
+ simplecov-html (~> 0.5.3)
68
+ simplecov-html (0.5.3)
69
+ slop (2.4.3)
70
+ sqlite3 (1.3.5)
71
+ thor (0.14.6)
72
+ tzinfo (0.3.31)
73
+ yard (0.7.5)
74
+
75
+ PLATFORMS
76
+ ruby
77
+
78
+ DEPENDENCIES
79
+ activerecord (~> 3.0.0)
80
+ acts-as-approvable!
81
+ appraisal
82
+ mocha
83
+ pry
84
+ railties (~> 3.0.0)
85
+ rake
86
+ redcarpet
87
+ shoulda
88
+ simplecov
89
+ sqlite3
90
+ yard
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "activerecord", "~> 3.1.0"
6
+ gem "railties", "~> 3.1.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,101 @@
1
+ PATH
2
+ remote: /Users/jlogsdon/Code/acts_as_approvable/acts_as_approvable
3
+ specs:
4
+ acts-as-approvable (0.6.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ actionpack (3.1.3)
10
+ activemodel (= 3.1.3)
11
+ activesupport (= 3.1.3)
12
+ builder (~> 3.0.0)
13
+ erubis (~> 2.7.0)
14
+ i18n (~> 0.6)
15
+ rack (~> 1.3.5)
16
+ rack-cache (~> 1.1)
17
+ rack-mount (~> 0.8.2)
18
+ rack-test (~> 0.6.1)
19
+ sprockets (~> 2.0.3)
20
+ activemodel (3.1.3)
21
+ activesupport (= 3.1.3)
22
+ builder (~> 3.0.0)
23
+ i18n (~> 0.6)
24
+ activerecord (3.1.3)
25
+ activemodel (= 3.1.3)
26
+ activesupport (= 3.1.3)
27
+ arel (~> 2.2.1)
28
+ tzinfo (~> 0.3.29)
29
+ activesupport (3.1.3)
30
+ multi_json (~> 1.0)
31
+ appraisal (0.4.1)
32
+ bundler
33
+ rake
34
+ arel (2.2.1)
35
+ builder (3.0.0)
36
+ coderay (1.0.5)
37
+ erubis (2.7.0)
38
+ hike (1.2.1)
39
+ i18n (0.6.0)
40
+ json (1.6.5)
41
+ metaclass (0.0.1)
42
+ method_source (0.7.0)
43
+ mocha (0.10.4)
44
+ metaclass (~> 0.0.1)
45
+ multi_json (1.0.4)
46
+ pry (0.9.8)
47
+ coderay (~> 1.0.5)
48
+ method_source (~> 0.7)
49
+ slop (>= 2.4.3, < 3)
50
+ rack (1.3.6)
51
+ rack-cache (1.1)
52
+ rack (>= 0.4)
53
+ rack-mount (0.8.3)
54
+ rack (>= 1.0.0)
55
+ rack-ssl (1.3.2)
56
+ rack
57
+ rack-test (0.6.1)
58
+ rack (>= 1.0)
59
+ railties (3.1.3)
60
+ actionpack (= 3.1.3)
61
+ activesupport (= 3.1.3)
62
+ rack-ssl (~> 1.3.2)
63
+ rake (>= 0.8.7)
64
+ rdoc (~> 3.4)
65
+ thor (~> 0.14.6)
66
+ rake (0.9.2.2)
67
+ rdoc (3.12)
68
+ json (~> 1.4)
69
+ redcarpet (2.1.0)
70
+ shoulda (2.11.3)
71
+ simplecov (0.5.4)
72
+ multi_json (~> 1.0.3)
73
+ simplecov-html (~> 0.5.3)
74
+ simplecov-html (0.5.3)
75
+ slop (2.4.3)
76
+ sprockets (2.0.3)
77
+ hike (~> 1.2)
78
+ rack (~> 1.0)
79
+ tilt (~> 1.1, != 1.3.0)
80
+ sqlite3 (1.3.5)
81
+ thor (0.14.6)
82
+ tilt (1.3.3)
83
+ tzinfo (0.3.31)
84
+ yard (0.7.5)
85
+
86
+ PLATFORMS
87
+ ruby
88
+
89
+ DEPENDENCIES
90
+ activerecord (~> 3.1.0)
91
+ acts-as-approvable!
92
+ appraisal
93
+ mocha
94
+ pry
95
+ railties (~> 3.1.0)
96
+ rake
97
+ redcarpet
98
+ shoulda
99
+ simplecov
100
+ sqlite3
101
+ yard
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "activerecord", "~> 3.2.0"
6
+ gem "railties", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"