orthodox 0.2.3

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 (85) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +221 -0
  6. data/Rakefile +2 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/dummy/.gitignore +30 -0
  10. data/dummy/.ruby-version +1 -0
  11. data/dummy/Gemfile +64 -0
  12. data/dummy/Gemfile.lock +234 -0
  13. data/dummy/README.md +24 -0
  14. data/dummy/Rakefile +6 -0
  15. data/dummy/app/channels/application_cable/channel.rb +4 -0
  16. data/dummy/app/channels/application_cable/connection.rb +4 -0
  17. data/dummy/app/controllers/application_controller.rb +2 -0
  18. data/dummy/app/controllers/concerns/.keep +0 -0
  19. data/dummy/app/helpers/application_helper.rb +2 -0
  20. data/dummy/app/jobs/application_job.rb +2 -0
  21. data/dummy/app/mailers/application_mailer.rb +4 -0
  22. data/dummy/app/models/application_record.rb +3 -0
  23. data/dummy/app/models/concerns/.keep +0 -0
  24. data/dummy/app/views/layouts/application.html.erb +15 -0
  25. data/dummy/app/views/layouts/mailer.html.erb +13 -0
  26. data/dummy/app/views/layouts/mailer.text.erb +1 -0
  27. data/dummy/bin/bundle +3 -0
  28. data/dummy/bin/rails +9 -0
  29. data/dummy/bin/rake +9 -0
  30. data/dummy/bin/setup +36 -0
  31. data/dummy/bin/spring +17 -0
  32. data/dummy/bin/update +31 -0
  33. data/dummy/bin/yarn +11 -0
  34. data/dummy/config.ru +5 -0
  35. data/dummy/config/application.rb +19 -0
  36. data/dummy/config/boot.rb +4 -0
  37. data/dummy/config/cable.yml +10 -0
  38. data/dummy/config/credentials.yml.enc +1 -0
  39. data/dummy/config/database.yml +25 -0
  40. data/dummy/config/environment.rb +5 -0
  41. data/dummy/config/environments/development.rb +61 -0
  42. data/dummy/config/environments/production.rb +94 -0
  43. data/dummy/config/environments/test.rb +46 -0
  44. data/dummy/config/initializers/application_controller_renderer.rb +8 -0
  45. data/dummy/config/initializers/assets.rb +14 -0
  46. data/dummy/config/initializers/backtrace_silencers.rb +7 -0
  47. data/dummy/config/initializers/content_security_policy.rb +25 -0
  48. data/dummy/config/initializers/cookies_serializer.rb +5 -0
  49. data/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  50. data/dummy/config/initializers/inflections.rb +16 -0
  51. data/dummy/config/initializers/mime_types.rb +4 -0
  52. data/dummy/config/initializers/wrap_parameters.rb +14 -0
  53. data/dummy/config/locales/en.yml +33 -0
  54. data/dummy/config/puma.rb +34 -0
  55. data/dummy/config/routes.rb +3 -0
  56. data/dummy/config/spring.rb +6 -0
  57. data/dummy/config/storage.yml +34 -0
  58. data/dummy/db/seeds.rb +7 -0
  59. data/dummy/lib/assets/.keep +0 -0
  60. data/dummy/lib/tasks/.keep +0 -0
  61. data/dummy/log/.keep +0 -0
  62. data/dummy/package.json +5 -0
  63. data/dummy/public/404.html +67 -0
  64. data/dummy/public/422.html +67 -0
  65. data/dummy/public/500.html +66 -0
  66. data/dummy/public/apple-touch-icon-precomposed.png +0 -0
  67. data/dummy/public/apple-touch-icon.png +0 -0
  68. data/dummy/public/favicon.ico +0 -0
  69. data/dummy/public/robots.txt +1 -0
  70. data/dummy/tmp/.keep +0 -0
  71. data/lib/generators/coffeescript/USAGE +8 -0
  72. data/lib/generators/coffeescript/coffeescript_generator.rb +47 -0
  73. data/lib/generators/coffeescript/templates/coffeescript.coffee.erb +15 -0
  74. data/lib/generators/controller/USAGE +11 -0
  75. data/lib/generators/controller/controller_generator.rb +75 -0
  76. data/lib/generators/controller/templates/controller.rb.erb +75 -0
  77. data/lib/generators/controller/templates/view.html.slim +5 -0
  78. data/lib/generators/sass/USAGE +8 -0
  79. data/lib/generators/sass/sass_generator.rb +46 -0
  80. data/lib/generators/sass/templates/sass.sass.erb +8 -0
  81. data/lib/orthodox.rb +5 -0
  82. data/lib/orthodox/railtie.rb +12 -0
  83. data/lib/orthodox/version.rb +3 -0
  84. data/orthodox.gemspec +29 -0
  85. metadata +205 -0
