authorized_rails_scaffolds 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +13 -26
  3. data/lib/authorized_rails_scaffolds.rb +11 -2
  4. data/lib/authorized_rails_scaffolds/controller_macros.rb +22 -0
  5. data/lib/authorized_rails_scaffolds/factory_macros.rb +65 -0
  6. data/lib/authorized_rails_scaffolds/helper.rb +38 -115
  7. data/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb +40 -0
  8. data/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb +20 -0
  9. data/lib/authorized_rails_scaffolds/resource_macros.rb +81 -0
  10. data/lib/authorized_rails_scaffolds/route_example_macros.rb +43 -0
  11. data/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb +17 -0
  12. data/lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb +26 -0
  13. data/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb +12 -0
  14. data/lib/authorized_rails_scaffolds/{rspec_scaffold_generator_view_helper.rb → rspec_scaffold_view_helper.rb} +3 -2
  15. data/lib/authorized_rails_scaffolds/test_var_macros.rb +40 -0
  16. data/lib/authorized_rails_scaffolds/version.rb +1 -1
  17. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/_form.html.erb +4 -6
  18. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/controller.rb +50 -34
  19. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/edit.html.erb +2 -4
  20. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/index.html.erb +17 -18
  21. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/new.html.erb +2 -4
  22. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/show.html.erb +15 -17
  23. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/controller_spec.rb +126 -101
  24. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/edit_spec.rb +44 -39
  25. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/index_spec.rb +73 -65
  26. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/model_spec.rb +9 -8
  27. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb +38 -35
  28. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb +21 -10
  29. data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb +37 -20
  30. data/spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb +59 -0
  31. data/spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb +89 -0
  32. data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb +155 -0
  33. data/spec/lib/authorized_rails_scaffolds/{rspec_scaffold_generator_helper_spec.rb → rspec_scaffold_routing_helper_spec.rb} +57 -50
  34. data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb +86 -0
  35. data/spec/spec_helper.rb +5 -2
  36. data/spec/support/rails_erb_scaffold_helper_macros.rb +15 -0
  37. data/spec/support/rails_scaffold_controller_helper_macros.rb +15 -0
  38. data/spec/support/{rspec_scaffold_generator_helper_macros.rb → rspec_scaffold_controller_helper_macros.rb} +2 -2
  39. data/spec/support/rspec_scaffold_routing_helper_macros.rb +15 -0
  40. data/spec/support/rspec_scaffold_view_helper_macros.rb +15 -0
  41. metadata +66 -28
  42. data/lib/authorized_rails_scaffolds/rspec_scaffold_generator_helper.rb +0 -82
@@ -0,0 +1,15 @@
1
+
2
+ module RailsErbScaffoldHelperMacros
3
+
4
+ def build_rails_erb_scaffold_spec_helper(options = {})
5
+ defaults = {
6
+ class_name: 'Scaffold::Example', # Model class name
7
+ singular_table_name: 'scaffold_example', # path and model name
8
+ file_name: 'example', # last part of singular_table_name
9
+ attributes: [],
10
+ }
11
+ defaults.merge! options
12
+ AuthorizedRailsScaffolds::RailsErbScaffoldHelper.new(defaults)
13
+ end
14
+
15
+ end
@@ -0,0 +1,15 @@
1
+
2
+ module RailsScaffoldControllerHelperMacros
3
+
4
+ def build_rails_controller_spec_helper(options = {})
5
+ defaults = {
6
+ class_name: 'Scaffold::Example', # Model class name
7
+ singular_table_name: 'scaffold_example', # path and model name
8
+ file_name: 'example', # last part of singular_table_name
9
+ attributes: [],
10
+ }
11
+ defaults.merge! options
12
+ AuthorizedRailsScaffolds::RailsScaffoldControllerHelper.new(defaults)
13
+ end
14
+
15
+ end
@@ -1,5 +1,5 @@
1
1
 
2
- module RSpecScaffoldGeneratorHelperMacros
2
+ module RSpecScaffoldControllerHelperMacros
3
3
 
4
4
  def build_controller_spec_helper(args = {})
5
5
  defaults = {
@@ -9,7 +9,7 @@ module RSpecScaffoldGeneratorHelperMacros
9
9
  attributes: [],
10
10
  }
11
11
  defaults.merge! (args)
12
- AuthorizedRailsScaffolds::RSpecScaffoldGeneratorHelper.new(defaults)
12
+ AuthorizedRailsScaffolds::RSpecScaffoldControllerHelper.new(defaults)
13
13
  end
14
14
 
15
15
  end
