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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/lib/authorized_rails_scaffolds.rb +23 -6
  4. data/lib/authorized_rails_scaffolds/helper.rb +13 -54
  5. data/lib/authorized_rails_scaffolds/{controller_macros.rb → macros/controller_macros.rb} +1 -1
  6. data/lib/authorized_rails_scaffolds/{factory_macros.rb → macros/factory_macros.rb} +5 -5
  7. data/lib/authorized_rails_scaffolds/macros/parent_macros.rb +56 -0
  8. data/lib/authorized_rails_scaffolds/macros/path_macros.rb +70 -0
  9. data/lib/authorized_rails_scaffolds/macros/resource_macros.rb +53 -0
  10. data/lib/authorized_rails_scaffolds/macros/route_example_macros.rb +65 -0
  11. data/lib/authorized_rails_scaffolds/{test_var_macros.rb → macros/test_var_macros.rb} +9 -9
  12. data/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb +0 -25
  13. data/lib/authorized_rails_scaffolds/rails_helper_helper.rb +41 -0
  14. data/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb +27 -2
  15. data/lib/authorized_rails_scaffolds/rspec_integration_helper.rb +9 -0
  16. data/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb +8 -4
  17. data/lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb +5 -4
  18. data/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb +2 -2
  19. data/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper.rb +1 -1
  20. data/lib/authorized_rails_scaffolds/version.rb +1 -1
  21. data/lib/generators/authorized_rails_scaffolds/install_macros/install_macros_generator.rb +2 -1
  22. data/lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/USAGE +1 -0
  23. data/lib/generators/authorized_rails_scaffolds/install_macros/templates/devise_can_can/request_macros.rb +8 -0
  24. data/lib/generators/authorized_rails_scaffolds/install_templates/install_templates_generator.rb +14 -0
  25. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/_form.html.erb +2 -1
  26. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/controller.rb +68 -35
  27. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/helper.rb +25 -0
  28. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/index.html.erb +15 -15
  29. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/show.html.erb +1 -1
  30. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/controller_spec.rb +90 -84
  31. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/edit_spec.rb +37 -30
  32. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/index_spec.rb +56 -51
  33. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb +33 -26
  34. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/request_spec.rb +125 -0
  35. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb +12 -9
  36. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb +20 -17
  37. data/spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb +24 -23
  38. data/spec/lib/authorized_rails_scaffolds/rails_helper_helper_spec.rb +66 -0
  39. data/spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb +42 -0
  40. data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb +7 -7
  41. data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb +14 -14
  42. data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb +4 -4
  43. metadata +16 -7
  44. data/lib/authorized_rails_scaffolds/resource_macros.rb +0 -81
  45. 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 '#example_controller_path' do
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.example_controller_path.should eq('/foo_bars')
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.example_controller_path.should eq('/example/foo_bars')
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.example_controller_path.should eq('/example/v1/foo_bars')
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.example_controller_path.should eq('/parents/2/foo_bars')
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.example_controller_path.should eq('/example/parents/2/foo_bars')
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.example_controller_path.should eq('/example/v1/parents/2/foo_bars')
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.example_controller_path.should eq('/grandparents/2/parents/3/foo_bars')
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.example_controller_path.should eq('/example/grandparents/2/parents/3/foo_bars')
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 '#example_controller_path_extra_params' do
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.example_controller_path_extra_params.should eq('')
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.example_controller_path_extra_params.should eq('')
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.example_controller_path_extra_params.should eq(', :parent_id => "2"')
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.example_controller_path_extra_params.should eq(', :grandparent_id => "2", :parent_id => "3"')
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 '#parent_model_tables' do
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.parent_model_tables.should eq([])
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.parent_model_tables.should eq(['parent'])
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.parent_model_tables.should eq(['grandparent', 'parent'])
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.14
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-04-30 00:00:00.000000000 Z
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/resource_macros.rb
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