authorized_rails_scaffolds 0.0.14 → 0.0.15
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.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/lib/authorized_rails_scaffolds.rb +23 -6
- data/lib/authorized_rails_scaffolds/helper.rb +13 -54
- data/lib/authorized_rails_scaffolds/{controller_macros.rb → macros/controller_macros.rb} +1 -1
- data/lib/authorized_rails_scaffolds/{factory_macros.rb → macros/factory_macros.rb} +5 -5
- data/lib/authorized_rails_scaffolds/macros/parent_macros.rb +56 -0
- data/lib/authorized_rails_scaffolds/macros/path_macros.rb +70 -0
- data/lib/authorized_rails_scaffolds/macros/resource_macros.rb +53 -0
- data/lib/authorized_rails_scaffolds/macros/route_example_macros.rb +65 -0
- data/lib/authorized_rails_scaffolds/{test_var_macros.rb → macros/test_var_macros.rb} +9 -9
- data/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb +0 -25
- data/lib/authorized_rails_scaffolds/rails_helper_helper.rb +41 -0
- data/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb +27 -2
- data/lib/authorized_rails_scaffolds/rspec_integration_helper.rb +9 -0
- data/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb +8 -4
- data/lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb +5 -4
- data/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb +2 -2
- data/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper.rb +1 -1
- data/lib/authorized_rails_scaffolds/version.rb +1 -1
- data/lib/generators/authorized_rails_scaffolds/install_macros/install_macros_generator.rb +2 -1
- data/lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/USAGE +1 -0
- data/lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/request_macros.rb +8 -0
- data/lib/generators/authorized_rails_scaffolds/install_templates/install_templates_generator.rb +14 -0
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/_form.html.erb +2 -1
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/controller.rb +68 -35
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/helper.rb +25 -0
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/index.html.erb +15 -15
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/show.html.erb +1 -1
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/controller_spec.rb +90 -84
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/edit_spec.rb +37 -30
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/index_spec.rb +56 -51
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb +33 -26
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/request_spec.rb +125 -0
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb +12 -9
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb +20 -17
- data/spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb +24 -23
- data/spec/lib/authorized_rails_scaffolds/rails_helper_helper_spec.rb +66 -0
- data/spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb +42 -0
- data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb +7 -7
- data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb +14 -14
- data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb +4 -4
- metadata +16 -7
- data/lib/authorized_rails_scaffolds/resource_macros.rb +0 -81
- data/lib/authorized_rails_scaffolds/route_example_macros.rb +0 -43
@@ -41,18 +41,18 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper do
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
describe '#
|
44
|
+
describe '#example_index_path' do
|
45
45
|
it 'underscores the class_name value' do
|
46
46
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
47
|
-
subject.
|
47
|
+
subject.example_index_path.should eq('/foo_bars')
|
48
48
|
end
|
49
49
|
it 'adds parent_models to the file path' do
|
50
50
|
subject = build_routing_spec_helper :class_name => 'Example::FooBar'
|
51
|
-
subject.
|
51
|
+
subject.example_index_path.should eq('/example/foo_bars')
|
52
52
|
end
|
53
53
|
it 'adds multiple parent_models to the file path' do
|
54
54
|
subject = build_routing_spec_helper :class_name => 'Example::V1::FooBar'
|
55
|
-
subject.
|
55
|
+
subject.example_index_path.should eq('/example/v1/foo_bars')
|
56
56
|
end
|
57
57
|
context 'with a parent model' do
|
58
58
|
before(:each) do
|
@@ -62,15 +62,15 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper do
|
|
62
62
|
end
|
63
63
|
it 'adds the parent model before the class name' do
|
64
64
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
65
|
-
subject.
|
65
|
+
subject.example_index_path.should eq('/parents/2/foo_bars')
|
66
66
|
end
|
67
67
|
it 'adds the parent model after the parent module' do
|
68
68
|
subject = build_routing_spec_helper :class_name => 'Example::FooBar'
|
69
|
-
subject.
|
69
|
+
subject.example_index_path.should eq('/example/parents/2/foo_bars')
|
70
70
|
end
|
71
71
|
it 'adds the parent model after multiple parent module' do
|
72
72
|
subject = build_routing_spec_helper :class_name => 'Example::V1::FooBar'
|
73
|
-
subject.
|
73
|
+
subject.example_index_path.should eq('/example/v1/parents/2/foo_bars')
|
74
74
|
end
|
75
75
|
end
|
76
76
|
context 'with multiple parent models' do
|
@@ -80,25 +80,25 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper do
|
|
80
80
|
end
|
81
81
|
it 'adds the parent models before the class name' do
|
82
82
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
83
|
-
subject.
|
83
|
+
subject.example_index_path.should eq('/grandparents/2/parents/3/foo_bars')
|
84
84
|
end
|
85
85
|
it 'adds the parent models after the parent module' do
|
86
86
|
subject = build_routing_spec_helper :class_name => 'Example::FooBar'
|
87
|
-
subject.
|
87
|
+
subject.example_index_path.should eq('/example/grandparents/2/parents/3/foo_bars')
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
describe '#
|
93
|
+
describe '#example_index_path_extra_params' do
|
94
94
|
context 'with no parent models' do
|
95
95
|
it 'returns an empty string with no parent module' do
|
96
96
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
97
|
-
subject.
|
97
|
+
subject.example_index_path_extra_params.should eq('')
|
98
98
|
end
|
99
99
|
it 'returns an empty string with a parent module' do
|
100
100
|
subject = build_routing_spec_helper :class_name => 'Example::FooBar'
|
101
|
-
subject.
|
101
|
+
subject.example_index_path_extra_params.should eq('')
|
102
102
|
end
|
103
103
|
end
|
104
104
|
context 'with a parent model' do
|
@@ -109,7 +109,7 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper do
|
|
109
109
|
end
|
110
110
|
it 'adds the parent model with a value assigned to it' do
|
111
111
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
112
|
-
subject.
|
112
|
+
subject.example_index_path_extra_params.should eq(', :parent_id => "2"')
|
113
113
|
end
|
114
114
|
end
|
115
115
|
context 'with multiple parent models' do
|
@@ -120,7 +120,7 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper do
|
|
120
120
|
end
|
121
121
|
it 'adds the parent models with their values' do
|
122
122
|
subject = build_routing_spec_helper :class_name => 'FooBar'
|
123
|
-
subject.
|
123
|
+
subject.example_index_path_extra_params.should eq(', :grandparent_id => "2", :parent_id => "3"')
|
124
124
|
end
|
125
125
|
end
|
126
126
|
end
|
@@ -4,11 +4,11 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldViewHelper do
|
|
4
4
|
include RSpecScaffoldViewHelperMacros
|
5
5
|
pending
|
6
6
|
|
7
|
-
describe '#
|
7
|
+
describe '#parent_model_names' do
|
8
8
|
context 'with no parent_models' do
|
9
9
|
it 'returns an empty array' do
|
10
10
|
subject = build_view_spec_helper
|
11
|
-
subject.
|
11
|
+
subject.parent_model_names.should eq([])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
context 'with a parent model' do
|
@@ -19,7 +19,7 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldViewHelper do
|
|
19
19
|
end
|
20
20
|
it 'returns an array containing the models table name' do
|
21
21
|
subject = build_view_spec_helper
|
22
|
-
subject.
|
22
|
+
subject.parent_model_names.should eq(['parent'])
|
23
23
|
end
|
24
24
|
end
|
25
25
|
context 'with multiple parent models' do
|
@@ -30,7 +30,7 @@ describe AuthorizedRailsScaffolds::RSpecScaffoldViewHelper do
|
|
30
30
|
end
|
31
31
|
it 'returns an array containing all model table names' do
|
32
32
|
subject = build_view_spec_helper
|
33
|
-
subject.
|
33
|
+
subject.parent_model_names.should eq(['grandparent', 'parent'])
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authorized_rails_scaffolds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- bmorrall
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -94,28 +94,34 @@ files:
|
|
94
94
|
- Rakefile
|
95
95
|
- authorized_rails_scaffolds.gemspec
|
96
96
|
- lib/authorized_rails_scaffolds.rb
|
97
|
-
- lib/authorized_rails_scaffolds/controller_macros.rb
|
98
|
-
- lib/authorized_rails_scaffolds/factory_macros.rb
|
99
97
|
- lib/authorized_rails_scaffolds/helper.rb
|
98
|
+
- lib/authorized_rails_scaffolds/macros/controller_macros.rb
|
99
|
+
- lib/authorized_rails_scaffolds/macros/factory_macros.rb
|
100
|
+
- lib/authorized_rails_scaffolds/macros/parent_macros.rb
|
101
|
+
- lib/authorized_rails_scaffolds/macros/path_macros.rb
|
102
|
+
- lib/authorized_rails_scaffolds/macros/resource_macros.rb
|
103
|
+
- lib/authorized_rails_scaffolds/macros/route_example_macros.rb
|
104
|
+
- lib/authorized_rails_scaffolds/macros/test_var_macros.rb
|
100
105
|
- lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb
|
106
|
+
- lib/authorized_rails_scaffolds/rails_helper_helper.rb
|
101
107
|
- lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb
|
102
|
-
- lib/authorized_rails_scaffolds/
|
103
|
-
- lib/authorized_rails_scaffolds/route_example_macros.rb
|
108
|
+
- lib/authorized_rails_scaffolds/rspec_integration_helper.rb
|
104
109
|
- lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb
|
105
110
|
- lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb
|
106
111
|
- lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb
|
107
112
|
- lib/authorized_rails_scaffolds/rspec_scaffold_view_helper.rb
|
108
|
-
- lib/authorized_rails_scaffolds/test_var_macros.rb
|
109
113
|
- lib/authorized_rails_scaffolds/version.rb
|
110
114
|
- lib/generators/authorized_rails_scaffolds/install_macros/USAGE
|
111
115
|
- lib/generators/authorized_rails_scaffolds/install_macros/install_macros_generator.rb
|
112
116
|
- lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/USAGE
|
113
117
|
- lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/controller_macros.rb
|
118
|
+
- lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/request_macros.rb
|
114
119
|
- lib/generators/authorized_rails_scaffolds/install_templates/USAGE
|
115
120
|
- lib/generators/authorized_rails_scaffolds/install_templates/install_templates_generator.rb
|
116
121
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/_form.html.erb
|
117
122
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/controller.rb
|
118
123
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/edit.html.erb
|
124
|
+
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/helper.rb
|
119
125
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/index.html.erb
|
120
126
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/new.html.erb
|
121
127
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/show.html.erb
|
@@ -124,9 +130,11 @@ files:
|
|
124
130
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/index_spec.rb
|
125
131
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/model_spec.rb
|
126
132
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb
|
133
|
+
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/request_spec.rb
|
127
134
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb
|
128
135
|
- lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb
|
129
136
|
- spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb
|
137
|
+
- spec/lib/authorized_rails_scaffolds/rails_helper_helper_spec.rb
|
130
138
|
- spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb
|
131
139
|
- spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb
|
132
140
|
- spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb
|
@@ -164,6 +172,7 @@ summary: Replaces Rails and RSpec's default generators with templates taking ful
|
|
164
172
|
advantage of Authentication (Devise), Authorization (CanCan) and Test Coverage (RSpec)
|
165
173
|
test_files:
|
166
174
|
- spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb
|
175
|
+
- spec/lib/authorized_rails_scaffolds/rails_helper_helper_spec.rb
|
167
176
|
- spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb
|
168
177
|
- spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb
|
169
178
|
- spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb
|
@@ -1,81 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# requires modular_class_name to be defined
|
3
|
-
#
|
4
|
-
module ResourceMacros
|
5
|
-
|
6
|
-
### Base Resource ###
|
7
|
-
|
8
|
-
# Class name of the resource being tested (i.e. 'FooBar')
|
9
|
-
def resource_class
|
10
|
-
# @local_class_name
|
11
|
-
@resource_class ||= (modular_class_name.nil? ? nil : modular_class_name.split('::')[-1]) || var_name.classify
|
12
|
-
end
|
13
|
-
|
14
|
-
# Table name of the Resource being tested (i.e. foo_bar)
|
15
|
-
def resource_table_name
|
16
|
-
@resource_table_name ||= (var_name || resource_class.underscore)
|
17
|
-
end
|
18
|
-
|
19
|
-
# Symbol used to represent resource (i.e. :foo_bar)
|
20
|
-
def resource_symbol
|
21
|
-
":#{resource_table_name}"
|
22
|
-
end
|
23
|
-
|
24
|
-
# Name for plural of a resource
|
25
|
-
def resource_plural_name
|
26
|
-
@resource_plural_name ||= (plural_var_name || resource_table_name.pluralize)
|
27
|
-
end
|
28
|
-
|
29
|
-
def resource_plural_sym
|
30
|
-
":#{resource_plural_name}"
|
31
|
-
end
|
32
|
-
|
33
|
-
# Variable resource is assigned to in a singular context (i.e. @foo_bar)
|
34
|
-
def resource_var
|
35
|
-
@resource_var_name ||= "@#{resource_table_name}"
|
36
|
-
end
|
37
|
-
|
38
|
-
# Variable resource is assigned to in a plural context (i.e. @foo_bars)
|
39
|
-
def resources_var
|
40
|
-
@resource_var_name ||= "@#{resource_plural_name}"
|
41
|
-
end
|
42
|
-
|
43
|
-
# Directory of the current resource: i.e. awesome/foo_bars
|
44
|
-
def resource_directory
|
45
|
-
@resource_directory = ((parent_module_groups || []) + [resource_plural_name]).join("/")
|
46
|
-
end
|
47
|
-
|
48
|
-
### Parent Models ###
|
49
|
-
|
50
|
-
# An array of parent model classes (i.e. ['User', 'Category])
|
51
|
-
def parent_models
|
52
|
-
@parent_models ||= AuthorizedRailsScaffolds.config.parent_models
|
53
|
-
end
|
54
|
-
|
55
|
-
# Table names of parent models (i.e. ['user', 'category'])
|
56
|
-
def parent_model_tables
|
57
|
-
@parent_model_tables ||= parent_models.map { |model| model.underscore }
|
58
|
-
end
|
59
|
-
|
60
|
-
# Variable name used to save a parent_table_name
|
61
|
-
def parent_variable(parent_table_name)
|
62
|
-
"@#{parent_table_name}"
|
63
|
-
end
|
64
|
-
|
65
|
-
def parent_sym(parent_table_name)
|
66
|
-
":#{parent_table_name}"
|
67
|
-
end
|
68
|
-
|
69
|
-
### Parent Modules ###
|
70
|
-
|
71
|
-
# The parent modules of a controller (i.e. ['Api', 'V1'])
|
72
|
-
def parent_modules
|
73
|
-
@parent_modules ||= modular_class_name.nil? ? [] : modular_class_name.split('::')[0..-2]
|
74
|
-
end
|
75
|
-
|
76
|
-
# Array of symbols used for links to parents (i.e. ['api', 'v1'])
|
77
|
-
def parent_module_groups
|
78
|
-
@parent_module_groups ||= parent_modules.map { |parent_module| parent_module.underscore }
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module RouteExampleMacros
|
2
|
-
|
3
|
-
# Example index route: i.e. /awesome/users/2/foo_bars
|
4
|
-
def example_controller_path
|
5
|
-
unless @example_controller_path
|
6
|
-
example_controller_path_parts = []
|
7
|
-
|
8
|
-
parent_model_tables.each do |parent_model|
|
9
|
-
# users, 2
|
10
|
-
parent_value = example_parent_values["#{parent_model}_id"]
|
11
|
-
example_controller_path_parts << parent_model.pluralize
|
12
|
-
example_controller_path_parts << parent_value
|
13
|
-
end
|
14
|
-
|
15
|
-
# Example index route: i.e. /awesome/users/2/foo_bars
|
16
|
-
@example_controller_path = [parent_module_groups + example_controller_path_parts + [resource_table_name.pluralize]].join("/")
|
17
|
-
end
|
18
|
-
"/#{@example_controller_path}"
|
19
|
-
end
|
20
|
-
|
21
|
-
# Extra params for an example controller path: i.e. ', :user_id => 2'
|
22
|
-
def example_controller_path_extra_params
|
23
|
-
@example_controller_path_extra_params ||= example_parent_values.any? ? ', ' + example_parent_values.map{ |parent_model_id, parent_value| ":#{parent_model_id} => \"#{parent_value}\"" }.join(', ') : ''
|
24
|
-
end
|
25
|
-
|
26
|
-
def example_route_extra_params
|
27
|
-
@example_route_extra_params ||= parent_model_tables.collect{ |parent_table| ":#{parent_table}_id => #{references_test_property(parent_table)}.to_param" }
|
28
|
-
end
|
29
|
-
|
30
|
-
protected
|
31
|
-
|
32
|
-
# Creates example values for parent id params (i.e. :user_id => 2)
|
33
|
-
def example_parent_values
|
34
|
-
unless @example_parent_values
|
35
|
-
@example_parent_values = {}
|
36
|
-
parent_model_tables.each_with_index do |parent_model, index|
|
37
|
-
@example_parent_values["#{parent_model}_id"] = index + 2
|
38
|
-
end
|
39
|
-
end
|
40
|
-
@example_parent_values
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|