@@ -0,0 +1,15 @@
1
+
2
+ module RSpecScaffoldRoutingHelperMacros
3
+
4
+ def build_routing_spec_helper(args = {})
5
+ defaults = {
6
+ class_name: 'Scaffold::Example', # Model class name
7
+ singular_table_name: 'scaffold_example', # path and model name
8
+ file_name: 'example', # last part of singular_table_name
9
+ attributes: [],
10
+ }
11
+ defaults.merge! (args)
12
+ AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper.new(defaults)
13
+ end
14
+
15
+ end
@@ -0,0 +1,15 @@
1
+
2
+ module RSpecScaffoldViewHelperMacros
3
+
4
+ def build_view_spec_helper(args = {})
5
+ defaults = {
6
+ class_name: 'Scaffold::Example', # Model class name
7
+ singular_table_name: 'scaffold_example', # path and model name
8
+ file_name: 'example', # last part of singular_table_name
9
+ attributes: [],
10
+ }
11
+ defaults.merge! (args)
12
+ AuthorizedRailsScaffolds::RSpecScaffoldViewHelper.new(defaults)
13
+ end
14
+
15
+ end
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authorized_rails_scaffolds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
5
- prerelease:
4
+ version: 0.0.11
6
5
  platform: ruby
7
6
  authors:
8
7
  - bmorrall
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-25 00:00:00.000000000Z
11
+ date: 2013-04-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: railties
16
- requirement: &70301980494120 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.1'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70301980494120
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rails
27
- requirement: &70301980493620 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ! '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '3.1'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70301980493620
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: bundler
38
- requirement: &70301980493160 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
47
  version: '1.3'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70301980493160
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rake
49
- requirement: &70301980492780 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70301980492780
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rspec
60
- requirement: &70301980492320 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
73
  - - ! '>='
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70301980492320
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Creates scaffolds for Twitter Bootstrap with generated RSpec coverage
70
84
  email:
71
85
  - bemo56@hotmail.com
@@ -80,9 +94,18 @@ files:
80
94
  - Rakefile
81
95
  - authorized_rails_scaffolds.gemspec
82
96
  - lib/authorized_rails_scaffolds.rb
97
+ - lib/authorized_rails_scaffolds/controller_macros.rb
98
+ - lib/authorized_rails_scaffolds/factory_macros.rb
83
99
  - lib/authorized_rails_scaffolds/helper.rb
84
- - lib/authorized_rails_scaffolds/rspec_scaffold_generator_helper.rb
85
- - lib/authorized_rails_scaffolds/rspec_scaffold_generator_view_helper.rb
100
+ - lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb
101
+ - 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
104
+ - lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb
105
+ - lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb
106
+ - lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb
107
+ - lib/authorized_rails_scaffolds/rspec_scaffold_view_helper.rb
108
+ - lib/authorized_rails_scaffolds/test_var_macros.rb
86
109
  - lib/authorized_rails_scaffolds/version.rb
87
110
  - lib/generators/authorized_rails_scaffolds/install_macros/USAGE
88
111
  - lib/generators/authorized_rails_scaffolds/install_macros/install_macros_generator.rb
@@ -103,36 +126,51 @@ files:
103
126
  - lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb
104
127
  - lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb
105
128
  - lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb
106
- - spec/lib/authorized_rails_scaffolds/rspec_scaffold_generator_helper_spec.rb
129
+ - spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb
130
+ - spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb
131
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb
132
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb
133
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb
107
134
  - spec/spec_helper.rb
108
- - spec/support/rspec_scaffold_generator_helper_macros.rb
135
+ - spec/support/rails_erb_scaffold_helper_macros.rb
136
+ - spec/support/rails_scaffold_controller_helper_macros.rb
137
+ - spec/support/rspec_scaffold_controller_helper_macros.rb
138
+ - spec/support/rspec_scaffold_routing_helper_macros.rb
139
+ - spec/support/rspec_scaffold_view_helper_macros.rb
109
140
  homepage: https://github.com/bmorrall/authorized_rails_scaffolds
110
141
  licenses:
111
142
  - MIT
143
+ metadata: {}
112
144
  post_install_message:
113
145
  rdoc_options: []
114
146
  require_paths:
115
147
  - lib
116
148
  required_ruby_version: !ruby/object:Gem::Requirement
117
- none: false
118
149
  requirements:
119
150
  - - ! '>='
120
151
  - !ruby/object:Gem::Version
121
152
  version: '0'
122
153
  required_rubygems_version: !ruby/object:Gem::Requirement
