focused_controller 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +4 -6
- data/Appraisals +4 -5
- data/CHANGELOG.md +3 -0
- data/README.md +5 -0
- data/focused_controller.gemspec +5 -5
- data/gemfiles/{rails-3-1.gemfile → rails_3_1.gemfile} +0 -0
- data/gemfiles/{rails-3-2.gemfile → rails_3_2.gemfile} +0 -0
- data/gemfiles/rails_4_0.gemfile +7 -0
- data/lib/focused_controller/functional_test_helper.rb +16 -5
- data/lib/focused_controller/mixin.rb +5 -1
- data/lib/focused_controller/rspec_helper.rb +3 -2
- data/lib/focused_controller/test_helper.rb +9 -1
- data/lib/focused_controller/version.rb +1 -1
- data/test/app/Gemfile +1 -1
- data/test/app/app/models/post.rb +2 -0
- data/test/app/app/views/posts/index.html.erb +1 -1
- data/test/app/config/environments/development.rb +2 -3
- data/test/app/config/environments/test.rb +2 -3
- data/test/app/config/initializers/secret_token.rb +1 -0
- data/test/app/test/functional/posts_controller_test.rb +1 -0
- data/test/app/test/unit/controllers/posts_controller_test.rb +1 -0
- data/test/helper.rb +10 -1
- data/test/unit/functional_test_helper_test.rb +53 -16
- data/test/unit/mixin_test.rb +2 -2
- data/test/unit/route_mapper_test.rb +3 -3
- metadata +27 -38
- data/gemfiles/rails-3-0.gemfile +0 -8
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bba50f15d9a2bb936bd4b78ed12ae12c8dde7970
|
4
|
+
data.tar.gz: 07c4280195ca55e71849e1ede1f32ba274d51af8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fc77f35481b3d741e8988495362e67d28862ff379f300b131927a39b80636be07dea2fec7b7f97fe41eb1af41269b6d80faa1aeab78d19dc21f1a3bcdfc86268
|
7
|
+
data.tar.gz: a58a337acdeb40611d7632abc5a4a22df6670feaad647d5e5973a990e1d68f529b7248bf6fc5da17cb92673c92b1e5dfaca49065d386c25c8bae6b3988b9ed56
|
data/.travis.yml
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
+
- 2.0.0
|
3
4
|
- 1.9.3
|
4
|
-
- 1.9.2
|
5
|
-
- 1.8.7
|
6
|
-
- jruby-18mode
|
7
5
|
- jruby-19mode
|
8
6
|
gemfile:
|
9
|
-
- gemfiles/
|
10
|
-
- gemfiles/
|
11
|
-
- gemfiles/
|
7
|
+
- gemfiles/rails_4_0.gemfile
|
8
|
+
- gemfiles/rails_3_2.gemfile
|
9
|
+
- gemfiles/rails_3_1.gemfile
|
data/Appraisals
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
appraise 'rails-4-0' do
|
2
|
+
gem 'rails', '~> 4.0.0'
|
3
|
+
end
|
4
|
+
|
1
5
|
appraise 'rails-3-2' do
|
2
6
|
gem 'rails', '~> 3.2.0'
|
3
7
|
end
|
@@ -5,8 +9,3 @@ end
|
|
5
9
|
appraise 'rails-3-1' do
|
6
10
|
gem 'rails', '~> 3.1.0'
|
7
11
|
end
|
8
|
-
|
9
|
-
appraise 'rails-3-0' do
|
10
|
-
gem 'rails', '~> 3.0.0'
|
11
|
-
gem 'rack-test', '~> 0.5.7'
|
12
|
-
end
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -10,6 +10,9 @@ Focused Controller also provides test helpers which enable you to write unit
|
|
10
10
|
tests for your controller code. This is much faster than functional testing,
|
11
11
|
and better suited to testing fine grained logic that may exist in your actions.
|
12
12
|
|
13
|
+
[I wrote a blog post to fully explain the
|
14
|
+
idea](http://jonathanleighton.com/articles/2012/explaining-focused-controller/).
|
15
|
+
|
13
16
|
There is a [mailing list](http://groups.google.com/group/focused_controller)
|
14
17
|
for discussion.
|
15
18
|
|
@@ -108,6 +111,7 @@ to be called as it would always be `#call`. So this is omitted:
|
|
108
111
|
|
109
112
|
``` ruby
|
110
113
|
require 'focused_controller/functional_test_helper'
|
114
|
+
require_dependency 'users_controller'
|
111
115
|
|
112
116
|
module UsersController
|
113
117
|
class CreateTest < ActionController::TestCase
|
@@ -181,6 +185,7 @@ It also provides accessors for these objects in your test class.
|
|
181
185
|
|
182
186
|
``` ruby
|
183
187
|
require 'focused_controller/test_helper'
|
188
|
+
require_dependency 'users_controller'
|
184
189
|
|
185
190
|
module UsersController
|
186
191
|
class CreateTest < ActiveSupport::TestCase
|
data/focused_controller.gemspec
CHANGED
@@ -18,12 +18,12 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_dependency 'actionpack', '
|
21
|
+
s.add_dependency 'actionpack', '>= 3.0', '< 4.1'
|
22
22
|
|
23
|
-
s.add_development_dependency 'minitest', '~> 2
|
24
|
-
s.add_development_dependency 'capybara', '~>
|
25
|
-
s.add_development_dependency 'capybara_minitest_spec', '~> 0
|
26
|
-
s.add_development_dependency 'poltergeist', '~>
|
23
|
+
s.add_development_dependency 'minitest', '~> 4.2'
|
24
|
+
s.add_development_dependency 'capybara', '~> 2.1'
|
25
|
+
s.add_development_dependency 'capybara_minitest_spec', '~> 1.0'
|
26
|
+
s.add_development_dependency 'poltergeist', '~> 1.3'
|
27
27
|
s.add_development_dependency 'rspec', '~> 2.8'
|
28
28
|
s.add_development_dependency 'rspec-rails', '~> 2.8'
|
29
29
|
s.add_development_dependency 'appraisal', '~> 0.4'
|
File without changes
|
File without changes
|
@@ -3,23 +3,34 @@ require 'active_support/concern'
|
|
3
3
|
module FocusedController
|
4
4
|
module FunctionalTestHelper
|
5
5
|
def get(*args)
|
6
|
-
|
6
|
+
new_args = args_with_action_name(*args)
|
7
|
+
super(*new_args)
|
7
8
|
end
|
8
9
|
|
9
10
|
def post(*args)
|
10
|
-
super(
|
11
|
+
super(*args_with_action_name(*args))
|
11
12
|
end
|
12
13
|
|
13
14
|
def put(*args)
|
14
|
-
super(
|
15
|
+
super(*args_with_action_name(*args))
|
15
16
|
end
|
16
17
|
|
17
18
|
def delete(*args)
|
18
|
-
super(
|
19
|
+
super(*args_with_action_name(*args))
|
19
20
|
end
|
20
21
|
|
21
22
|
def head(*args)
|
22
|
-
super(
|
23
|
+
super(*args_with_action_name(*args))
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def args_with_action_name(*args)
|
29
|
+
if args.first.is_a?(Symbol)
|
30
|
+
args
|
31
|
+
else
|
32
|
+
[FocusedController.action_name] + args
|
33
|
+
end
|
23
34
|
end
|
24
35
|
end
|
25
36
|
end
|
@@ -13,7 +13,7 @@ module FocusedController
|
|
13
13
|
end
|
14
14
|
|
15
15
|
module ClassMethods
|
16
|
-
def
|
16
|
+
def focused_controller_path
|
17
17
|
@focused_controller_path ||= name && name.sub(/\:\:[^\:]+$/, '').sub(/Controller$/, '').underscore
|
18
18
|
end
|
19
19
|
|
@@ -44,6 +44,10 @@ module FocusedController
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
def _prefixes
|
48
|
+
super.dup.unshift(self.class.focused_controller_path)
|
49
|
+
end
|
50
|
+
|
47
51
|
def action_name
|
48
52
|
self.class.name.demodulize.underscore
|
49
53
|
end
|
@@ -7,7 +7,6 @@ begin
|
|
7
7
|
# haven't specifically chosen to receive it.
|
8
8
|
require 'rspec/rails/matchers'
|
9
9
|
require 'rspec/rails/adapters'
|
10
|
-
require 'rspec/rails/example/rails_example_group'
|
11
10
|
rescue LoadError
|
12
11
|
end
|
13
12
|
|
@@ -26,7 +25,9 @@ module FocusedController
|
|
26
25
|
end
|
27
26
|
|
28
27
|
if defined?(RSpec::Rails)
|
29
|
-
include RSpec::Rails::
|
28
|
+
include RSpec::Rails::SetupAndTeardownAdapter
|
29
|
+
include RSpec::Rails::TestUnitAssertionAdapter
|
30
|
+
include RSpec::Rails::Matchers
|
30
31
|
include RSpec::Rails::Matchers::RedirectTo
|
31
32
|
include RSpec::Rails::Matchers::RenderTemplate
|
32
33
|
end
|
@@ -28,7 +28,7 @@ module FocusedController
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def cookie_jar
|
31
|
-
@cookie_jar ||= ActionDispatch::Cookies::CookieJar.
|
31
|
+
@cookie_jar ||= ActionDispatch::Cookies::CookieJar.build(self)
|
32
32
|
end
|
33
33
|
|
34
34
|
def flash
|
@@ -59,6 +59,10 @@ module FocusedController
|
|
59
59
|
self
|
60
60
|
end
|
61
61
|
|
62
|
+
def delete(*)
|
63
|
+
self
|
64
|
+
end
|
65
|
+
|
62
66
|
def to_s
|
63
67
|
"#{helper_name}(#{args.each(&:to_s).join(', ')})"
|
64
68
|
end
|
@@ -172,5 +176,9 @@ module FocusedController
|
|
172
176
|
end
|
173
177
|
end
|
174
178
|
end
|
179
|
+
|
180
|
+
def optimize_routes_generation?(*)
|
181
|
+
false
|
182
|
+
end
|
175
183
|
end
|
176
184
|
end
|
data/test/app/Gemfile
CHANGED
data/test/app/app/models/post.rb
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
<td><%= post.body %></td>
|
14
14
|
<td><%= link_to 'Show', post %></td>
|
15
15
|
<td><%= link_to 'Edit', edit_post_path(post) %></td>
|
16
|
-
<td><%= link_to 'Destroy', post, :
|
16
|
+
<td><%= link_to 'Destroy', post, :method => :delete %></td>
|
17
17
|
</tr>
|
18
18
|
<% end %>
|
19
19
|
</table>
|
@@ -6,9 +6,6 @@ App::Application.configure do
|
|
6
6
|
# since you don't have to restart the web server when you make code changes.
|
7
7
|
config.cache_classes = false
|
8
8
|
|
9
|
-
# Log error messages when you accidentally call methods on nil.
|
10
|
-
config.whiny_nils = true
|
11
|
-
|
12
9
|
# Show full error reports and disable caching
|
13
10
|
config.consider_all_requests_local = true
|
14
11
|
config.action_controller.perform_caching = false
|
@@ -18,4 +15,6 @@ App::Application.configure do
|
|
18
15
|
|
19
16
|
# Only use best-standards-support built into browsers
|
20
17
|
config.action_dispatch.best_standards_support = :builtin
|
18
|
+
|
19
|
+
config.eager_load = false
|
21
20
|
end
|
@@ -11,9 +11,6 @@ App::Application.configure do
|
|
11
11
|
config.serve_static_assets = true
|
12
12
|
config.static_cache_control = "public, max-age=3600"
|
13
13
|
|
14
|
-
# Log error messages when you accidentally call methods on nil
|
15
|
-
config.whiny_nils = true
|
16
|
-
|
17
14
|
# Show full error reports and disable caching
|
18
15
|
config.consider_all_requests_local = true
|
19
16
|
config.action_controller.perform_caching = false
|
@@ -26,4 +23,6 @@ App::Application.configure do
|
|
26
23
|
|
27
24
|
# Print deprecation notices to the stderr
|
28
25
|
config.active_support.deprecation = :stderr
|
26
|
+
|
27
|
+
config.eager_load = false
|
29
28
|
end
|
@@ -5,3 +5,4 @@
|
|
5
5
|
# Make sure the secret is at least 30 characters and all random,
|
6
6
|
# no regular words or you'll be exposed to dictionary attacks.
|
7
7
|
App::Application.config.secret_token = '0bdf8849022e542ad15148bd7052bff324953e0b40f3545d0cb3f11f0347837d9cde80c10af262744b5725e85838a432fbd3bab2f2f82ede04da29877dfa5358'
|
8
|
+
App::Application.config.secret_key_base = '0bdf8849022e542ad15148bd7052bff324953e0b40f3545d0cb3f11f0347837d9cde80c10af262744b5725e85838a432fbd3bab2f2f82ede04da29877dfa5358'
|
data/test/helper.rb
CHANGED
@@ -19,8 +19,17 @@ end
|
|
19
19
|
# can, and capybara/rails assumes there is a full rails env present. So this is a
|
20
20
|
# hack to make it not fail.
|
21
21
|
module Rails
|
22
|
+
module VERSION
|
23
|
+
MAJOR = 3
|
24
|
+
MINOR = 0
|
25
|
+
TINY = 0
|
26
|
+
PRE = ""
|
27
|
+
|
28
|
+
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
29
|
+
end
|
30
|
+
|
22
31
|
def self.version
|
23
|
-
|
32
|
+
VERSION::STRING
|
24
33
|
end
|
25
34
|
|
26
35
|
def self.root
|
@@ -29,6 +29,20 @@ module FocusedController
|
|
29
29
|
describe FunctionalTestHelper do
|
30
30
|
subject { FakePostsController::IndexTest.new }
|
31
31
|
|
32
|
+
def record_last_process
|
33
|
+
subject.singleton_class.class_eval do
|
34
|
+
attr_reader :last_process
|
35
|
+
|
36
|
+
def process(action_name, *args)
|
37
|
+
if ActionPack::VERSION::MAJOR < 4
|
38
|
+
args.unshift args.pop
|
39
|
+
end
|
40
|
+
|
41
|
+
@last_process = [action_name, *args]
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
32
46
|
it 'automatically determines the controller class' do
|
33
47
|
FakePostsController::IndexTest.controller_class.
|
34
48
|
must_equal FakePostsController::Index
|
@@ -37,28 +51,51 @@ module FocusedController
|
|
37
51
|
end
|
38
52
|
|
39
53
|
it "doesn't require using the action name to dispatch the action" do
|
40
|
-
|
41
|
-
attr_reader :last_process
|
54
|
+
record_last_process
|
42
55
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
56
|
+
parameters = {:foo => "bar"}
|
57
|
+
session = {:baz => "bat"}
|
58
|
+
flash = {:quux => "wibble"}
|
59
|
+
|
60
|
+
subject.get parameters, session, flash
|
61
|
+
subject.last_process.must_equal ['call', 'GET', parameters, session, flash]
|
62
|
+
|
63
|
+
subject.post parameters, session, flash
|
64
|
+
subject.last_process.must_equal ['call', 'POST', parameters, session, flash]
|
65
|
+
|
66
|
+
subject.put parameters, session, flash
|
67
|
+
subject.last_process.must_equal ['call', 'PUT', parameters, session, flash]
|
68
|
+
|
69
|
+
subject.delete parameters, session, flash
|
70
|
+
subject.last_process.must_equal ['call', 'DELETE', parameters, session, flash]
|
47
71
|
|
48
|
-
subject.
|
49
|
-
subject.last_process.must_equal ['call',
|
72
|
+
subject.head parameters, session, flash
|
73
|
+
subject.last_process.must_equal ['call', 'HEAD', parameters, session, flash]
|
74
|
+
end
|
75
|
+
|
76
|
+
describe "testing a non-focused controller" do
|
77
|
+
it "allows using the action name to dispatch the action" do
|
78
|
+
record_last_process
|
79
|
+
|
80
|
+
parameters = {:foo => "bar"}
|
81
|
+
session = {:baz => "bat"}
|
82
|
+
flash = {:quux => "wibble"}
|
50
83
|
|
51
|
-
|
52
|
-
|
84
|
+
subject.get :show, parameters, session, flash
|
85
|
+
subject.last_process.must_equal [:show, 'GET', parameters, session, flash]
|
53
86
|
|
54
|
-
|
55
|
-
|
87
|
+
subject.post :create, parameters, session, flash
|
88
|
+
subject.last_process.must_equal [:create, 'POST', parameters, session, flash]
|
56
89
|
|
57
|
-
|
58
|
-
|
90
|
+
subject.put :update, parameters, session, flash
|
91
|
+
subject.last_process.must_equal [:update, 'PUT', parameters, session, flash]
|
59
92
|
|
60
|
-
|
61
|
-
|
93
|
+
subject.delete :destroy, parameters, session, flash
|
94
|
+
subject.last_process.must_equal [:destroy, 'DELETE', parameters, session, flash]
|
95
|
+
|
96
|
+
subject.head :show, parameters, session, flash
|
97
|
+
subject.last_process.must_equal [:show, 'HEAD', parameters, session, flash]
|
98
|
+
end
|
62
99
|
end
|
63
100
|
end
|
64
101
|
end
|
data/test/unit/mixin_test.rb
CHANGED
@@ -30,8 +30,8 @@ module FocusedController
|
|
30
30
|
|
31
31
|
subject { klass.new }
|
32
32
|
|
33
|
-
it "has a .
|
34
|
-
klass.
|
33
|
+
it "has a .focused_controller_path of 'posts'" do
|
34
|
+
klass.focused_controller_path.must_equal 'posts'
|
35
35
|
end
|
36
36
|
|
37
37
|
it "has a .call which dispatches the #call action" do
|
@@ -27,8 +27,8 @@ module FocusedController
|
|
27
27
|
it 'creates routes that map to focused controllers' do
|
28
28
|
route_set.draw do
|
29
29
|
focused_controller_routes do
|
30
|
-
|
31
|
-
|
30
|
+
get 'posts' => 'PostsController::Index'
|
31
|
+
get 'posts/all' => 'posts#index'
|
32
32
|
|
33
33
|
resources :comments do
|
34
34
|
resources :replies
|
@@ -67,7 +67,7 @@ module FocusedController
|
|
67
67
|
|
68
68
|
route_set.draw do
|
69
69
|
focused_controller_routes do
|
70
|
-
|
70
|
+
get 'posts' => app
|
71
71
|
end
|
72
72
|
end
|
73
73
|
recognize('/posts').app.must_equal app
|
metadata
CHANGED
@@ -1,100 +1,94 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: focused_controller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jon Leighton
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-10-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: actionpack
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '3.0'
|
20
|
+
- - <
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.1'
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
25
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.0'
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.1'
|
30
33
|
- !ruby/object:Gem::Dependency
|
31
34
|
name: minitest
|
32
35
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
36
|
requirements:
|
35
37
|
- - ~>
|
36
38
|
- !ruby/object:Gem::Version
|
37
|
-
version: '2
|
39
|
+
version: '4.2'
|
38
40
|
type: :development
|
39
41
|
prerelease: false
|
40
42
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
43
|
requirements:
|
43
44
|
- - ~>
|
44
45
|
- !ruby/object:Gem::Version
|
45
|
-
version: '2
|
46
|
+
version: '4.2'
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
48
|
name: capybara
|
48
49
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '2.1'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
57
|
requirements:
|
59
58
|
- - ~>
|
60
59
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
60
|
+
version: '2.1'
|
62
61
|
- !ruby/object:Gem::Dependency
|
63
62
|
name: capybara_minitest_spec
|
64
63
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
64
|
requirements:
|
67
65
|
- - ~>
|
68
66
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0
|
67
|
+
version: '1.0'
|
70
68
|
type: :development
|
71
69
|
prerelease: false
|
72
70
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
71
|
requirements:
|
75
72
|
- - ~>
|
76
73
|
- !ruby/object:Gem::Version
|
77
|
-
version: '0
|
74
|
+
version: '1.0'
|
78
75
|
- !ruby/object:Gem::Dependency
|
79
76
|
name: poltergeist
|
80
77
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
78
|
requirements:
|
83
79
|
- - ~>
|
84
80
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
81
|
+
version: '1.3'
|
86
82
|
type: :development
|
87
83
|
prerelease: false
|
88
84
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
85
|
requirements:
|
91
86
|
- - ~>
|
92
87
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
88
|
+
version: '1.3'
|
94
89
|
- !ruby/object:Gem::Dependency
|
95
90
|
name: rspec
|
96
91
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
92
|
requirements:
|
99
93
|
- - ~>
|
100
94
|
- !ruby/object:Gem::Version
|
@@ -102,7 +96,6 @@ dependencies:
|
|
102
96
|
type: :development
|
103
97
|
prerelease: false
|
104
98
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
99
|
requirements:
|
107
100
|
- - ~>
|
108
101
|
- !ruby/object:Gem::Version
|
@@ -110,7 +103,6 @@ dependencies:
|
|
110
103
|
- !ruby/object:Gem::Dependency
|
111
104
|
name: rspec-rails
|
112
105
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
106
|
requirements:
|
115
107
|
- - ~>
|
116
108
|
- !ruby/object:Gem::Version
|
@@ -118,7 +110,6 @@ dependencies:
|
|
118
110
|
type: :development
|
119
111
|
prerelease: false
|
120
112
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
113
|
requirements:
|
123
114
|
- - ~>
|
124
115
|
- !ruby/object:Gem::Version
|
@@ -126,7 +117,6 @@ dependencies:
|
|
126
117
|
- !ruby/object:Gem::Dependency
|
127
118
|
name: appraisal
|
128
119
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
120
|
requirements:
|
131
121
|
- - ~>
|
132
122
|
- !ruby/object:Gem::Version
|
@@ -134,7 +124,6 @@ dependencies:
|
|
134
124
|
type: :development
|
135
125
|
prerelease: false
|
136
126
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
127
|
requirements:
|
139
128
|
- - ~>
|
140
129
|
- !ruby/object:Gem::Version
|
@@ -149,14 +138,15 @@ files:
|
|
149
138
|
- .gitignore
|
150
139
|
- .travis.yml
|
151
140
|
- Appraisals
|
141
|
+
- CHANGELOG.md
|
152
142
|
- Gemfile
|
153
143
|
- LICENSE
|
154
144
|
- README.md
|
155
145
|
- Rakefile
|
156
146
|
- focused_controller.gemspec
|
157
|
-
- gemfiles/
|
158
|
-
- gemfiles/
|
159
|
-
- gemfiles/
|
147
|
+
- gemfiles/rails_3_1.gemfile
|
148
|
+
- gemfiles/rails_3_2.gemfile
|
149
|
+
- gemfiles/rails_4_0.gemfile
|
160
150
|
- lib/focused_controller.rb
|
161
151
|
- lib/focused_controller/action_name.rb
|
162
152
|
- lib/focused_controller/functional_test_helper.rb
|
@@ -235,27 +225,26 @@ files:
|
|
235
225
|
- test/unit/test_helper_test.rb
|
236
226
|
homepage: http://github.com/jonleighton/focused_controller
|
237
227
|
licenses: []
|
228
|
+
metadata: {}
|
238
229
|
post_install_message:
|
239
230
|
rdoc_options: []
|
240
231
|
require_paths:
|
241
232
|
- lib
|
242
233
|
required_ruby_version: !ruby/object:Gem::Requirement
|
243
|
-
none: false
|
244
234
|
requirements:
|
245
|
-
- -
|
235
|
+
- - '>='
|
246
236
|
- !ruby/object:Gem::Version
|
247
237
|
version: '0'
|
248
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
239
|
requirements:
|
251
|
-
- -
|
240
|
+
- - '>='
|
252
241
|
- !ruby/object:Gem::Version
|
253
242
|
version: '0'
|
254
243
|
requirements: []
|
255
244
|
rubyforge_project: focused_controller
|
256
|
-
rubygems_version: 1.
|
245
|
+
rubygems_version: 2.1.9
|
257
246
|
signing_key:
|
258
|
-
specification_version:
|
247
|
+
specification_version: 4
|
259
248
|
summary: Write Rails controllers with one class per action
|
260
249
|
test_files:
|
261
250
|
- test/acceptance/app_test.rb
|