kriangle 0.1.0

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 (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: []