123
- none: false
124
154
  requirements:
125
155
  - - ! '>='
126
156
  - !ruby/object:Gem::Version
127
157
  version: '0'
128
158
  requirements: []
129
159
  rubyforge_project:
130
- rubygems_version: 1.8.10
160
+ rubygems_version: 2.0.3
131
161
  signing_key:
132
- specification_version: 3
162
+ specification_version: 4
133
163
  summary: Replaces Rails and RSpec's default generators with templates taking full
134
164
  advantage of Authentication (Devise), Authorization (CanCan) and Test Coverage (RSpec)
135
165
  test_files:
136
- - spec/lib/authorized_rails_scaffolds/rspec_scaffold_generator_helper_spec.rb
166
+ - spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb
167
+ - spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb
168
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb
169
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper_spec.rb
170
+ - spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb
137
171
  - spec/spec_helper.rb
138
- - spec/support/rspec_scaffold_generator_helper_macros.rb
172
+ - spec/support/rails_erb_scaffold_helper_macros.rb
173
+ - spec/support/rails_scaffold_controller_helper_macros.rb
174
+ - spec/support/rspec_scaffold_controller_helper_macros.rb
175
+ - spec/support/rspec_scaffold_routing_helper_macros.rb
176
+ - spec/support/rspec_scaffold_view_helper_macros.rb
@@ -1,82 +0,0 @@
1
- class AuthorizedRailsScaffolds::RSpecScaffoldGeneratorHelper < AuthorizedRailsScaffolds::Helper
2
-
3
- def initialize(options = {})
4
- super options
5
-
6
- parent_models = AuthorizedRailsScaffolds.config.parent_models
7
-
8
- class_name_parts = (options[:class_name] || options[:local_class_name]).split("::")
9
-
10
- example_parent_values = {}
11
- parent_models.each_with_index do |parent_model, index|
12
- example_parent_values[parent_model] = index + 2
13
- end
14
-
15
- namespace_prefix_modules = class_name_parts[0..-2] # ['Example', 'V1']
16
- local_class_name = class_name_parts[-1]
17
-
18
- parent_model_and_value_parts = []
19
- parent_model_param_parts = []
20
- parent_models.each do |parent_model|
21
- parent_value = example_parent_values[parent_model]
22
-
23
- # User, 2
24
- parent_model_and_value_parts << parent_model.pluralize
25
- parent_model_and_value_parts << parent_value
26
-
27
- parent_model_param_parts << "#{parent_model.underscore}_id => #{parent_value}"
28
- end
29
-
30
- # Directory for the generated controller: i.e. awesome/foo_bars
31
- @controller_directory = [namespace_prefix_modules + [local_class_name.pluralize]].join("/").underscore
32
-
33
- # Example index route: i.e. /awesome/users/2/foo_bars
34
- @example_controller_path = [namespace_prefix_modules + parent_model_and_value_parts + [local_class_name.pluralize]].join("/").underscore
35
-
36
- @example_controller_path_extra_params = parent_model_param_parts.any? ? ", :#{parent_model_param_parts.join(', :')}" : ''
37
-
38
- @attributes = options[:attributes]
39
- end
40
-
41
- def create_factory_model
42
- extra_params = extra_model_params
43
- "FactoryGirl.create(:#{var_name}#{extra_params})"
44
- end
45
-
46
- def create_parent_model(model_name)
47
- extra_params = extra_model_params(model_name)
48
- "FactoryGirl.create(:#{model_name}#{extra_params})"
49
- end
50
-
51
- # Directory for the generated controller: i.e. awesome/foo_bars
52
- def controller_directory
53
- @controller_directory
54
- end
55
-
56
- # Example index route: i.e. /awesome/users/2/foo_bars
57
- def example_controller_path
58
- "/#{@example_controller_path}"
59
- end
60
-
61
- # Extra params for an example controller path: i.e. ', :user_id => 2'
62
- def example_controller_path_extra_params
63
- @example_controller_path_extra_params
64
- end
65
-
66
- def parent_model_tables
67
- @parent_model_tables ||= AuthorizedRailsScaffolds.config.parent_models.map { |model| model.underscore }
68
- end
69
-
70
- protected
71
-
72
- def extra_model_params(model_name = nil)
73
- argument_params = []
74
- AuthorizedRailsScaffolds.config.parent_models.each do |parent_model|
75
- attribute = parent_model.underscore
76
- break if model_name == attribute
77
- argument_params << ", :#{attribute} => @#{attribute}"
78
- end
79
- argument_params.join('')
80
- end
81
-
82
- end