panacea-rails 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7d35a3f67ac133449cafa31c1d4338ce74dbeaa09ac12cffd47ecac9d6258dbc
4
+ data.tar.gz: a0e97523beedec6bfb993cf2af1ffccea33c63d6a1e7e2c0041de93f1d74bccf
5
+ SHA512:
6
+ metadata.gz: d8854eee538d9b7352ae1dfb7cb3034eae235c23e9d7ea984893212054b9f693268384f823a3df5505196a8e61205eb8e72c9cbd2dcbff9616e917d27c28f52c
7
+ data.tar.gz: 9d8256f3a155999189e7c932d61361321e2d109219dab3c72d2b0e1c1306f78f13e0dffe49343df2584da51196847d53c28d97a8ca780458530d64cd99b2aaa1
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp
9
+ *.gem
10
+ .panacea
data/.rubocop.yml ADDED
@@ -0,0 +1,17 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
3
+ Exclude:
4
+ - test/**/*
5
+ - panacea-rails.gemspec
6
+
7
+ Metrics/LineLength:
8
+ Max: 120
9
+
10
+ Metrics/MethodLength:
11
+ Max: 15
12
+
13
+ Style/StringLiterals:
14
+ EnforcedStyle: double_quotes
15
+
16
+ Style/Documentation:
17
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.5.1
7
+ before_install: gem install bundler -v 1.16.3
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at eduardofigarola@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
+
7
+ # Specify your gem's dependencies in panacea-rails.gemspec
8
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,69 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ panacea-rails (0.1.0)
5
+ bundler (~> 1)
6
+ slop (~> 4.6)
7
+ tty-prompt (~> 0.17)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ ast (2.4.0)
13
+ equatable (0.5.0)
14
+ hitimes (1.3.0)
15
+ jaro_winkler (1.5.1)
16
+ minitest (5.11.3)
17
+ necromancer (0.4.0)
18
+ parallel (1.12.1)
19
+ parser (2.5.1.2)
20
+ ast (~> 2.4.0)
21
+ pastel (0.7.2)
22
+ equatable (~> 0.5.0)
23
+ tty-color (~> 0.4.0)
24
+ powerpack (0.1.2)
25
+ rainbow (3.0.0)
26
+ rake (10.5.0)
27
+ rdoc (6.0.4)
28
+ rubocop (0.58.2)
29
+ jaro_winkler (~> 1.5.1)
30
+ parallel (~> 1.10)
31
+ parser (>= 2.5, != 2.5.1.1)
32
+ powerpack (~> 0.1)
33
+ rainbow (>= 2.2.2, < 4.0)
34
+ ruby-progressbar (~> 1.7)
35
+ unicode-display_width (~> 1.0, >= 1.0.1)
36
+ ruby-progressbar (1.9.0)
37
+ sdoc (1.0.0)
38
+ rdoc (>= 5.0)
39
+ slop (4.6.2)
40
+ timers (4.1.2)
41
+ hitimes
42
+ tty-color (0.4.3)
43
+ tty-cursor (0.6.0)
44
+ tty-prompt (0.17.0)
45
+ necromancer (~> 0.4.0)
46
+ pastel (~> 0.7.0)
47
+ timers (~> 4.0)
48
+ tty-cursor (~> 0.6.0)
49
+ tty-reader (~> 0.4.0)
50
+ tty-reader (0.4.0)
51
+ tty-cursor (~> 0.6.0)
52
+ tty-screen (~> 0.6.4)
53
+ wisper (~> 2.0.0)
54
+ tty-screen (0.6.5)
55
+ unicode-display_width (1.4.0)
56
+ wisper (2.0.0)
57
+
58
+ PLATFORMS
59
+ ruby
60
+
61
+ DEPENDENCIES
62
+ minitest (~> 5.0)
63
+ panacea-rails!
64
+ rake (~> 10.0)
65
+ rubocop (~> 0.58)
66
+ sdoc (~> 1.0)
67
+
68
+ BUNDLED WITH
69
+ 1.16.3
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Eduardo Figarola
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # Panacea::Rails
2
+
3
+ Rails Apps generator that helps you to focus on what really matters: your app's business logic.
4
+
5
+ ## Installation
6
+
7
+ Run the following command:
8
+
9
+ $ gem install panacea-rails
10
+
11
+ ## Usage
12
+
13
+ Once you have installed `panacea-rails` gem, run:
14
+
15
+ $ panacea your-app-name
16
+
17
+ You can see the list of accepted arguments running:
18
+
19
+ $ panacea --help
20
+
21
+ Panacea will ask you some questions in order to help you setup your fresh Rails app.
22
+
23
+ ## Website
24
+
25
+ You can read the full documentation here:
26
+
27
+ **[https://www.panacea.website](https://www.panacea.website)**
28
+
29
+ ## Contributing
30
+
31
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/panacea-rails/panacea](https://github.com/panacea-rails/panacea). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
32
+
33
+ ## License
34
+
35
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
36
+
37
+ ## Code of Conduct
38
+
39
+ Everyone interacting in the Panacea::Rails project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/panacea-rails/panacea/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
5
+ require "sdoc"
6
+ require "rdoc/task"
7
+
8
+ Rake::TestTask.new(:test) do |t|
9
+ t.libs << "test"
10
+ t.libs << "lib"
11
+ t.test_files = FileList["test/**/*_test.rb"]
12
+ end
13
+
14
+ RDoc::Task.new do |rdoc|
15
+ rdoc.rdoc_dir = "doc/rdoc"
16
+ rdoc.rdoc_files.include("lib/**/*.rb")
17
+ rdoc.options << "--format=sdoc"
18
+ rdoc.template = "rails"
19
+ end
20
+
21
+ task default: :test
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "panacea/rails"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,318 @@
1
+ test_suite:
2
+ title: Which framework do you want to use in your tests?
3
+ type: select
4
+ options:
5
+ - minitest
6
+ - rspec
7
+
8
+ expected_coverage:
9
+ title: What should be the minimum coverage expected by Simplecov?
10
+ default: 80
11
+ type: range
12
+ range: 0-100
13
+
14
+ http_stubs:
15
+ title: Do you want to setup VCR or Webmock to stub out HTTP requests?
16
+ type: select
17
+ options:
18
+ - none
19
+ - vcr
20
+ - webmock
21
+
22
+ factory_bot:
23
+ title: Do you want to use FactoryBot in your tests?
24
+ default: false
25
+ type: boolean
26
+
27
+ faker:
28
+ title: Do you want to use Faker in your tests?
29
+ default: false
30
+ type: boolean
31
+
32
+ headless_chrome:
33
+ title: Do you want to setup Headless Chrome as default driver for System Tests?
34
+ default: false
35
+ type: boolean
36
+
37
+ pg_search:
38
+ title: Do you want to add pg_search gem to enable PostgreSQL's full text search?
39
+ default: false
40
+ type: boolean
41
+ condition: "passed_args =~ /--database=postgresql/"
42
+
43
+ dotenv:
44
+ title: Do you want to setup Dotenv to manage ENV variables in development?
45
+ default: false
46
+ type: boolean
47
+
48
+ webpack:
49
+ title: Do you want to use Webpacker to manage your app's frontend?
50
+ default: false
51
+ type: boolean
52
+ subquestions:
53
+ webpack_type:
54
+ title: What framework do you want to pre-configure Webpack with?
55
+ type: select
56
+ options:
57
+ - none
58
+ - react
59
+ - vue
60
+ - angular
61
+ - elm
62
+ - stimulus
63
+
64
+ devise:
65
+ title: Do you want to setup Devise to handle users in your app?
66
+ default: false
67
+ type: boolean
68
+ subquestions:
69
+ devise_model_name:
70
+ title: What should be your Devise model name?
71
+ default: user
72
+ type: text
73
+ devise_override_views:
74
+ title: Do you want to add the Devise's views in your app?
75
+ default: false
76
+ type: boolean
77
+
78
+ pundit:
79
+ title: Do you want to setup Pundit to handle authorizations?
80
+ default: false
81
+ type: boolean
82
+
83
+ kaminari:
84
+ title: Do you want to use Kaminari to handle pagination?
85
+ default: false
86
+ type: boolean
87
+
88
+ oj:
89
+ title: Do you want to setup OJ to optimize JSON handling in your app?
90
+ default: false
91
+ type: boolean
92
+
93
+ money_rails:
94
+ title: Do you want to use Money Rails to handle money amounts in your app?
95
+ default: false
96
+ type: boolean
97
+
98
+ markdown:
99
+ title: Do you want to use Redcarpet to handle Markdown in your app?
100
+ default: false
101
+ type: boolean
102
+
103
+ background_job:
104
+ title: Do you want to use a Background Jobs adapter?
105
+ type: select
106
+ options:
107
+ - none
108
+ - sidekiq
109
+ - resque
110
+ - sucker_punch
111
+
112
+ foreman:
113
+ title: Do you want to use Foreman to manage your app's processes?
114
+ default: false
115
+ type: boolean
116
+
117
+ awesome_print:
118
+ title: Do you want to use AwesomePrint in your console sessions?
119
+ default: false
120
+ type: boolean
121
+
122
+ timezone:
123
+ title: Please choose your app's default time zone
124
+ type: select
125
+ options:
126
+ - UTC - UTC +00:00
127
+ - Central Time (US & Canada) - UTC -06:00
128
+ - International Date Line West - UTC -12:00
129
+ - American Samoa - UTC -11:00
130
+ - Midway Island - UTC -11:00
131
+ - Hawaii - UTC -10:00
132
+ - Alaska - UTC -09:00
133
+ - Pacific Time (US & Canada) - UTC -08:00
134
+ - Tijuana - UTC -08:00
135
+ - Arizona - UTC -07:00
136
+ - Chihuahua - UTC -07:00
137
+ - Mazatlan - UTC -07:00
138
+ - Mountain Time (US & Canada) - UTC -07:00
139
+ - Central America - UTC -06:00
140
+ - Guadalajara - UTC -06:00
141
+ - Mexico City - UTC -06:00
142
+ - Monterrey - UTC -06:00
143
+ - Saskatchewan - UTC -06:00
144
+ - Bogota - UTC -05:00
145
+ - Eastern Time (US & Canada) - UTC -05:00
146
+ - Indiana (East) - UTC -05:00
147
+ - Lima - UTC -05:00
148
+ - Quito - UTC -05:00
149
+ - Atlantic Time (Canada) - UTC -04:00
150
+ - Caracas - UTC -04:00
151
+ - Georgetown - UTC -04:00
152
+ - La Paz - UTC -04:00
153
+ - Puerto Rico - UTC -04:00
154
+ - Santiago - UTC -04:00
155
+ - Newfoundland - UTC -03:30
156
+ - Brasilia - UTC -03:00
157
+ - Buenos Aires - UTC -03:00
158
+ - Greenland - UTC -03:00
159
+ - Montevideo - UTC -03:00
160
+ - Mid-Atlantic - UTC -02:00
161
+ - Azores - UTC -01:00
162
+ - Cape Verde Is. - UTC -01:00
163
+ - Casablanca - UTC +00:00
164
+ - Dublin - UTC +00:00
165
+ - Edinburgh - UTC +00:00
166
+ - Lisbon - UTC +00:00
167
+ - London - UTC +00:00
168
+ - Monrovia - UTC +00:00
169
+ - Amsterdam - UTC +01:00
170
+ - Belgrade - UTC +01:00
171
+ - Berlin - UTC +01:00
172
+ - Bern - UTC +01:00
173
+ - Bratislava - UTC +01:00
174
+ - Brussels - UTC +01:00
175
+ - Budapest - UTC +01:00
176
+ - Copenhagen - UTC +01:00
177
+ - Ljubljana - UTC +01:00
178
+ - Madrid - UTC +01:00
179
+ - Paris - UTC +01:00
180
+ - Prague - UTC +01:00
181
+ - Rome - UTC +01:00
182
+ - Sarajevo - UTC +01:00
183
+ - Skopje - UTC +01:00
184
+ - Stockholm - UTC +01:00
185
+ - Vienna - UTC +01:00
186
+ - Warsaw - UTC +01:00
187
+ - West Central Africa - UTC +01:00
188
+ - Zagreb - UTC +01:00
189
+ - Zurich - UTC +01:00
190
+ - Athens - UTC +02:00
191
+ - Bucharest - UTC +02:00
192
+ - Cairo - UTC +02:00
193
+ - Harare - UTC +02:00
194
+ - Helsinki - UTC +02:00
195
+ - Jerusalem - UTC +02:00
196
+ - Kaliningrad - UTC +02:00
197
+ - Kyiv - UTC +02:00
198
+ - Pretoria - UTC +02:00
199
+ - Riga - UTC +02:00
200
+ - Sofia - UTC +02:00
201
+ - Tallinn - UTC +02:00
202
+ - Vilnius - UTC +02:00
203
+ - Baghdad - UTC +03:00
204
+ - Istanbul - UTC +03:00
205
+ - Kuwait - UTC +03:00
206
+ - Minsk - UTC +03:00
207
+ - Moscow - UTC +03:00
208
+ - Nairobi - UTC +03:00
209
+ - Riyadh - UTC +03:00
210
+ - St. Petersburg - UTC +03:00
211
+ - Volgograd - UTC +03:00
212
+ - Tehran - UTC +03:30
213
+ - Abu Dhabi - UTC +04:00
214
+ - Baku - UTC +04:00
215
+ - Muscat - UTC +04:00
216
+ - Samara - UTC +04:00
217
+ - Tbilisi - UTC +04:00
218
+ - Yerevan - UTC +04:00
219
+ - Kabul - UTC +04:30
220
+ - Ekaterinburg - UTC +05:00
221
+ - Islamabad - UTC +05:00
222
+ - Karachi - UTC +05:00
223
+ - Tashkent - UTC +05:00
224
+ - Chennai - UTC +05:30
225
+ - Kolkata - UTC +05:30
226
+ - Mumbai - UTC +05:30
227
+ - New Delhi - UTC +05:30
228
+ - Sri Jayawardenepura - UTC +05:30
229
+ - Kathmandu - UTC +05:45
230
+ - Almaty - UTC +06:00
231
+ - Astana - UTC +06:00
232
+ - Dhaka - UTC +06:00
233
+ - Urumqi - UTC +06:00
234
+ - Rangoon - UTC +06:30
235
+ - Bangkok - UTC +07:00
236
+ - Hanoi - UTC +07:00
237
+ - Jakarta - UTC +07:00
238
+ - Krasnoyarsk - UTC +07:00
239
+ - Novosibirsk - UTC +07:00
240
+ - Beijing - UTC +08:00
241
+ - Chongqing - UTC +08:00
242
+ - Hong Kong - UTC +08:00
243
+ - Irkutsk - UTC +08:00
244
+ - Kuala Lumpur - UTC +08:00
245
+ - Perth - UTC +08:00
246
+ - Singapore - UTC +08:00
247
+ - Taipei - UTC +08:00
248
+ - Ulaanbaatar - UTC +08:00
249
+ - Osaka - UTC +09:00
250
+ - Sapporo - UTC +09:00
251
+ - Seoul - UTC +09:00
252
+ - Tokyo - UTC +09:00
253
+ - Yakutsk - UTC +09:00
254
+ - Adelaide - UTC +09:30
255
+ - Darwin- UTC +09:30
256
+ - Brisbane - UTC +10:00
257
+ - Canberra - UTC +10:00
258
+ - Guam - UTC +10:00
259
+ - Hobart - UTC +10:00
260
+ - Melbourne - UTC +10:00
261
+ - Port Moresby - UTC +10:00
262
+ - Sydney - UTC +10:00
263
+ - Vladivostok - UTC +10:00
264
+ - Magadan - UTC +11:00
265
+ - New Caledonia - UTC +11:00
266
+ - Solomon Is. - UTC +11:00
267
+ - Srednekolymsk - UTC +11:00
268
+ - Auckland - UTC +12:00
269
+ - Fiji - UTC +12:00
270
+ - Kamchatka - UTC +12:00
271
+ - Marshall Is. - UTC +12:00
272
+ - Wellington - UTC +12:00
273
+ - Chatham Is. - UTC +12:45
274
+ - Nuku'alofa - UTC +13:00
275
+ - Samoa - UTC +13:00
276
+ - Tokelau Is. - UTC +13:00
277
+
278
+ locale:
279
+ title: Please choose your app's default locale
280
+ type: select
281
+ options:
282
+ - English - en
283
+ - Spanish - es
284
+ - Arabic - ar
285
+ - Chinese - zh
286
+ - French - fr
287
+ - German - de
288
+ - Hindi - hi
289
+ - Japanese - ja
290
+ - Portuguese - pt
291
+ - Russian - ru
292
+
293
+ autocommit:
294
+ title: Do you want to auto-generate the initial commit?
295
+ default: false
296
+ type: boolean
297
+ subquestions:
298
+ commit_msg:
299
+ title: What should be the commit's message?
300
+ default: Initialize Rails App powered with Panacea
301
+ type: text
302
+
303
+ githook:
304
+ title: Do you want to add a Git hook to help you to improve your workflow?
305
+ default: false
306
+ type: boolean
307
+ subquestions:
308
+ githook_type:
309
+ title: Which Git hook do you want to add?
310
+ type: select
311
+ options:
312
+ - pre-commit
313
+ - pre-push
314
+
315
+ share_usage_info:
316
+ title: Do you want help us improve Panacea by sharing with us your answers? [100% anonymous]
317
+ default: true
318
+ type: boolean