kitestrings 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/generators/kitestrings/install_generator.rb +25 -1
- data/lib/generators/templates/config/environments/integ.rb +1 -2
- data/lib/generators/templates/config/environments/uat.rb +1 -2
- data/lib/generators/templates/db/seeds.rb +2 -0
- data/lib/generators/templates/rails/scaffold_controller/controller.rb +13 -12
- data/lib/generators/templates/rspec/helper/helper_spec.rb +0 -1
- data/lib/generators/templates/rspec/integration/request_spec.rb +10 -0
- data/lib/generators/templates/rspec/model/model_spec.rb +1 -3
- data/lib/generators/templates/rspec/scaffold/controller_spec.rb +11 -10
- data/lib/generators/templates/rspec/scaffold/routing_spec.rb +0 -1
- data/lib/generators/templates/rubocop/.rubocop.yml +57 -0
- data/lib/generators/templates/spec/rails_helper.rb +7 -8
- data/lib/generators/templates/support/common_lets.rb +2 -0
- data/lib/generators/templates/support/database_cleaner.rb +18 -18
- data/lib/generators/templates/support/fracture.rb +1 -1
- data/lib/generators/templates/support/render_views.rb +1 -3
- data/lib/kitestrings/version.rb +1 -1
- data/spec/lib/generators/kitestrings/install_generator_spec.rb +5 -1
- metadata +7 -4
- data/lib/generators/templates/rspec/integration/request.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09a1d7d5265a7012cea917f77889c82ee15d3735
|
4
|
+
data.tar.gz: 27aeeb8c04ef9a59318dee5f57962fbc812c99d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2de52f0b07968416e93b1a1e20ca4206018d96f02f25690317cc6cd892fb81f9971cd6aefd5b186ff300e9b021f817406ab3dc8f82c0c693d65ad43ab82c182d
|
7
|
+
data.tar.gz: 9136bbdc03df7fac3b93973dc555d24dcb340feee6b228b4218035fba4b14cccafaaf509969480f70ef830298b7a4bbf2d496502b6e76c44bf5638b0b147c21b
|
data/CHANGELOG.md
CHANGED
@@ -14,6 +14,14 @@ module Kitestrings
|
|
14
14
|
directory "config/environments", "config/environments"
|
15
15
|
end
|
16
16
|
|
17
|
+
def copy_seeds_file
|
18
|
+
copy_file "db/seeds.rb", "db/seeds.rb"
|
19
|
+
end
|
20
|
+
|
21
|
+
def copy_rubocop_file
|
22
|
+
copy_file "rubocop/.rubocop.yml", ".rubocop.yml"
|
23
|
+
end
|
24
|
+
|
17
25
|
def copy_haml_files
|
18
26
|
directory "haml", "lib/templates/haml"
|
19
27
|
end
|
@@ -44,6 +52,7 @@ module Kitestrings
|
|
44
52
|
inject_into_file "app/controllers/application_controller.rb", :after => /protect_from_forgery.*$/ do
|
45
53
|
<<-EOF
|
46
54
|
|
55
|
+
respond_to :html
|
47
56
|
|
48
57
|
unless Rails.application.config.consider_all_requests_local
|
49
58
|
rescue_from CanCan::AccessDenied do |exception|
|
@@ -52,10 +61,25 @@ module Kitestrings
|
|
52
61
|
render 'public/403', status: 403, layout: 'none'
|
53
62
|
end
|
54
63
|
end
|
55
|
-
|
64
|
+
EOF
|
56
65
|
end
|
57
66
|
end
|
58
67
|
|
68
|
+
|
69
|
+
def setup_application_config
|
70
|
+
generators_configuration = <<-END
|
71
|
+
config.generators do |g|
|
72
|
+
g.view_specs false
|
73
|
+
end
|
74
|
+
|
75
|
+
config.app_generators do |g|
|
76
|
+
g.templates.unshift File.expand_path('../lib/templates', __FILE__)
|
77
|
+
end
|
78
|
+
END
|
79
|
+
|
80
|
+
environment generators_configuration
|
81
|
+
end
|
82
|
+
|
59
83
|
end
|
60
84
|
end
|
61
85
|
end
|
@@ -44,18 +44,19 @@ class <%= controller_class_name %>Controller < ApplicationController
|
|
44
44
|
end
|
45
45
|
|
46
46
|
private
|
47
|
-
# Use callbacks to share common setup or constraints between actions.
|
48
|
-
def set_<%= singular_table_name %>
|
49
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
50
|
-
end
|
51
47
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
48
|
+
# Use callbacks to share common setup or constraints between actions.
|
49
|
+
def set_<%= singular_table_name %>
|
50
|
+
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
51
|
+
end
|
52
|
+
|
53
|
+
# Only allow a trusted parameter "white list" through.
|
54
|
+
def <%= "#{singular_table_name}_params" %>
|
55
|
+
<%- if attributes_names.empty? -%>
|
56
|
+
params[:<%= singular_table_name %>]
|
57
|
+
<%- else -%>
|
58
|
+
params.require(:<%= singular_table_name %>).permit(<%= attributes_names.map { |name| ":#{name}" }.join(', ') %>)
|
59
|
+
<%- end -%>
|
60
|
+
end
|
60
61
|
end
|
61
62
|
<% end -%>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe '<%= class_name.pluralize %>', <%= type_metatag(:request) %> do
|
4
|
+
describe 'GET /<%= table_name %>' do
|
5
|
+
it 'works! (now write some real specs)' do
|
6
|
+
get <%= index_helper %>_path
|
7
|
+
expect(response).to have_http_status(200)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -2,13 +2,11 @@ require 'rails_helper'
|
|
2
2
|
|
3
3
|
<% module_namespacing do -%>
|
4
4
|
describe <%= class_name %> do
|
5
|
-
|
6
5
|
common_lets
|
7
6
|
|
8
7
|
# define the <%= file_name %>, <%= file_name %>_other,... instances in
|
9
8
|
# spec/support/common_lets.rb
|
10
9
|
it { expect(<%= file_name %>).to be_valid }
|
11
|
-
# it { expect(<%= file_name %>_other).to be_valid }
|
12
|
-
|
10
|
+
# it { expect(<%= file_name %>_other).to be_valid }
|
13
11
|
end
|
14
12
|
<% end -%>
|
@@ -12,16 +12,17 @@ describe <%= controller_class_name %>Controller do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
# stub strong params
|
15
|
-
before { controller.
|
15
|
+
before { allow(controller).to receive(:<%= file_name %>_params).and_return({}) }
|
16
16
|
|
17
17
|
context 'not logged in' do
|
18
18
|
before do
|
19
19
|
sign_out :user
|
20
20
|
end
|
21
21
|
|
22
|
-
{index: :get, show: :get, new: :get, create: :post, edit: :get, update: :put,
|
22
|
+
{ index: :get, show: :get, new: :get, create: :post, edit: :get, update: :put,
|
23
|
+
destroy: :delete }.each do |v, m|
|
23
24
|
it "#{m} #{v} should logout" do
|
24
|
-
|
25
|
+
send(m, v, id: <%= file_name %>)
|
25
26
|
expect(response).to redirect_to new_user_session_path
|
26
27
|
end
|
27
28
|
end
|
@@ -40,9 +41,9 @@ describe <%= controller_class_name %>Controller do
|
|
40
41
|
it { expect(response).to assign_to(:<%= table_name %>).with_items([<%= file_name %>]) }
|
41
42
|
it { expect(response).to render_template :index }
|
42
43
|
it { expect(response).to have_only_fractures(:new_<%= file_name %>_link) }
|
43
|
-
|
44
|
+
end
|
45
|
+
<% end -%>
|
44
46
|
|
45
|
-
<% end -%>
|
46
47
|
describe 'GET show' do
|
47
48
|
before { get :show, id: <%= file_name %> }
|
48
49
|
|
@@ -55,10 +56,10 @@ describe <%= controller_class_name %>Controller do
|
|
55
56
|
before { get :new }
|
56
57
|
|
57
58
|
it { expect(response).to assign_to(:<%= file_name %>).with_kind_of(<%= class_name %>) }
|
58
|
-
#it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
59
|
+
# it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
59
60
|
it { expect(response).to render_template :new }
|
60
61
|
it { expect(response).to have_only_fractures :cancel_new_<%= file_name %>_link }
|
61
|
-
it { expect(response).to have_a_form.that_is_new.with_path_of(<%= table_name %>_path)}
|
62
|
+
it { expect(response).to have_a_form.that_is_new.with_path_of(<%= table_name %>_path) }
|
62
63
|
end
|
63
64
|
|
64
65
|
describe 'POST create' do
|
@@ -70,7 +71,7 @@ describe <%= controller_class_name %>Controller do
|
|
70
71
|
|
71
72
|
it { expect(response).to redirect_to <%= file_name %>_path(<%= class_name %>.last) }
|
72
73
|
it { expect(response).to assign_to(:<%= file_name %>).with(<%= class_name %>.last) }
|
73
|
-
#it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
74
|
+
# it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
74
75
|
end
|
75
76
|
|
76
77
|
context 'invalid' do
|
@@ -79,10 +80,10 @@ describe <%= controller_class_name %>Controller do
|
|
79
80
|
post :create
|
80
81
|
end
|
81
82
|
it { expect(response).to assign_to(:<%= file_name %>).with_kind_of(<%= class_name %>) }
|
82
|
-
#it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
83
|
+
# it { expect(response).to assign_to('<%= file_name %>.parent').with(parent) }
|
83
84
|
it { expect(response).to render_template :new }
|
84
85
|
it { expect(response).to have_only_fractures :cancel_new_<%= file_name %>_link }
|
85
|
-
it { expect(response).to have_a_form.that_is_new.with_path_of(<%= table_name %>_path)}
|
86
|
+
it { expect(response).to have_a_form.that_is_new.with_path_of(<%= table_name %>_path) }
|
86
87
|
end
|
87
88
|
end
|
88
89
|
|
@@ -3,7 +3,6 @@ require 'rails_helper'
|
|
3
3
|
<% module_namespacing do -%>
|
4
4
|
describe <%= controller_class_name %>Controller do
|
5
5
|
describe 'routing' do
|
6
|
-
|
7
6
|
<% unless options[:singleton] -%>
|
8
7
|
it('routes to #index') { expect(get('/<%= ns_table_name %>')).to route_to('<%= ns_table_name %>#index') }
|
9
8
|
<% end -%>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- 'db/schema.rb'
|
4
|
+
- '**/db/schema.rb'
|
5
|
+
- 'config/**/*'
|
6
|
+
- 'db/migrate/*'
|
7
|
+
- '**/db/migrate/*'
|
8
|
+
- 'lib/templates/**/*'
|
9
|
+
- 'bin/*'
|
10
|
+
RunRailsCops: true
|
11
|
+
|
12
|
+
Style/Documentation:
|
13
|
+
Description: Document classes and non-namespace modules.
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Style/StringLiterals:
|
17
|
+
StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
|
18
|
+
Enabled: true
|
19
|
+
EnforcedStyle: single_quotes
|
20
|
+
SupportedStyles:
|
21
|
+
- single_quotes
|
22
|
+
- double_quotes
|
23
|
+
|
24
|
+
Style/CaseIndentation:
|
25
|
+
Description: Indentation of when in a case/when/[else/]end.
|
26
|
+
StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
|
27
|
+
Enabled: true
|
28
|
+
IndentWhenRelativeTo: case
|
29
|
+
SupportedStyles:
|
30
|
+
- case
|
31
|
+
- end
|
32
|
+
IndentOneStep: true
|
33
|
+
|
34
|
+
#LineLength:
|
35
|
+
# Max: 100
|
36
|
+
Metrics/LineLength:
|
37
|
+
Description: Limit lines to 100 characters.
|
38
|
+
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
|
39
|
+
Enabled: true
|
40
|
+
Max: 100
|
41
|
+
AllowURI: true
|
42
|
+
URISchemes:
|
43
|
+
- http
|
44
|
+
- https
|
45
|
+
|
46
|
+
Style/SymbolProc:
|
47
|
+
Description: Use symbols as procs instead of blocks when possible.
|
48
|
+
Enabled: true
|
49
|
+
IgnoredMethods:
|
50
|
+
- respond_to
|
51
|
+
# - configure
|
52
|
+
|
53
|
+
Style/Semicolon:
|
54
|
+
Description: Don't use semicolons to terminate expressions.
|
55
|
+
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon
|
56
|
+
Enabled: true
|
57
|
+
AllowAsExpressionSeparator: true
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
-
ENV[
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
3
3
|
require 'spec_helper'
|
4
|
-
require File.expand_path(
|
4
|
+
require File.expand_path('../../config/environment', __FILE__)
|
5
5
|
require 'rspec/rails'
|
6
|
-
require 'rspec/autorun'
|
6
|
+
# require 'rspec/autorun'
|
7
7
|
|
8
8
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
9
9
|
# in spec/support/ and its subdirectories.
|
10
|
-
Dir[Rails.root.join(
|
10
|
+
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
11
11
|
|
12
12
|
# Checks for pending migrations before tests are run.
|
13
13
|
# If you are not using ActiveRecord, you can remove this line.
|
@@ -15,7 +15,7 @@ ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
|
|
15
15
|
|
16
16
|
RSpec.configure do |config|
|
17
17
|
# clear the test log file before we start.
|
18
|
-
log_file = Rails.root.join(
|
18
|
+
log_file = Rails.root.join('log/test.log')
|
19
19
|
File.truncate(log_file, 0) if File.exist?(log_file)
|
20
20
|
|
21
21
|
config.include Devise::TestHelpers, type: :controller
|
@@ -47,8 +47,7 @@ RSpec.configure do |config|
|
|
47
47
|
# order dependency and want to debug it, you can fix the order by providing
|
48
48
|
# the seed, which is printed after each run.
|
49
49
|
# --seed 1234
|
50
|
-
config.order =
|
51
|
-
|
50
|
+
config.order = 'random'
|
52
51
|
|
53
52
|
# RSpec Rails can automatically mix in different behaviours to your tests
|
54
53
|
# based on their file location, for example enabling you to call `get` and
|
@@ -64,4 +63,4 @@ RSpec.configure do |config|
|
|
64
63
|
# The different available types are documented in the features, such as in
|
65
64
|
# https://relishapp.com/rspec/rspec-rails/docs
|
66
65
|
config.infer_spec_type_from_file_location!
|
67
|
-
end
|
66
|
+
end
|
@@ -1,21 +1,21 @@
|
|
1
1
|
RSpec.configure do |config|
|
2
|
-
config.before(:suite) do
|
3
|
-
|
4
|
-
end
|
5
|
-
|
6
|
-
config.before(:each) do
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
config.before(:each, :
|
2
|
+
# config.before(:suite) do
|
3
|
+
# DatabaseCleaner.clean_with(:truncation)
|
4
|
+
# end
|
5
|
+
#
|
6
|
+
# config.before(:each) do
|
7
|
+
# DatabaseCleaner.strategy = :transaction
|
8
|
+
# end
|
9
|
+
#
|
10
|
+
config.before(:each, js: true) do
|
11
11
|
DatabaseCleaner.strategy = :truncation
|
12
12
|
end
|
13
|
-
|
14
|
-
config.before(:each) do
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
config.after(:each) do
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
13
|
+
#
|
14
|
+
# config.before(:each) do
|
15
|
+
# DatabaseCleaner.start
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# config.after(:each) do
|
19
|
+
# DatabaseCleaner.clean
|
20
|
+
# end
|
21
|
+
end
|
data/lib/kitestrings/version.rb
CHANGED
@@ -18,6 +18,7 @@ describe Kitestrings::Generators::InstallGenerator do
|
|
18
18
|
context "check files" do
|
19
19
|
%w[
|
20
20
|
spec/rails_helper.rb
|
21
|
+
.rubocop.yml
|
21
22
|
config/deploy.rb
|
22
23
|
config/deploy/integ.rb
|
23
24
|
config/deploy/uat.rb
|
@@ -31,7 +32,7 @@ describe Kitestrings::Generators::InstallGenerator do
|
|
31
32
|
lib/templates/haml/scaffold/show.html.haml
|
32
33
|
lib/templates/rails/scaffold_controller/controller.rb
|
33
34
|
lib/templates/rspec/helper/helper_spec.rb
|
34
|
-
lib/templates/rspec/integration/
|
35
|
+
lib/templates/rspec/integration/request_spec.rb
|
35
36
|
lib/templates/rspec/model/model_spec.rb
|
36
37
|
lib/templates/rspec/scaffold/controller_spec.rb
|
37
38
|
lib/templates/rspec/scaffold/routing_spec.rb
|
@@ -49,6 +50,9 @@ describe Kitestrings::Generators::InstallGenerator do
|
|
49
50
|
it "inserted into application_controller" do
|
50
51
|
file_contents("app/controllers/application_controller.rb").should match(/rescue_from CanCan::AccessDenied/)
|
51
52
|
end
|
53
|
+
it "appended to db/seeds" do
|
54
|
+
file_contents("db/seeds.rb").should match(/Rake::Task/)
|
55
|
+
end
|
52
56
|
|
53
57
|
# otherwise it wants to run the specs in the tmp/spec directory
|
54
58
|
after(:all) { rm_rf(destination_root) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitestrings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Ridge
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-02-
|
13
|
+
date: 2015-02-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- lib/generators/templates/config/deploy/uat.rb
|
136
136
|
- lib/generators/templates/config/environments/integ.rb
|
137
137
|
- lib/generators/templates/config/environments/uat.rb
|
138
|
+
- lib/generators/templates/db/seeds.rb
|
138
139
|
- lib/generators/templates/haml/scaffold/_form.html.haml
|
139
140
|
- lib/generators/templates/haml/scaffold/edit.html.haml
|
140
141
|
- lib/generators/templates/haml/scaffold/index.html.haml
|
@@ -142,11 +143,13 @@ files:
|
|
142
143
|
- lib/generators/templates/haml/scaffold/show.html.haml
|
143
144
|
- lib/generators/templates/rails/scaffold_controller/controller.rb
|
144
145
|
- lib/generators/templates/rspec/helper/helper_spec.rb
|
145
|
-
- lib/generators/templates/rspec/integration/
|
146
|
+
- lib/generators/templates/rspec/integration/request_spec.rb
|
146
147
|
- lib/generators/templates/rspec/model/model_spec.rb
|
147
148
|
- lib/generators/templates/rspec/scaffold/controller_spec.rb
|
148
149
|
- lib/generators/templates/rspec/scaffold/routing_spec.rb
|
150
|
+
- lib/generators/templates/rubocop/.rubocop.yml
|
149
151
|
- lib/generators/templates/spec/rails_helper.rb
|
152
|
+
- lib/generators/templates/support/common_lets.rb
|
150
153
|
- lib/generators/templates/support/database_cleaner.rb
|
151
154
|
- lib/generators/templates/support/fracture.rb
|
152
155
|
- lib/generators/templates/support/render_views.rb
|
@@ -196,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
199
|
version: '0'
|
197
200
|
requirements: []
|
198
201
|
rubyforge_project:
|
199
|
-
rubygems_version: 2.
|
202
|
+
rubygems_version: 2.4.2
|
200
203
|
signing_key:
|
201
204
|
specification_version: 4
|
202
205
|
summary: For all the 2rk goodness
|