kriangle 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/Gemfile +30 -0
  5. data/Gemfile.lock +216 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +307 -0
  8. data/Rakefile +4 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +8 -0
  11. data/kriangle.gemspec +42 -0
  12. data/lib/generators/kriangle/generator_helpers.rb +95 -0
  13. data/lib/generators/kriangle/install_generator.rb +149 -0
  14. data/lib/generators/kriangle/module_generator.rb +273 -0
  15. data/lib/generators/kriangle/templates/active_serializer.rb +9 -0
  16. data/lib/generators/kriangle/templates/application_record.rb +9 -0
  17. data/lib/generators/kriangle/templates/auth.rb +138 -0
  18. data/lib/generators/kriangle/templates/authentication.rb +7 -0
  19. data/lib/generators/kriangle/templates/authenticator.rb +70 -0
  20. data/lib/generators/kriangle/templates/avatar.rb +5 -0
  21. data/lib/generators/kriangle/templates/avatar_uploader.rb +49 -0
  22. data/lib/generators/kriangle/templates/base.rb +6 -0
  23. data/lib/generators/kriangle/templates/controller.rb +241 -0
  24. data/lib/generators/kriangle/templates/controllers.rb +21 -0
  25. data/lib/generators/kriangle/templates/counter_cache_migration.rb +5 -0
  26. data/lib/generators/kriangle/templates/create_authentications.rb +10 -0
  27. data/lib/generators/kriangle/templates/create_avatars.rb +10 -0
  28. data/lib/generators/kriangle/templates/create_users.rb.erb +48 -0
  29. data/lib/generators/kriangle/templates/custom_description.rb +30 -0
  30. data/lib/generators/kriangle/templates/defaults.rb +29 -0
  31. data/lib/generators/kriangle/templates/kriangle.rb +5 -0
  32. data/lib/generators/kriangle/templates/model.rb +33 -0
  33. data/lib/generators/kriangle/templates/module_migration.rb +33 -0
  34. data/lib/generators/kriangle/templates/responder.rb +170 -0
  35. data/lib/generators/kriangle/templates/serializer.rb +35 -0
  36. data/lib/generators/kriangle/templates/swagger.rb +8 -0
  37. data/lib/generators/kriangle/templates/user.rb +35 -0
  38. data/lib/kriangle.rb +36 -0
  39. data/lib/kriangle/version.rb +5 -0
  40. metadata +355 -0
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ GrapeSwaggerRails.options.app_name = 'Rest APIs with Kriangle'
4
+ GrapeSwaggerRails.options.url = '/kriangle/api/<%= wrapper.underscore %>/swagger_doc.json'
5
+ GrapeSwaggerRails.options.before_action do
6
+ GrapeSwaggerRails.options.app_url = request.protocol + request.host_with_port
7
+ end
8
+ GrapeSwaggerRails.options.doc_expansion = 'list'
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ class <%= user_class %> < ApplicationRecord
4
+ <%- if custom_orm == 'Mongoid' -%>
5
+ include Mongoid::Document
6
+ include Mongoid::Timestamps
7
+
8
+ # Add your fields below
9
+ # field :title, type: String
10
+ # field :content, type: String, default: ""
11
+ # field :views, type: Integer, default: 0
12
+ <%- end -%>
13
+ # Include default devise modules. Others available are:
14
+ # :confirmable, :lockable, :timeoutable and :omniauthable
15
+ devise :database_authenticatable, :registerable,
16
+ :recoverable, :rememberable, :trackable, :validatable
17
+
18
+ <%- unless skip_avatar -%>
19
+ has_many :avatars
20
+ <%- end -%>
21
+ has_many :authentications
22
+ <%- for ma in model_associations -%>
23
+ <%= ma.association %>
24
+ <%- end -%>
25
+ <%- if database == 'sqlite3' -%>
26
+ <%- model_attributes.select { |a| a.type == 'array' }.each do |a| -%>
27
+ serialize :<%= a.name %>, Array
28
+ <%- end -%>
29
+ <%- end -%>
30
+
31
+ <%- unless skip_tips -%>
32
+ # Some validation
33
+ # validates :first_name, presence: true
34
+ <%- end -%>
35
+ end
data/lib/kriangle.rb ADDED
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'kriangle/version'
4
+
5
+ require 'bcrypt'
6
+ require 'devise'
7
+ require 'dotenv-rails'
8
+
9
+ require 'grape'
10
+ require 'grape-active_model_serializers'
11
+ require 'grape-rails-cache'
12
+ require 'grape-swagger'
13
+ require 'grape-swagger-rails'
14
+
15
+ require 'api-pagination'
16
+ require 'kaminari'
17
+
18
+ require 'ransack'
19
+
20
+ require 'carrierwave'
21
+
22
+ module Kriangle
23
+ # database for which migration files created
24
+ mattr_accessor :database
25
+ @@database = 'sqlite3'
26
+
27
+ # Custom ORM, default 'ActiveRecord'
28
+ # mattr_accessor :custom_orm
29
+ # @@custom_orm = 'ActiveRecord'
30
+
31
+ # Default way to set up Kriangle. Run rails generate install to create
32
+ # a fresh initializer with all configuration values.
33
+ def self.setup
34
+ yield self
35
+ end
36
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kriangle
4
+ VERSION = '0.1.0'
5
+ end
metadata ADDED
@@ -0,0 +1,355 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kriangle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Lalit Kumar Maurya
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-05-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.4'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.4.2
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.4'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.4.2
61
+ - !ruby/object:Gem::Dependency
62
+ name: bcrypt
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 3.1.7
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 3.1.7
75
+ - !ruby/object:Gem::Dependency
76
+ name: devise
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '4.4'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 4.4.3
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '4.4'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 4.4.3
95
+ - !ruby/object:Gem::Dependency
96
+ name: dotenv-rails
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '2.7'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 2.7.6
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.7'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 2.7.6
115
+ - !ruby/object:Gem::Dependency
116
+ name: grape
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '1.2'
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 1.2.4
125
+ type: :runtime
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.2'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 1.2.4
135
+ - !ruby/object:Gem::Dependency
136
+ name: grape-active_model_serializers
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '1.5'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 1.5.2
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '1.5'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 1.5.2
155
+ - !ruby/object:Gem::Dependency
156
+ name: grape-rails-cache
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 0.1.2
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 0.1.2
169
+ - !ruby/object:Gem::Dependency
170
+ name: grape-swagger
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '1.4'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '1.4'
183
+ - !ruby/object:Gem::Dependency
184
+ name: grape-swagger-rails
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: 0.3.1
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: 0.3.1
197
+ - !ruby/object:Gem::Dependency
198
+ name: api-pagination
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: '4.7'
204
+ type: :runtime
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: '4.7'
211
+ - !ruby/object:Gem::Dependency
212
+ name: kaminari
213
+ requirement: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - "~>"
216
+ - !ruby/object:Gem::Version
217
+ version: '1.0'
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: 1.0.1
221
+ type: :runtime
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: '1.0'
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: 1.0.1
231
+ - !ruby/object:Gem::Dependency
232
+ name: rack-cors
233
+ requirement: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - "~>"
236
+ - !ruby/object:Gem::Version
237
+ version: '1.1'
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: 1.1.1
241
+ type: :runtime
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - "~>"
246
+ - !ruby/object:Gem::Version
247
+ version: '1.1'
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: 1.1.1
251
+ - !ruby/object:Gem::Dependency
252
+ name: ransack
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '2.3'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '2.3'
265
+ - !ruby/object:Gem::Dependency
266
+ name: carrierwave
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '2.0'
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ version: 2.0.2
275
+ type: :runtime
276
+ prerelease: false
277
+ version_requirements: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - "~>"
280
+ - !ruby/object:Gem::Version
281
+ version: '2.0'
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: 2.0.2
285
+ description: Scaffold module (including REST API with documentation) with help of
286
+ Grape and Swagger.
287
+ email:
288
+ - lalit.logical@gmail.com
289
+ executables: []
290
+ extensions: []
291
+ extra_rdoc_files: []
292
+ files:
293
+ - ".gitignore"
294
+ - CODE_OF_CONDUCT.md
295
+ - Gemfile
296
+ - Gemfile.lock
297
+ - LICENSE.txt
298
+ - README.md
299
+ - Rakefile
300
+ - bin/console
301
+ - bin/setup
302
+ - kriangle.gemspec
303
+ - lib/generators/kriangle/generator_helpers.rb
304
+ - lib/generators/kriangle/install_generator.rb
305
+ - lib/generators/kriangle/module_generator.rb
306
+ - lib/generators/kriangle/templates/active_serializer.rb
307
+ - lib/generators/kriangle/templates/application_record.rb
308
+ - lib/generators/kriangle/templates/auth.rb
309
+ - lib/generators/kriangle/templates/authentication.rb
310
+ - lib/generators/kriangle/templates/authenticator.rb
311
+ - lib/generators/kriangle/templates/avatar.rb
312
+ - lib/generators/kriangle/templates/avatar_uploader.rb
313
+ - lib/generators/kriangle/templates/base.rb
314
+ - lib/generators/kriangle/templates/controller.rb
315
+ - lib/generators/kriangle/templates/controllers.rb
316
+ - lib/generators/kriangle/templates/counter_cache_migration.rb
317
+ - lib/generators/kriangle/templates/create_authentications.rb
318
+ - lib/generators/kriangle/templates/create_avatars.rb
319
+ - lib/generators/kriangle/templates/create_users.rb.erb
320
+ - lib/generators/kriangle/templates/custom_description.rb
321
+ - lib/generators/kriangle/templates/defaults.rb
322
+ - lib/generators/kriangle/templates/kriangle.rb
323
+ - lib/generators/kriangle/templates/model.rb
324
+ - lib/generators/kriangle/templates/module_migration.rb
325
+ - lib/generators/kriangle/templates/responder.rb
326
+ - lib/generators/kriangle/templates/serializer.rb
327
+ - lib/generators/kriangle/templates/swagger.rb
328
+ - lib/generators/kriangle/templates/user.rb
329
+ - lib/kriangle.rb
330
+ - lib/kriangle/version.rb
331
+ homepage: https://github.com/lalitlogical/kriangle
332
+ licenses:
333
+ - MIT
334
+ metadata: {}
335
+ post_install_message:
336
+ rdoc_options: []
337
+ require_paths:
338
+ - lib
339
+ required_ruby_version: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ required_rubygems_version: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ requirements: []
350
+ rubygems_version: 3.1.4
351
+ signing_key:
352
+ specification_version: 4
353
+ summary: Scaffold module (including REST API with documentation) with help of Grape
354
+ and Swagger.
355
+ test_files: []