File without changes
File without changes
@@ -0,0 +1 @@
1
+ # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
File without changes
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Generates a coffeescript file set up to write a new modular block
3
+
4
+ Example:
5
+ rails generate coffeescript users load_all
6
+
7
+ This will create:
8
+ app/assets/javascripts/packs/_users.coffee (with a function named loadAll)
@@ -0,0 +1,47 @@
1
+ require 'rails/generators'
2
+ class CoffeescriptGenerator < Rails::Generators::NamedBase
3
+
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ desc "This generator creates a coffee script file at"\
7
+ " app/assets/javascripts/partials"
8
+
9
+ argument :functions, type: :array, default: [],
10
+ banner: "functionOne functionTwo"
11
+
12
+ attr_reader :namespace
13
+
14
+ def copy_template_file
15
+ @namespace = class_name.split("::")
16
+ @namespace.pop
17
+ @namespace = @namespace.join("::")
18
+ template "coffeescript.coffee.erb", file_path
19
+ end
20
+
21
+ private
22
+
23
+ def function_name
24
+ file_name.camelize(:lower)
25
+ end
26
+
27
+ def partial_file_name
28
+ "_#{file_name}"
29
+ end
30
+
31
+ def file_path
32
+ Rails.root.join("app/assets/javascripts/packs",
33
+ partial_file_name + ".coffee")
34
+ end
35
+
36
+ def namespace_path
37
+ if namespace.blank?
38
+ return ""
39
+ else
40
+ namespace.split("::").map(&:underscore).join("/") + "/"
41
+ end
42
+ end
43
+
44
+ def singular_name
45
+ super.singularize
46
+ end
47
+ end
@@ -0,0 +1,15 @@
1
+ window.<%= function_name %> = do ->
2
+
3
+ init = ->
4
+ # Write your code here...
5
+
6
+ <%- functions.each do |functionName| %>
7
+ <%= functionName.camelize(:lower) %> = ->
8
+ # Write your function here...
9
+ <%- end -%>
10
+
11
+ # Add any functions you'd like to make public here:
12
+ return { init }
13
+
14
+ # Optionally: Call init on jQuery load
15
+ # jQuery <%= function_name %>.init
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Replaces the Rails default controller generator with a cleaner, controller. Includes non-template actions, authentication, and SLIM templates
3
+
4
+ Example:
5
+ rails generate controller users new create show index --authenticate admin
6
+
7
+ This will create:
8
+ app/controllers/users_controller.rb
9
+ app/views/users/new.html.slim
10
+ app/views/users/show.html.slim
11
+ app/views/users/index.html.slim
@@ -0,0 +1,75 @@
1
+ require 'rails/generators'
2
+ class ControllerGenerator < Rails::Generators::NamedBase
3
+
4
+ check_class_collision suffix: "Controller"
5
+
6
+ source_root File.expand_path('../templates', __FILE__)
7
+
8
+ desc "This generator creates an initializer file at config/initializers"
9
+
10
+ argument :actions, type: :array, default: [], banner: "action action"
11
+
12
+ class_option :authenticate, type: :string, default: nil
13
+
14
+ NON_TEMPLATE_ACTIONS = %w[create update destroy]
15
+
16
+ attr_reader :namespace
17
+
18
+ def copy_template_file
19
+ @namespace = class_name.split("::")
20
+ @namespace.pop
21
+ @namespace = @namespace.join("::")
22
+ template "controller.rb.erb", file_path
23
+ (actions - NON_TEMPLATE_ACTIONS).each do |temp_name|
24
+ template "view.html.slim", template_file_path(temp_name)
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def create_flash_message
31
+ "Successfully created #{singular_name}"
32
+ end
33
+
34
+ def update_flash_message
35
+ "Successfully updated #{singular_name}"
36
+ end
37
+
38
+ def destroy_flash_message
39
+ "Successfully destroyed #{singular_name}"
40
+ end
41
+
42
+ def file_path
43
+ Rails.root.join('app', 'controllers',
44
+ namespace_path + file_name + "_controller.rb")
45
+ end
46
+
47
+ def template_file_path(temp_name)
48
+ Rails.root.join('app', 'views', namespace_path + file_name,
49
+ temp_name + ".html.slim")
50
+ end
51
+
52
+ def namespace_path
53
+ if namespace.blank?
54
+ return ""
55
+ else
56
+ namespace.split("::").map(&:underscore).join("/") + "/"
57
+ end
58
+ end
59
+
60
+ def singular_name
61
+ super.singularize
62
+ end
63
+
64
+ def parent_class_name
65
+ namespace.blank? ? 'ApplicationController' : namespace + "::BaseController"
66
+ end
67
+
68
+ def authenticate_actor?
69
+ options['authenticate'].present?
70
+ end
71
+
72
+ def authenticate_actor
73
+ options['authenticate']
74
+ end
75
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal
2
+ class <%= class_name %>Controller < <%= parent_class_name %>
3
+
4
+ <%- if authenticate_actor? -%>
5
+ before_action :authenticate_<%= authenticate_actor %>!
6
+ <%- end -%>
7
+
8
+ <%- if actions.include?('index') -%>
9
+ def index
10
+ @<%= plural_name %> = <%= plural_name %>_scope
11
+ end
12
+ <%- end -%>
13
+
14
+ <%- if actions.include?('new') -%>
15
+ def new
16
+ @<%= singular_name %> = <%= plural_name %>_scope.new
17
+ end
18
+ <%- end -%>
19
+
20
+ <%- if actions.include?('create') -%>
21
+ def create
22
+ @<%= singular_name %> = <%= plural_name %>_scope.new(<%= singular_name %>_params)
23
+ if @<%= singular_name %>.save
24
+ redirect_to(<%= singular_name %>_url(@<%= singular_name %>), notice: "<%= create_flash_message %>")
25
+ else
26
+ render :new
27
+ end
28
+ end
29
+ <%- end -%>
30
+
31
+ <%- if actions.include?('show') -%>
32
+ def show
33
+ @<%= singular_name %> = <%= plural_name %>_scope.find(params[:id])
34
+ end
35
+ <%- end -%>
36
+
37
+ <%- if actions.include?('edit') -%>
38
+ def edit
39
+ @<%= singular_name %> = <%= plural_name %>_scope.find(params[:id])
40
+ end
41
+ <%- end -%>
42
+
43
+ <%- if actions.include?('update') -%>
44
+ def update
45
+ @<%= singular_name %> = <%= plural_name %>_scope.find(params[:id])
46
+ if @<%= singular_name %>.update(<%= singular_name %>_params)
47
+ redirect_to(<%= singular_name %>_url(@<%= singular_name %>), notice: "<%= update_flash_message %>")
48
+ else
49
+ render :edit
50
+ end
51
+ end
52
+ <%- end -%>
53
+
54
+ <%- if actions.include?('destroy') -%>
55
+ def destroy
56
+ @<%= singular_name %> = <%= plural_name %>_scope.find(params[:id])
57
+ @<%= singular_name %>.destroy
58
+ redirect_to(<%= singular_name %>_url(@<%= singular_name %>), notice: "<%= destroy_flash_message %>")
59
+ end
60
+ <%- end -%>
61
+
62
+ <%- if actions.any? -%>
63
+ private
64
+
65
+
66
+ def <%= plural_name %>_scope
67
+ <%= singular_name.classify %>.all
68
+ end
69
+
70
+ def <%= singular_name %>_params
71
+ params.require(:<%= singular_name %>).permit()
72
+ end
73
+ <%- end -%>
74
+
75
+ end
@@ -0,0 +1,5 @@
1
+ - title
2
+
3
+ h1 Edit me
4
+
5
+ p Lorem ipsum...
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Creates a new Sass block file
3
+
4
+ Example:
5
+ rails generate sass users
6
+
7
+ This will create:
8
+ app/assets/styesheets/blocks/_users.sass
@@ -0,0 +1,46 @@
1
+ require 'rails/generators'
2
+ class SassGenerator < Rails::Generators::NamedBase
3
+
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ desc "This generator creates a coffee script file at "\
7
+ "app/assets/stylesheets/partials"
8
+
9
+ argument :elements, type: :array, default: [], banner: "element element"
10
+
11
+ attr_reader :namespace
12
+
13
+ def copy_template_file
14
+ @namespace = class_name.split("::")
15
+ @namespace.pop
16
+ @namespace = @namespace.join("::")
17
+ template "sass.sass.erb", file_path
18
+ end
19
+
20
+ private
21
+
22
+ def block_name
23
+ file_name.underscore
24
+ end
25
+
26
+ def partial_file_name
27
+ "_#{file_name}"
28
+ end
29
+
30
+ def file_path
31
+ Rails.root.join("app/assets/stylesheets/blocks",
32
+ partial_file_name + ".sass")
33
+ end
34
+
35
+ def namespace_path
36
+ if namespace.blank?
37
+ return ""
38
+ else
39
+ namespace.split("::").map(&:underscore).join("/") + "/"
40
+ end
41
+ end
42
+
43
+ def singular_name
44
+ super.singularize
45
+ end
46
+ end
@@ -0,0 +1,8 @@
1
+ .<%= block_name %>
2
+ // Define <%= block_name %> block here
3
+
4
+ <%- for element in elements -%>
5
+ .<%= block_name %>-<%= element %>
6
+ // Define <%= element %> element here
7
+
8
+ <%- end -%>
@@ -0,0 +1,5 @@
1
+ require "orthodox/version"
2
+ require 'orthodox/railtie'
3
+ module Orthodox
4
+
5
+ end
@@ -0,0 +1,12 @@
1
+ require 'orthodox'
2
+ require 'rails'
3
+
4
+ module Orthodox
5
+ class Railtie < Rails::Railtie
6
+
7
+ config.app_generators do |g|
8
+ g.templates.unshift File::expand_path('../generators', __FILE__)
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ module Orthodox
2
+ VERSION = "0.2.3"
3
+ end
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "orthodox/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "orthodox"
8
+ spec.version = Orthodox::VERSION
9
+ spec.authors = ["Bodacious", 'CodeMeister']
10
+ spec.email = ["team@katanacode.com"]
11
+
12
+ spec.summary = %q{Better Rails generators for Katana}
13
+ spec.description = %q{Replaces Rails generators with generators specific to Katana's workflow'}
14
+ spec.homepage = "https://github.com/KatanaCode/orthodox"
15
+ spec.license = "MIT"
16
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ end
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ["lib", 'lib/generators']
24
+ spec.add_runtime_dependency 'rails', '>= 3.0.0'
25
+ spec.add_runtime_dependency 'slim-rails'
26
+ spec.add_development_dependency "bundler", "~> 1.15"
27
+ spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "rails", ">= 5.0"
29
+ end
metadata ADDED
@@ -0,0 +1,205 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: orthodox
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
5
+ platform: ruby
6
+ authors:
7
+ - Bodacious
8
+ - CodeMeister
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2019-10-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 3.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 3.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: slim-rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.15'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.15'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '10.0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '10.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rails
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '5.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '5.0'
84
+ description: Replaces Rails generators with generators specific to Katana's workflow'
85
+ email:
86
+ - team@katanacode.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - Gemfile
93
+ - LICENSE.txt
94
+ - README.md
95
+ - Rakefile
96
+ - bin/console
97
+ - bin/setup
98
+ - dummy/.gitignore
99
+ - dummy/.ruby-version
100
+ - dummy/Gemfile
101
+ - dummy/Gemfile.lock
102
+ - dummy/README.md
103
+ - dummy/Rakefile
104
+ - dummy/app/assets/config/manifest.js
105
+ - dummy/app/assets/images/.keep
106
+ - dummy/app/assets/javascripts/application.js
107
+ - dummy/app/assets/javascripts/cable.js
108
+ - dummy/app/assets/javascripts/channels/.keep
109
+ - dummy/app/assets/stylesheets/application.css
110
+ - dummy/app/channels/application_cable/channel.rb
111
+ - dummy/app/channels/application_cable/connection.rb
112
+ - dummy/app/controllers/application_controller.rb
113
+ - dummy/app/controllers/concerns/.keep
114
+ - dummy/app/helpers/application_helper.rb
115
+ - dummy/app/jobs/application_job.rb
116
+ - dummy/app/mailers/application_mailer.rb
117
+ - dummy/app/models/application_record.rb
118
+ - dummy/app/models/concerns/.keep
119
+ - dummy/app/views/layouts/application.html.erb
120
+ - dummy/app/views/layouts/mailer.html.erb
121
+ - dummy/app/views/layouts/mailer.text.erb
122
+ - dummy/bin/bundle
123
+ - dummy/bin/rails
124
+ - dummy/bin/rake
125
+ - dummy/bin/setup
126
+ - dummy/bin/spring
127
+ - dummy/bin/update
128
+ - dummy/bin/yarn
129
+ - dummy/config.ru
130
+ - dummy/config/application.rb
131
+ - dummy/config/boot.rb
132
+ - dummy/config/cable.yml
133
+ - dummy/config/credentials.yml.enc
134
+ - dummy/config/database.yml
135
+ - dummy/config/environment.rb
136
+ - dummy/config/environments/development.rb
137
+ - dummy/config/environments/production.rb
138
+ - dummy/config/environments/test.rb
139
+ - dummy/config/initializers/application_controller_renderer.rb
140
+ - dummy/config/initializers/assets.rb
141
+ - dummy/config/initializers/backtrace_silencers.rb
142
+ - dummy/config/initializers/content_security_policy.rb
143
+ - dummy/config/initializers/cookies_serializer.rb
144
+ - dummy/config/initializers/filter_parameter_logging.rb
145
+ - dummy/config/initializers/inflections.rb
146
+ - dummy/config/initializers/mime_types.rb
147
+ - dummy/config/initializers/wrap_parameters.rb
148
+ - dummy/config/locales/en.yml
149
+ - dummy/config/puma.rb
150
+ - dummy/config/routes.rb
151
+ - dummy/config/spring.rb
152
+ - dummy/config/storage.yml
153
+ - dummy/db/seeds.rb
154
+ - dummy/lib/assets/.keep
155
+ - dummy/lib/tasks/.keep
156
+ - dummy/log/.keep
157
+ - dummy/package.json
158
+ - dummy/public/404.html
159
+ - dummy/public/422.html
160
+ - dummy/public/500.html
161
+ - dummy/public/apple-touch-icon-precomposed.png
162
+ - dummy/public/apple-touch-icon.png
163
+ - dummy/public/favicon.ico
164
+ - dummy/public/robots.txt
165
+ - dummy/tmp/.keep
166
+ - lib/generators/coffeescript/USAGE
167
+ - lib/generators/coffeescript/coffeescript_generator.rb
168
+ - lib/generators/coffeescript/templates/coffeescript.coffee.erb
169
+ - lib/generators/controller/USAGE
170
+ - lib/generators/controller/controller_generator.rb
171
+ - lib/generators/controller/templates/controller.rb.erb
172
+ - lib/generators/controller/templates/view.html.slim
173
+ - lib/generators/sass/USAGE
174
+ - lib/generators/sass/sass_generator.rb
175
+ - lib/generators/sass/templates/sass.sass.erb
176
+ - lib/orthodox.rb
177
+ - lib/orthodox/railtie.rb
178
+ - lib/orthodox/version.rb
179
+ - orthodox.gemspec
180
+ homepage: https://github.com/KatanaCode/orthodox
181
+ licenses:
182
+ - MIT
183
+ metadata:
184
+ allowed_push_host: https://rubygems.org
185
+ post_install_message:
186
+ rdoc_options: []
187
+ require_paths:
188
+ - lib
189
+ - lib/generators
190
+ required_ruby_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ required_rubygems_version: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ requirements: []
201
+ rubygems_version: 3.0.3
202
+ signing_key:
203
+ specification_version: 4
204
+ summary: Better Rails generators for Katana
205
+ test_files: []