rc_rails 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.
Files changed (98) hide show
  1. data/.gitignore +7 -0
  2. data/CHANGELOG +355 -0
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock.development +117 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.rdoc +71 -0
  7. data/Rakefile +33 -0
  8. data/Todo.txt +1 -0
  9. data/lib/rc_rails.rb +9 -0
  10. data/lib/resources_controller/actions.rb +147 -0
  11. data/lib/resources_controller/active_record/saved.rb +15 -0
  12. data/lib/resources_controller/helper.rb +123 -0
  13. data/lib/resources_controller/include_actions.rb +37 -0
  14. data/lib/resources_controller/named_route_helper.rb +154 -0
  15. data/lib/resources_controller/railtie.rb +14 -0
  16. data/lib/resources_controller/request_path_introspection.rb +83 -0
  17. data/lib/resources_controller/resource_methods.rb +32 -0
  18. data/lib/resources_controller/singleton_actions.rb +21 -0
  19. data/lib/resources_controller/specification.rb +119 -0
  20. data/lib/resources_controller/version.rb +3 -0
  21. data/lib/resources_controller.rb +849 -0
  22. data/resources_controller.gemspec +29 -0
  23. data/spec/app/database.yml +5 -0
  24. data/spec/app/views/accounts/show.html.erb +0 -0
  25. data/spec/app/views/addresses/edit.html.erb +0 -0
  26. data/spec/app/views/addresses/index.html.erb +0 -0
  27. data/spec/app/views/addresses/new.html.erb +0 -0
  28. data/spec/app/views/addresses/show.html.erb +0 -0
  29. data/spec/app/views/admin/forums/create.html.erb +0 -0
  30. data/spec/app/views/admin/forums/destroy.html.erb +0 -0
  31. data/spec/app/views/admin/forums/edit.html.erb +0 -0
  32. data/spec/app/views/admin/forums/index.html.erb +0 -0
  33. data/spec/app/views/admin/forums/new.html.erb +0 -0
  34. data/spec/app/views/admin/forums/show.html.erb +0 -0
  35. data/spec/app/views/admin/forums/update.html.erb +0 -0
  36. data/spec/app/views/comments/edit.html.erb +0 -0
  37. data/spec/app/views/comments/index.html.erb +0 -0
  38. data/spec/app/views/comments/new.html.erb +0 -0
  39. data/spec/app/views/comments/show.html.erb +0 -0
  40. data/spec/app/views/forum_posts/edit.html.erb +0 -0
  41. data/spec/app/views/forum_posts/index.html.erb +0 -0
  42. data/spec/app/views/forum_posts/new.html.erb +0 -0
  43. data/spec/app/views/forum_posts/show.html.erb +0 -0
  44. data/spec/app/views/forums/create.html.erb +0 -0
  45. data/spec/app/views/forums/destroy.html.erb +0 -0
  46. data/spec/app/views/forums/edit.html.erb +0 -0
  47. data/spec/app/views/forums/index.html.erb +0 -0
  48. data/spec/app/views/forums/new.html.erb +0 -0
  49. data/spec/app/views/forums/show.html.erb +0 -0
  50. data/spec/app/views/forums/update.html.erb +0 -0
  51. data/spec/app/views/infos/edit.html.erb +0 -0
  52. data/spec/app/views/infos/show.html.erb +0 -0
  53. data/spec/app/views/interests/index.html.erb +0 -0
  54. data/spec/app/views/interests/show.html.erb +0 -0
  55. data/spec/app/views/owners/edit.html.erb +0 -0
  56. data/spec/app/views/owners/new.html.erb +0 -0
  57. data/spec/app/views/owners/show.html.erb +0 -0
  58. data/spec/app/views/tags/index.html.erb +0 -0
  59. data/spec/app/views/tags/new.html.erb +0 -0
  60. data/spec/app/views/tags/show.html.erb +0 -0
  61. data/spec/app/views/users/edit.html.erb +0 -0
  62. data/spec/app/views/users/index.html.erb +0 -0
  63. data/spec/app/views/users/show.html.erb +0 -0
  64. data/spec/app.rb +315 -0
  65. data/spec/controllers/accounts_controller_spec.rb +77 -0
  66. data/spec/controllers/addresses_controller_spec.rb +346 -0
  67. data/spec/controllers/admin_forums_controller_spec.rb +638 -0
  68. data/spec/controllers/comments_controller_spec.rb +380 -0
  69. data/spec/controllers/comments_controller_with_models_spec.rb +202 -0
  70. data/spec/controllers/forum_posts_controller_spec.rb +426 -0
  71. data/spec/controllers/forums_controller_spec.rb +694 -0
  72. data/spec/controllers/infos_controller_spec.rb +71 -0
  73. data/spec/controllers/interests_controller_via_forum_spec.rb +80 -0
  74. data/spec/controllers/interests_controller_via_user_spec.rb +114 -0
  75. data/spec/controllers/owners_controller_spec.rb +277 -0
  76. data/spec/controllers/resource_saved_spec.rb +47 -0
  77. data/spec/controllers/resource_service_in_forums_controller_spec.rb +37 -0
  78. data/spec/controllers/resource_service_in_infos_controller_spec.rb +36 -0
  79. data/spec/controllers/resource_service_in_interests_controller_via_forum_spec.rb +51 -0
  80. data/spec/controllers/tags_controller_spec.rb +83 -0
  81. data/spec/controllers/tags_controller_via_account_info_spec.rb +131 -0
  82. data/spec/controllers/tags_controller_via_forum_post_comment_spec.rb +144 -0
  83. data/spec/controllers/tags_controller_via_forum_post_spec.rb +133 -0
  84. data/spec/controllers/tags_controller_via_forum_spec.rb +173 -0
  85. data/spec/controllers/tags_controller_via_user_address_spec.rb +130 -0
  86. data/spec/controllers/users_controller_spec.rb +248 -0
  87. data/spec/lib/action_view_helper_spec.rb +143 -0
  88. data/spec/lib/bug_0001_spec.rb +22 -0
  89. data/spec/lib/include_actions_spec.rb +35 -0
  90. data/spec/lib/load_enclosing_resources_spec.rb +245 -0
  91. data/spec/lib/request_path_introspection_spec.rb +130 -0
  92. data/spec/lib/resource_methods_spec.rb +204 -0
  93. data/spec/lib/resources_controller_spec.rb +57 -0
  94. data/spec/models/comment_saved_spec.rb +24 -0
  95. data/spec/rspec_generator_task.rb +105 -0
  96. data/spec/spec_helper.rb +17 -0
  97. data/spec/verify_rcov.rb +52 -0
  98. metadata +193 -0
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe "ResourcesController (in general)" do
4
+
5
+ before do
6
+ @controller = Class.new(ApplicationController)
7
+ @controller.resources_controller_for :forums
8
+ end
9
+
10
+ it "nested_in :foo, :polymorphic => true, :class => User should raise argument error (no options or block with polymorphic)" do
11
+ lambda { @controller.nested_in :foo, :polymorphic => true, :class => User }.should raise_error(ArgumentError)
12
+ end
13
+
14
+ it "resources_controller_for :forums, :in => [:user, '*', '*', :comment] should raise argument error (no multiple wildcards in a row)" do
15
+ lambda { @controller.resources_controller_for :forums, :in => [:user, '*', '*', :comment] }.should raise_error(ArgumentError)
16
+ end
17
+ end
18
+
19
+ describe "ResourcesController#enclosing_resource_name" do
20
+ before do
21
+ @controller = TagsController.new
22
+ info = mock_model(Info, :tags => [])
23
+ @controller.stub!(:current_user).and_return(mock_model(User, :info => info))
24
+ @controller.stub!(:request_path).and_return('/account/info/tags')
25
+ @controller.stub!(:params).and_return({})
26
+ @controller.send :load_enclosing_resources
27
+ end
28
+
29
+ it "should be the name of the mapped enclosing_resource" do
30
+ @controller.enclosing_resource_name.should == 'info'
31
+ end
32
+ end
33
+
34
+ describe "A controller's resource_service" do
35
+ before do
36
+ @controller = ForumsController.new
37
+ end
38
+
39
+ it 'may be explicitly set with #resource_service=' do
40
+ @controller.resource_service = 'foo'
41
+ @controller.resource_service.should == 'foo'
42
+ end
43
+ end
44
+
45
+ describe "deprecated methods" do
46
+ before do
47
+ @controller = ForumsController.new
48
+ @controller.resource = Forum.new
49
+ end
50
+
51
+ it "#save_resource should send resource.save" do
52
+ ActiveSupport::Deprecation.silence do
53
+ @controller.resource.should_receive :save
54
+ @controller.save_resource
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe "(re: saved?) Comment" do
4
+ describe ".new(<invalid attrs>)" do
5
+ before { @comment = Comment.new }
6
+
7
+ it { @comment.should_not be_validation_attempted }
8
+ it { @comment.should_not be_saved }
9
+
10
+ describe ".save" do
11
+ before { @comment.save }
12
+
13
+ it { @comment.should be_validation_attempted }
14
+ it { @comment.should_not be_saved }
15
+
16
+ describe "then update_attributes(<valid attrs>)" do
17
+ before { @comment.update_attributes :user => User.create!, :post => Post.create! }
18
+
19
+ it { @comment.should be_validation_attempted }
20
+ it { @comment.should be_saved }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,105 @@
1
+ namespace :spec do
2
+ desc "Run rspec's generated specs against RC'd controllers"
3
+ task :generate => 'tmp/test_app' do
4
+ require 'active_support/all'
5
+
6
+ cd 'tmp/test_app' do
7
+ begin
8
+ generate_resource :author
9
+ migrate_up
10
+ make_resources_controller :author
11
+ puts "** Running generated controller specs"
12
+ sh "bundle exec rake spec:controllers"
13
+ ensure
14
+ migrate_down
15
+ cleanup_resource :author
16
+ end
17
+ end
18
+ end
19
+
20
+ desc "make a test rails app in tmp/test_app"
21
+ task :make_test_app => ['spec:clobber_test_app', 'tmp/test_app' ]
22
+
23
+ task :clobber_test_app do
24
+ rm_rf 'tmp/test_app'
25
+ end
26
+
27
+ file 'tmp/test_app' do
28
+ puts "Generating test app"
29
+ mkdir_p "tmp"
30
+ cd 'tmp' do
31
+ system "rails new test_app"
32
+
33
+ cd 'test_app' do
34
+ File.open('Gemfile', 'w+') do |file|
35
+ file << <<-EOD
36
+ source :rubygems
37
+ gem 'rails'
38
+ gem 'sqlite3'
39
+ gem 'rspec'
40
+ gem 'rspec-rails'
41
+ gem 'rc_rails', :git => "#{File.expand_path('../../../..', __FILE__)}"
42
+ EOD
43
+ end
44
+ system "bundle install"
45
+ system "rails g rspec:install"
46
+ end
47
+ end
48
+ end
49
+
50
+ def migrate_up
51
+ puts "** Migrating up"
52
+ `rake db:migrate`
53
+ end
54
+
55
+ def migrate_down
56
+ puts "** Migrating down"
57
+ `rake db:migrate VERSION=0`
58
+ end
59
+
60
+ def generate_resource(name)
61
+ puts "** Generating rspec_scaffold for resource: #{name}"
62
+ `rails generate scaffold #{name.to_s.classify}`
63
+ end
64
+
65
+ def make_resources_controller(name)
66
+ plural = name.to_s.pluralize
67
+
68
+ controller = <<-end_eval
69
+ class #{plural.classify.pluralize}Controller < ApplicationController
70
+ resources_controller_for :#{plural}
71
+ end
72
+ end_eval
73
+
74
+ puts "** Replacing app/controllers/#{plural}_controller.rb with:\n\n#{controller}\n"
75
+ File.open("app/controllers/#{plural}_controller.rb", "w+") {|f| f << controller }
76
+ end
77
+
78
+ def cleanup_resource(name)
79
+ puts "** Cleaning up generated files for resource: #{name}"
80
+ plural = name.to_s.pluralize
81
+
82
+ # remove app files
83
+ rm "app/models/#{name}.rb"
84
+ rm "app/controllers/#{plural}_controller.rb"
85
+ rm "app/helpers/#{plural}_helper.rb"
86
+ rm_rf "app/views/#{plural}"
87
+
88
+ # remove migration
89
+ rm Dir["db/migrate/*_create_#{plural}.rb"]
90
+
91
+ # revert routes
92
+ routes_rb = File.read("config/routes.rb")
93
+ routes_rb.sub!("\n map.resources :#{plural}\n", '')
94
+ File.open("config/routes.rb", "w+") {|f| f << routes_rb}
95
+
96
+ # remove spec files
97
+ rm "spec/models/#{name}_spec.rb"
98
+ # rm "spec/fixtures/#{plural}.yml"
99
+ rm Dir["spec/controllers/#{plural}*_spec.rb"]
100
+ rm "spec/helpers/#{plural}_helper_spec.rb"
101
+ rm "spec/requests/#{plural}_spec.rb"
102
+ rm Dir["spec/routing/#{plural}*_spec.rb"]
103
+ rm_rf "spec/views/#{plural}"
104
+ end
105
+ end
@@ -0,0 +1,17 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+ require 'rails/all'
3
+ require 'rspec'
4
+ require 'rspec/rails'
5
+ require File.expand_path('../../lib/resources_controller', __FILE__)
6
+
7
+ # RSpec 2 doesn't fight Rails's requiring a template for rendering,
8
+ # even in controller specs, so we need to provide empty ones in order to not have
9
+ # just about every test fail.
10
+ ActionController::Base.view_paths = [File.join(File.dirname(__FILE__), "app/views")]
11
+
12
+ RSpec.configure do |config|
13
+ config.use_transactional_fixtures = true
14
+ config.use_instantiated_fixtures = false
15
+ end
16
+
17
+ require File.dirname(__FILE__) + '/app'
@@ -0,0 +1,52 @@
1
+ module RCov
2
+ # A task that can verify that the RCov coverage doesn't
3
+ # drop below a certain threshold. It should be run after
4
+ # running Spec::Rake::SpecTask.
5
+ class VerifyTask < Rake::TaskLib
6
+ # Name of the task. Defaults to :verify_rcov
7
+ attr_accessor :name
8
+
9
+ # Path to the index.html file generated by RCov, which
10
+ # is the file containing the total coverage.
11
+ # Defaults to 'coverage/index.html'
12
+ attr_accessor :index_html
13
+
14
+ # Whether or not to output details. Defaults to true.
15
+ attr_accessor :verbose
16
+
17
+ # The threshold value (in percent) for coverage. If the
18
+ # actual coverage is not equal to this value, the task will raise an
19
+ # exception.
20
+ attr_accessor :threshold
21
+
22
+ # Require the threshold value be met exactly. This is the default.
23
+ attr_accessor :require_exact_threshold
24
+
25
+ def initialize(name=:verify_rcov)
26
+ @name = name
27
+ @index_html = 'coverage/index.html'
28
+ @verbose = true
29
+ @require_exact_threshold = true
30
+ yield self if block_given?
31
+ raise "Threshold must be set" if @threshold.nil?
32
+ define
33
+ end
34
+
35
+ def define
36
+ desc "Verify that rcov coverage is at least #{threshold}%"
37
+ task @name do
38
+ total_coverage = 0
39
+
40
+ File.open(index_html).each_line do |line|
41
+ if line =~ /<tt class='coverage_total'>\s*(\d+\.\d+)%\s*<\/tt>/
42
+ total_coverage = $1.to_f
43
+ break
44
+ end
45
+ end
46
+ puts "Coverage: #{total_coverage}% (threshold: #{threshold}%)" if verbose
47
+ raise "Coverage must be at least #{threshold}% but was #{total_coverage}%" if total_coverage < threshold
48
+ raise "Coverage has increased above the threshold of #{threshold}% to #{total_coverage}%. You should update your threshold value." if (total_coverage > threshold) and require_exact_threshold
49
+ end
50
+ end
51
+ end
52
+ end
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rc_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ian White
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &70213065794220 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.1.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70213065794220
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70213065793660 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.8.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70213065793660
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec-rails
38
+ requirement: &70213065793060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 2.8.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70213065793060
47
+ - !ruby/object:Gem::Dependency
48
+ name: sqlite3
49
+ requirement: &70213065792600 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70213065792600
58
+ description: rc makes RESTful controllers fun
59
+ email: ian.w.white@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files:
63
+ - README.rdoc
64
+ files:
65
+ - .gitignore
66
+ - CHANGELOG
67
+ - Gemfile
68
+ - Gemfile.lock.development
69
+ - MIT-LICENSE
70
+ - README.rdoc
71
+ - Rakefile
72
+ - Todo.txt
73
+ - lib/rc_rails.rb
74
+ - lib/resources_controller.rb
75
+ - lib/resources_controller/actions.rb
76
+ - lib/resources_controller/active_record/saved.rb
77
+ - lib/resources_controller/helper.rb
78
+ - lib/resources_controller/include_actions.rb
79
+ - lib/resources_controller/named_route_helper.rb
80
+ - lib/resources_controller/railtie.rb
81
+ - lib/resources_controller/request_path_introspection.rb
82
+ - lib/resources_controller/resource_methods.rb
83
+ - lib/resources_controller/singleton_actions.rb
84
+ - lib/resources_controller/specification.rb
85
+ - lib/resources_controller/version.rb
86
+ - resources_controller.gemspec
87
+ - spec/app.rb
88
+ - spec/app/database.yml
89
+ - spec/app/views/accounts/show.html.erb
90
+ - spec/app/views/addresses/edit.html.erb
91
+ - spec/app/views/addresses/index.html.erb
92
+ - spec/app/views/addresses/new.html.erb
93
+ - spec/app/views/addresses/show.html.erb
94
+ - spec/app/views/admin/forums/create.html.erb
95
+ - spec/app/views/admin/forums/destroy.html.erb
96
+ - spec/app/views/admin/forums/edit.html.erb
97
+ - spec/app/views/admin/forums/index.html.erb
98
+ - spec/app/views/admin/forums/new.html.erb
99
+ - spec/app/views/admin/forums/show.html.erb
100
+ - spec/app/views/admin/forums/update.html.erb
101
+ - spec/app/views/comments/edit.html.erb
102
+ - spec/app/views/comments/index.html.erb
103
+ - spec/app/views/comments/new.html.erb
104
+ - spec/app/views/comments/show.html.erb
105
+ - spec/app/views/forum_posts/edit.html.erb
106
+ - spec/app/views/forum_posts/index.html.erb
107
+ - spec/app/views/forum_posts/new.html.erb
108
+ - spec/app/views/forum_posts/show.html.erb
109
+ - spec/app/views/forums/create.html.erb
110
+ - spec/app/views/forums/destroy.html.erb
111
+ - spec/app/views/forums/edit.html.erb
112
+ - spec/app/views/forums/index.html.erb
113
+ - spec/app/views/forums/new.html.erb
114
+ - spec/app/views/forums/show.html.erb
115
+ - spec/app/views/forums/update.html.erb
116
+ - spec/app/views/infos/edit.html.erb
117
+ - spec/app/views/infos/show.html.erb
118
+ - spec/app/views/interests/index.html.erb
119
+ - spec/app/views/interests/show.html.erb
120
+ - spec/app/views/owners/edit.html.erb
121
+ - spec/app/views/owners/new.html.erb
122
+ - spec/app/views/owners/show.html.erb
123
+ - spec/app/views/tags/index.html.erb
124
+ - spec/app/views/tags/new.html.erb
125
+ - spec/app/views/tags/show.html.erb
126
+ - spec/app/views/users/edit.html.erb
127
+ - spec/app/views/users/index.html.erb
128
+ - spec/app/views/users/show.html.erb
129
+ - spec/controllers/accounts_controller_spec.rb
130
+ - spec/controllers/addresses_controller_spec.rb
131
+ - spec/controllers/admin_forums_controller_spec.rb
132
+ - spec/controllers/comments_controller_spec.rb
133
+ - spec/controllers/comments_controller_with_models_spec.rb
134
+ - spec/controllers/forum_posts_controller_spec.rb
135
+ - spec/controllers/forums_controller_spec.rb
136
+ - spec/controllers/infos_controller_spec.rb
137
+ - spec/controllers/interests_controller_via_forum_spec.rb
138
+ - spec/controllers/interests_controller_via_user_spec.rb
139
+ - spec/controllers/owners_controller_spec.rb
140
+ - spec/controllers/resource_saved_spec.rb
141
+ - spec/controllers/resource_service_in_forums_controller_spec.rb
142
+ - spec/controllers/resource_service_in_infos_controller_spec.rb
143
+ - spec/controllers/resource_service_in_interests_controller_via_forum_spec.rb
144
+ - spec/controllers/tags_controller_spec.rb
145
+ - spec/controllers/tags_controller_via_account_info_spec.rb
146
+ - spec/controllers/tags_controller_via_forum_post_comment_spec.rb
147
+ - spec/controllers/tags_controller_via_forum_post_spec.rb
148
+ - spec/controllers/tags_controller_via_forum_spec.rb
149
+ - spec/controllers/tags_controller_via_user_address_spec.rb
150
+ - spec/controllers/users_controller_spec.rb
151
+ - spec/lib/action_view_helper_spec.rb
152
+ - spec/lib/bug_0001_spec.rb
153
+ - spec/lib/include_actions_spec.rb
154
+ - spec/lib/load_enclosing_resources_spec.rb
155
+ - spec/lib/request_path_introspection_spec.rb
156
+ - spec/lib/resource_methods_spec.rb
157
+ - spec/lib/resources_controller_spec.rb
158
+ - spec/models/comment_saved_spec.rb
159
+ - spec/rspec_generator_task.rb
160
+ - spec/spec_helper.rb
161
+ - spec/verify_rcov.rb
162
+ homepage: http://github.com/ianwhite/resources_controller
163
+ licenses: []
164
+ post_install_message:
165
+ rdoc_options:
166
+ - --charset=UTF-8
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ segments:
176
+ - 0
177
+ hash: 1183401089440574337
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ segments:
185
+ - 0
186
+ hash: 1183401089440574337
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 1.8.10
190
+ signing_key:
191
+ specification_version: 3
192
+ summary: resources_controller-2.1.0
193
+ test_files: []