rc_rails 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []