blue-eyes 1.3.3 → 1.3.5

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/.simplecov +8 -0
  4. data/Gemfile +24 -0
  5. data/Gemfile.lock +365 -0
  6. data/Guardfile +25 -0
  7. data/LICENSE +24 -0
  8. data/README.md +189 -0
  9. data/Rakefile +17 -0
  10. data/lib/.DS_Store +0 -0
  11. data/lib/blue_eyes/.DS_Store +0 -0
  12. data/lib/blue_eyes/cli.rb +26 -0
  13. data/lib/blue_eyes/extensions/string.rb +42 -0
  14. data/lib/blue_eyes/generators/.DS_Store +0 -0
  15. data/lib/blue_eyes/generators/app/.DS_Store +0 -0
  16. data/lib/blue_eyes/generators/app/app_generator.rb +163 -0
  17. data/lib/blue_eyes/generators/app/templates/.DS_Store +0 -0
  18. data/lib/blue_eyes/generators/app/templates/.rubocop.yml.erb +19 -0
  19. data/lib/blue_eyes/generators/app/templates/.rubocop_todo.yml.erb +1 -0
  20. data/lib/blue_eyes/generators/app/templates/.ruby-version.erb +1 -0
  21. data/lib/blue_eyes/generators/app/templates/.simplecov.erb +9 -0
  22. data/lib/blue_eyes/generators/app/templates/Gemfile.erb +39 -0
  23. data/lib/blue_eyes/generators/app/templates/Guardfile.erb +25 -0
  24. data/lib/blue_eyes/generators/app/templates/Procfile.dev.erb +6 -0
  25. data/lib/blue_eyes/generators/app/templates/Procfile.erb +1 -0
  26. data/lib/blue_eyes/generators/app/templates/README.md +1 -0
  27. data/lib/blue_eyes/generators/app/templates/Rakefile.erb +4 -0
  28. data/lib/blue_eyes/generators/app/templates/app/controllers/application_controller.rb +15 -0
  29. data/lib/blue_eyes/generators/app/templates/app/models/.gitkeep +0 -0
  30. data/lib/blue_eyes/generators/app/templates/app/views/layout.erb.tt +32 -0
  31. data/lib/blue_eyes/generators/app/templates/app/views/welcome.erb +23 -0
  32. data/lib/blue_eyes/generators/app/templates/bin/dev +11 -0
  33. data/lib/blue_eyes/generators/app/templates/config/db.yml +35 -0
  34. data/lib/blue_eyes/generators/app/templates/config/environment.rb +18 -0
  35. data/lib/blue_eyes/generators/app/templates/config/initializers/database.rb.erb +16 -0
  36. data/lib/blue_eyes/generators/app/templates/config/initializers/redis.rb +9 -0
  37. data/lib/blue_eyes/generators/app/templates/config/redis.yml +14 -0
  38. data/lib/blue_eyes/generators/app/templates/config.ru.erb +7 -0
  39. data/lib/blue_eyes/generators/app/templates/public/.DS_Store +0 -0
  40. data/lib/blue_eyes/generators/app/templates/public/favicon.ico +0 -0
  41. data/lib/blue_eyes/generators/app/templates/public/images/.gitkeep +0 -0
  42. data/lib/blue_eyes/generators/app/templates/public/images/blue-eyes-small.png +0 -0
  43. data/lib/blue_eyes/generators/app/templates/public/images/blue-eyes.svg +24 -0
  44. data/lib/blue_eyes/generators/app/templates/public/javascripts/.gitkeep +0 -0
  45. data/lib/blue_eyes/generators/app/templates/public/stylesheets/main.css +115 -0
  46. data/lib/blue_eyes/generators/app/templates/spec/application_controller_spec.rb +17 -0
  47. data/lib/blue_eyes/generators/app/templates/spec/factories/.gitkeep +0 -0
  48. data/lib/blue_eyes/generators/app/templates/spec/spec_helper.rb +45 -0
  49. data/lib/blue_eyes/generators/controller/controller_generator.rb +42 -0
  50. data/lib/blue_eyes/generators/controller/templates/controller.rb.erb +39 -0
  51. data/lib/blue_eyes/generators/controller/templates/views/edit.html.erb +1 -0
  52. data/lib/blue_eyes/generators/controller/templates/views/index.html.erb +1 -0
  53. data/lib/blue_eyes/generators/controller/templates/views/new.html.erb +1 -0
  54. data/lib/blue_eyes/generators/controller/templates/views/show.html.erb +1 -0
  55. data/lib/blue_eyes/generators/model/migration.rb.erb +13 -0
  56. data/lib/blue_eyes/generators/model/model.rb.erb +5 -0
  57. data/lib/blue_eyes/generators/model/model_factory.rb.erb +8 -0
  58. data/lib/blue_eyes/generators/model/model_generator.rb +68 -0
  59. data/lib/blue_eyes/generators/model/model_spec.rb.erb +48 -0
  60. data/lib/blue_eyes/generators/scaffold/scaffold_generator.rb +25 -0
  61. data/lib/blue_eyes/version.rb +11 -0
  62. data/lib/blue_eyes.rb +13 -0
  63. data/test/blue_eyes/cli_test.rb +20 -0
  64. data/test/blue_eyes/extensions/string_test.rb +71 -0
  65. data/test/blue_eyes/generators/app_generator_test.rb +142 -0
  66. data/test/blue_eyes/generators/controller/controller_generator_test.rb +57 -0
  67. data/test/blue_eyes/generators/model/model_generator_test.rb +40 -0
  68. data/test/blue_eyes/generators/scaffold/scaffold_generator_test.rb +21 -0
  69. data/test/blue_eyes/version_test.rb +24 -0
  70. data/test/blue_eyes_test.rb +1 -0
  71. data/test/test_helper.rb +6 -0
  72. metadata +75 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b8ed7dc12be5f4f5790bb9d068887b9588bb08ccdf7b71c15ee73e6a5e35d51
4
- data.tar.gz: 7cb9dacadac97ecf7068d62d77884a0a278a78471cb9146196445864f2aec3ae
3
+ metadata.gz: 980d980a6e45c55596c6e0c9fd9033531d856ad82ed3eb2d52019a8f6fec1398
4
+ data.tar.gz: 765c77e0e2397ef8c998ed3cb2c4630bb514c344eda36f993f6515785fc2d132
5
5
  SHA512:
6
- metadata.gz: b3a8d54e2b7380ff7141ab838ae1f44b9ca65cb45c59c396410720d2f2ba58c310f3d9efd73aef325d6170cf3b4574ef22b8f6eeea92ab82b4367dbd95e62561
7
- data.tar.gz: e26f1357f908c32f904f747695f6ef1533b286242227d1c4895dc28a61a6c4930b75bc489f75ce0cd701ca0464e141e5cfd9e33c5f3b6e387d0b629dd5928fd7
6
+ metadata.gz: 76398227064dc0b5c4f7d918ef375c6b49574beec13a1d3f5e9fe38989429a75dafec3f6b2721ea50c01212275c4c4aa2d06c05e6d57833c3b91bb025fc00321
7
+ data.tar.gz: ec06d26ed679b0e39f69f835e7ed16a1c012b70e053dc1258d4b556cade2127b4eb6e3d35ce0d3607a00ea448b4214648ee0fa6903d3ceb4daec8c82a92e160a
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.0
data/.simplecov ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ SimpleCov.external_at_exit = true
4
+
5
+ SimpleCov.start do
6
+ add_filter 'test'
7
+ enable_coverage_for_eval
8
+ end
data/Gemfile ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org/'
4
+
5
+ ruby File.read('.ruby-version').strip
6
+
7
+ gemspec
8
+
9
+ group :development, :test do
10
+ gem 'fakefs', '~> 3.0'
11
+ gem 'guard', '~> 2.16'
12
+ gem 'guard-bundler', github: 'scarver2/guard-bundler', branch: 'bundler-4', require: false
13
+ gem 'guard-minitest', '~> 2.4'
14
+ gem 'guard-rubocop', '~> 1.5'
15
+ gem 'irb', '~> 1.14'
16
+ gem 'minitest', '~> 5.25'
17
+ gem 'pry', '~> 0.15'
18
+ gem 'rake', '~> 13.0'
19
+ gem 'rubocop', '~> 1.81'
20
+ gem 'rubocop-minitest', '~> 0.38'
21
+ gem 'rubocop-performance', '~> 1.26'
22
+ gem 'rubocop-rake', '~> 0.6'
23
+ gem 'simplecov', '~> 0.22'
24
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,365 @@
1
+ GIT
2
+ remote: https://github.com/scarver2/guard-bundler.git
3
+ revision: d36f1418b3fad06fd5335581db65a18f6831b4a3
4
+ branch: bundler-4
5
+ specs:
6
+ guard-bundler (3.0.1)
7
+ bundler (>= 2.1, < 5)
8
+ guard (~> 2.2)
9
+ guard-compat (~> 1.1)
10
+
11
+ PATH
12
+ remote: .
13
+ specs:
14
+ blue-eyes (1.3.5)
15
+ active_model_serializers (~> 0.10.15)
16
+ activesupport (~> 7.0)
17
+ thor (~> 1.4)
18
+
19
+ GEM
20
+ remote: https://rubygems.org/
21
+ specs:
22
+ actionpack (7.2.3)
23
+ actionview (= 7.2.3)
24
+ activesupport (= 7.2.3)
25
+ cgi
26
+ nokogiri (>= 1.8.5)
27
+ racc
28
+ rack (>= 2.2.4, < 3.3)
29
+ rack-session (>= 1.0.1)
30
+ rack-test (>= 0.6.3)
31
+ rails-dom-testing (~> 2.2)
32
+ rails-html-sanitizer (~> 1.6)
33
+ useragent (~> 0.16)
34
+ actionview (7.2.3)
35
+ activesupport (= 7.2.3)
36
+ builder (~> 3.1)
37
+ cgi
38
+ erubi (~> 1.11)
39
+ rails-dom-testing (~> 2.2)
40
+ rails-html-sanitizer (~> 1.6)
41
+ active_model_serializers (0.10.16)
42
+ actionpack (>= 4.1)
43
+ activemodel (>= 4.1)
44
+ case_transform (>= 0.2)
45
+ jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
46
+ activemodel (7.2.3)
47
+ activesupport (= 7.2.3)
48
+ activesupport (7.2.3)
49
+ base64
50
+ benchmark (>= 0.3)
51
+ bigdecimal
52
+ concurrent-ruby (~> 1.0, >= 1.3.1)
53
+ connection_pool (>= 2.2.5)
54
+ drb
55
+ i18n (>= 1.6, < 2)
56
+ logger (>= 1.4.2)
57
+ minitest (>= 5.1)
58
+ securerandom (>= 0.3)
59
+ tzinfo (~> 2.0, >= 2.0.5)
60
+ ast (2.4.3)
61
+ base64 (0.3.0)
62
+ benchmark (0.5.0)
63
+ bigdecimal (4.0.1)
64
+ builder (3.3.0)
65
+ case_transform (0.2)
66
+ activesupport
67
+ cgi (0.5.1)
68
+ coderay (1.1.3)
69
+ concurrent-ruby (1.3.6)
70
+ connection_pool (3.0.2)
71
+ crass (1.0.6)
72
+ date (3.5.1)
73
+ docile (1.4.1)
74
+ drb (2.2.3)
75
+ erb (6.0.1)
76
+ erubi (1.13.1)
77
+ fakefs (3.2.0)
78
+ ffi (1.17.3-aarch64-linux-gnu)
79
+ ffi (1.17.3-aarch64-linux-musl)
80
+ ffi (1.17.3-arm-linux-gnu)
81
+ ffi (1.17.3-arm-linux-musl)
82
+ ffi (1.17.3-arm64-darwin)
83
+ ffi (1.17.3-x86_64-darwin)
84
+ ffi (1.17.3-x86_64-linux-gnu)
85
+ ffi (1.17.3-x86_64-linux-musl)
86
+ formatador (1.2.3)
87
+ reline
88
+ guard (2.19.1)
89
+ formatador (>= 0.2.4)
90
+ listen (>= 2.7, < 4.0)
91
+ logger (~> 1.6)
92
+ lumberjack (>= 1.0.12, < 2.0)
93
+ nenv (~> 0.1)
94
+ notiffany (~> 0.0)
95
+ ostruct (~> 0.6)
96
+ pry (>= 0.13.0)
97
+ shellany (~> 0.0)
98
+ thor (>= 0.18.1)
99
+ guard-compat (1.2.1)
100
+ guard-minitest (2.4.6)
101
+ guard-compat (~> 1.2)
102
+ minitest (>= 3.0)
103
+ guard-rubocop (1.5.0)
104
+ guard (~> 2.0)
105
+ rubocop (< 2.0)
106
+ i18n (1.14.8)
107
+ concurrent-ruby (~> 1.0)
108
+ io-console (0.8.2)
109
+ irb (1.16.0)
110
+ pp (>= 0.6.0)
111
+ rdoc (>= 4.0.0)
112
+ reline (>= 0.4.2)
113
+ json (2.18.0)
114
+ jsonapi-renderer (0.2.2)
115
+ language_server-protocol (3.17.0.5)
116
+ lint_roller (1.1.0)
117
+ listen (3.9.0)
118
+ rb-fsevent (~> 0.10, >= 0.10.3)
119
+ rb-inotify (~> 0.9, >= 0.9.10)
120
+ logger (1.7.0)
121
+ loofah (2.25.0)
122
+ crass (~> 1.0.2)
123
+ nokogiri (>= 1.12.0)
124
+ lumberjack (1.4.2)
125
+ method_source (1.1.0)
126
+ minitest (5.27.0)
127
+ nenv (0.3.0)
128
+ nokogiri (1.19.0-aarch64-linux-gnu)
129
+ racc (~> 1.4)
130
+ nokogiri (1.19.0-aarch64-linux-musl)
131
+ racc (~> 1.4)
132
+ nokogiri (1.19.0-arm-linux-gnu)
133
+ racc (~> 1.4)
134
+ nokogiri (1.19.0-arm-linux-musl)
135
+ racc (~> 1.4)
136
+ nokogiri (1.19.0-arm64-darwin)
137
+ racc (~> 1.4)
138
+ nokogiri (1.19.0-x86_64-darwin)
139
+ racc (~> 1.4)
140
+ nokogiri (1.19.0-x86_64-linux-gnu)
141
+ racc (~> 1.4)
142
+ nokogiri (1.19.0-x86_64-linux-musl)
143
+ racc (~> 1.4)
144
+ notiffany (0.1.3)
145
+ nenv (~> 0.1)
146
+ shellany (~> 0.0)
147
+ ostruct (0.6.3)
148
+ parallel (1.27.0)
149
+ parser (3.3.10.0)
150
+ ast (~> 2.4.1)
151
+ racc
152
+ pp (0.6.3)
153
+ prettyprint
154
+ prettyprint (0.2.0)
155
+ prism (1.7.0)
156
+ pry (0.16.0)
157
+ coderay (~> 1.1)
158
+ method_source (~> 1.0)
159
+ reline (>= 0.6.0)
160
+ psych (5.3.1)
161
+ date
162
+ stringio
163
+ racc (1.8.1)
164
+ rack (3.2.4)
165
+ rack-session (2.1.1)
166
+ base64 (>= 0.1.0)
167
+ rack (>= 3.0.0)
168
+ rack-test (2.2.0)
169
+ rack (>= 1.3)
170
+ rails-dom-testing (2.3.0)
171
+ activesupport (>= 5.0.0)
172
+ minitest
173
+ nokogiri (>= 1.6)
174
+ rails-html-sanitizer (1.6.2)
175
+ loofah (~> 2.21)
176
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
177
+ rainbow (3.1.1)
178
+ rake (13.3.1)
179
+ rb-fsevent (0.11.2)
180
+ rb-inotify (0.11.1)
181
+ ffi (~> 1.0)
182
+ rdoc (7.0.3)
183
+ erb
184
+ psych (>= 4.0.0)
185
+ tsort
186
+ regexp_parser (2.11.3)
187
+ reline (0.6.3)
188
+ io-console (~> 0.5)
189
+ rubocop (1.82.1)
190
+ json (~> 2.3)
191
+ language_server-protocol (~> 3.17.0.2)
192
+ lint_roller (~> 1.1.0)
193
+ parallel (~> 1.10)
194
+ parser (>= 3.3.0.2)
195
+ rainbow (>= 2.2.2, < 4.0)
196
+ regexp_parser (>= 2.9.3, < 3.0)
197
+ rubocop-ast (>= 1.48.0, < 2.0)
198
+ ruby-progressbar (~> 1.7)
199
+ unicode-display_width (>= 2.4.0, < 4.0)
200
+ rubocop-ast (1.49.0)
201
+ parser (>= 3.3.7.2)
202
+ prism (~> 1.7)
203
+ rubocop-minitest (0.38.2)
204
+ lint_roller (~> 1.1)
205
+ rubocop (>= 1.75.0, < 2.0)
206
+ rubocop-ast (>= 1.38.0, < 2.0)
207
+ rubocop-performance (1.26.1)
208
+ lint_roller (~> 1.1)
209
+ rubocop (>= 1.75.0, < 2.0)
210
+ rubocop-ast (>= 1.47.1, < 2.0)
211
+ rubocop-rake (0.7.1)
212
+ lint_roller (~> 1.1)
213
+ rubocop (>= 1.72.1)
214
+ ruby-progressbar (1.13.0)
215
+ securerandom (0.4.1)
216
+ shellany (0.0.1)
217
+ simplecov (0.22.0)
218
+ docile (~> 1.1)
219
+ simplecov-html (~> 0.11)
220
+ simplecov_json_formatter (~> 0.1)
221
+ simplecov-html (0.13.2)
222
+ simplecov_json_formatter (0.1.4)
223
+ stringio (3.2.0)
224
+ thor (1.4.0)
225
+ tsort (0.2.0)
226
+ tzinfo (2.0.6)
227
+ concurrent-ruby (~> 1.0)
228
+ unicode-display_width (3.2.0)
229
+ unicode-emoji (~> 4.1)
230
+ unicode-emoji (4.2.0)
231
+ useragent (0.16.11)
232
+
233
+ PLATFORMS
234
+ aarch64-linux-gnu
235
+ aarch64-linux-musl
236
+ arm-linux-gnu
237
+ arm-linux-musl
238
+ arm64-darwin
239
+ x86_64-darwin
240
+ x86_64-linux-gnu
241
+ x86_64-linux-musl
242
+
243
+ DEPENDENCIES
244
+ blue-eyes!
245
+ fakefs (~> 3.0)
246
+ guard (~> 2.16)
247
+ guard-bundler!
248
+ guard-minitest (~> 2.4)
249
+ guard-rubocop (~> 1.5)
250
+ irb (~> 1.14)
251
+ minitest (~> 5.25)
252
+ pry (~> 0.15)
253
+ rake (~> 13.0)
254
+ rubocop (~> 1.81)
255
+ rubocop-minitest (~> 0.38)
256
+ rubocop-performance (~> 1.26)
257
+ rubocop-rake (~> 0.6)
258
+ simplecov (~> 0.22)
259
+
260
+ CHECKSUMS
261
+ actionpack (7.2.3) sha256=2a14e4c64695777041ea7aaf498462284cadd561f009654393daf9b2de7207cf
262
+ actionview (7.2.3) sha256=1f427d7a41b43804d7250911535740451b9c32b6416239d87e6dab9d5948ecb2
263
+ active_model_serializers (0.10.16) sha256=aab6371a27eac08fac0c0d57c8207c4e08127515a7394d28eafbaabbedcc061a
264
+ activemodel (7.2.3) sha256=bbaf66aeb93212e98ebf6ab900f8290f9a831645f0b235427f5acf0e074739db
265
+ activesupport (7.2.3) sha256=5675c9770dac93e371412684249f9dc3c8cec104efd0624362a520ae685c7b10
266
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
267
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
268
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
269
+ bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
270
+ blue-eyes (1.3.5)
271
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
272
+ case_transform (0.2) sha256=e2ad4418dceeb227cf474cc332cd5004c95c136c04186c1cceaad8ab8de6fe3b
273
+ cgi (0.5.1) sha256=e93fcafc69b8a934fe1e6146121fa35430efa8b4a4047c4893764067036f18e9
274
+ coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
275
+ concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
276
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
277
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
278
+ date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
279
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
280
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
281
+ erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
282
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
283
+ fakefs (3.2.0) sha256=44fe4a18ee9bedd7010ba83d0b7c5d652e6bf156b4be66c49c75144a50ef4df2
284
+ ffi (1.17.3-aarch64-linux-gnu) sha256=28ad573df26560f0aedd8a90c3371279a0b2bd0b4e834b16a2baa10bd7a97068
285
+ ffi (1.17.3-aarch64-linux-musl) sha256=020b33b76775b1abacc3b7d86b287cef3251f66d747092deec592c7f5df764b2
286
+ ffi (1.17.3-arm-linux-gnu) sha256=5bd4cea83b68b5ec0037f99c57d5ce2dd5aa438f35decc5ef68a7d085c785668
287
+ ffi (1.17.3-arm-linux-musl) sha256=0d7626bb96265f9af78afa33e267d71cfef9d9a8eb8f5525344f8da6c7d76053
288
+ ffi (1.17.3-arm64-darwin) sha256=0c690555d4cee17a7f07c04d59df39b2fba74ec440b19da1f685c6579bb0717f
289
+ ffi (1.17.3-x86_64-darwin) sha256=1f211811eb5cfaa25998322cdd92ab104bfbd26d1c4c08471599c511f2c00bb5
290
+ ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f
291
+ ffi (1.17.3-x86_64-linux-musl) sha256=086b221c3a68320b7564066f46fed23449a44f7a1935f1fe5a245bd89d9aea56
292
+ formatador (1.2.3) sha256=19fa898133c2c26cdbb5d09f6998c1e137ad9427a046663e55adfe18b950d894
293
+ guard (2.19.1) sha256=b8bc52694be3d8b26730280de7dcec7fe92ea1cff3414246fe96af3f23580f3d
294
+ guard-bundler (3.0.1)
295
+ guard-compat (1.2.1) sha256=3ad21ab0070107f92edfd82610b5cdc2fb8e368851e72362ada9703443d646fe
296
+ guard-minitest (2.4.6) sha256=d89e83d029447c13b191599085d24b6e2fe61e402d275e46491cd3e82f561572
297
+ guard-rubocop (1.5.0) sha256=3041d796dcb5ee31e352de74732250826f5f235b4ff48df9dbf424a6dc736251
298
+ i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
299
+ io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
300
+ irb (1.16.0) sha256=2abe56c9ac947cdcb2f150572904ba798c1e93c890c256f8429981a7675b0806
301
+ json (2.18.0) sha256=b10506aee4183f5cf49e0efc48073d7b75843ce3782c68dbeb763351c08fd505
302
+ jsonapi-renderer (0.2.2) sha256=b5c44b033d61b4abdb6500fa4ab84807ca0b36ea0e59e47a2c3ca7095a6e447b
303
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
304
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
305
+ listen (3.9.0) sha256=db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67
306
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
307
+ loofah (2.25.0) sha256=df5ed7ac3bac6a4ec802df3877ee5cc86d027299f8952e6243b3dac446b060e6
308
+ lumberjack (1.4.2) sha256=40de5ae46321380c835031bcc1370f13bba304d29f2b5f5bb152061a5a191b95
309
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
310
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
311
+ nenv (0.3.0) sha256=d9de6d8fb7072228463bf61843159419c969edb34b3cef51832b516ae7972765
312
+ nokogiri (1.19.0-aarch64-linux-gnu) sha256=11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767
313
+ nokogiri (1.19.0-aarch64-linux-musl) sha256=eb70507f5e01bc23dad9b8dbec2b36ad0e61d227b42d292835020ff754fb7ba9
314
+ nokogiri (1.19.0-arm-linux-gnu) sha256=572a259026b2c8b7c161fdb6469fa2d0edd2b61cd599db4bbda93289abefbfe5
315
+ nokogiri (1.19.0-arm-linux-musl) sha256=23ed90922f1a38aed555d3de4d058e90850c731c5b756d191b3dc8055948e73c
316
+ nokogiri (1.19.0-arm64-darwin) sha256=0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810
317
+ nokogiri (1.19.0-x86_64-darwin) sha256=1dad56220b603a8edb9750cd95798bffa2b8dd9dd9aa47f664009ee5b43e3067
318
+ nokogiri (1.19.0-x86_64-linux-gnu) sha256=f482b95c713d60031d48c44ce14562f8d2ce31e3a9e8dd0ccb131e9e5a68b58c
319
+ nokogiri (1.19.0-x86_64-linux-musl) sha256=1c4ca6b381622420073ce6043443af1d321e8ed93cc18b08e2666e5bd02ffae4
320
+ notiffany (0.1.3) sha256=d37669605b7f8dcb04e004e6373e2a780b98c776f8eb503ac9578557d7808738
321
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
322
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
323
+ parser (3.3.10.0) sha256=ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6
324
+ pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
325
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
326
+ prism (1.7.0) sha256=10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103
327
+ pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
328
+ psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
329
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
330
+ rack (3.2.4) sha256=5d74b6f75082a643f43c1e76b419c40f0e5527fcfee1e669ac1e6b73c0ccb6f6
331
+ rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9
332
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
333
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
334
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
335
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
336
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
337
+ rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
338
+ rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e
339
+ rdoc (7.0.3) sha256=dfe3d0981d19b7bba71d9dbaeb57c9f4e3a7a4103162148a559c4fc687ea81f9
340
+ regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
341
+ reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
342
+ rubocop (1.82.1) sha256=09f1a6a654a960eda767aebea33e47603080f8e9c9a3f019bf9b94c9cab5e273
343
+ rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
344
+ rubocop-minitest (0.38.2) sha256=5a9dfb5a538973d0601aa51e59637d3998bb8df81233edf1ff421504c6280068
345
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
346
+ rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
347
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
348
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
349
+ shellany (0.0.1) sha256=0e127a9132698766d7e752e82cdac8250b6adbd09e6c0a7fbbb6f61964fedee7
350
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
351
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
352
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
353
+ stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
354
+ thor (1.4.0) sha256=8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d
355
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
356
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
357
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
358
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
359
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
360
+
361
+ RUBY VERSION
362
+ ruby 4.0.0
363
+
364
+ BUNDLED WITH
365
+ 4.0.3
data/Guardfile ADDED
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ guard :rubocop, cli: ['-A'] do
4
+ watch(/.+\.rb$/)
5
+ watch('Rakefile') { 'Rakefile' }
6
+ watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
7
+ end
8
+
9
+ guard :minitest do
10
+ watch(%r{^test/(.*)/?(.*)_test\.rb$})
11
+ watch(%r{^test/test_helper\.rb$}) { 'test' }
12
+ watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { |m| "test/#{m[1]}#{m[2]}_test.rb" }
13
+ end
14
+
15
+ guard :bundler do
16
+ require 'guard/bundler'
17
+ require 'guard/bundler/verify'
18
+ helper = Guard::Bundler::Verify.new
19
+
20
+ files = ['Gemfile']
21
+ files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
22
+
23
+ # Assume files are symlinked from somewhere
24
+ files.each { |file| watch(helper.real_path(file)) }
25
+ end
data/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ License: MIT
2
+
3
+ Copyright (c) 2016 Brian Emory (Corneal Ruby Gem)
4
+ Copyright (c) 2024 Ben Lamb (blue-eyes Ruby Gem)
5
+ Copyright (c) 2025 Stan Carver II (BlueEyes Ruby Gem)
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining
8
+ a copy of this software and associated documentation files (the
9
+ "Software"), to deal in the Software without restriction, including
10
+ without limitation the rights to use, copy, modify, merge, publish,
11
+ distribute, sublicense, and/or sell copies of the Software, and to
12
+ permit persons to whom the Software is furnished to do so, subject to
13
+ the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,189 @@
1
+ ![BlueEyes](lib/blue_eyes/generators/app/templates/public/images/blue-eyes-small.png)
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/blue-eyes.svg)](https://badge.fury.io/rb/blue-eyes)
4
+
5
+ [BlueEyes](https://github.com/scarver2/blue-eyes) is a command-line tool used to generate robust Sinatra apps using familiar _Rails-like_ commands.
6
+
7
+ ## The History of BlueEyes
8
+
9
+ BlueEye's original creator, Ben Lamb, was searching for a way to build a Sinatra skeleton similar to running how Rails creates applications using `rails new APP-NAME`.
10
+ [Corneal](http://thebrianemory.github.io/corneal) was the closest thing he could find and this gem is based largely off of it.
11
+ Corneal does for Sinatra what running Rails' generators would do for a Ruby on Rails application.
12
+ Over time, Brian's focus would shift to the Elixir language and Corneal development would languish.
13
+ Ben Lamb got the inspiration to continue development and forked Corneal with a new name *blue-eyes* as a shout-out to Sinatra.
14
+ Ben's contributions kept the gem operational with Ruby 2.
15
+
16
+ Fast-forward to 2025, [Stan Carver II](https://scarver2.github.io) maintains the *BlueEyes* gem to compliment to his ongoing work on [Frankie](https://github.com/scarver2/frankie), the essential Sinatra boilerplate repository.
17
+ His open-source contributions allows BlueEyes to fully support Ruby 3+ and newer versions of Sinatra, Rails, and associated gems.
18
+ BlueEyes now generates full test suites tools to aid with rapid development of microsites and APIs.
19
+
20
+ ## How to Use BlueEyes
21
+
22
+ `gem install blue-eyes` gem, run `blue-eyes new APP-NAME`, `cd` into your app's folder, then run `bundle install`.
23
+ You're all set to start developing your Sinatra application.
24
+ You can start up your server with `rackup` and verify everything is working. It is as simple as that!
25
+
26
+ ### App Directory Structure
27
+
28
+ BlueEyes creates a file structure similar to Ruby on Rails.
29
+
30
+ ```
31
+ ├── app
32
+ │ ├── controllers
33
+ │ │ └── application_controller.rb
34
+ │ ├── models
35
+ │ └── views
36
+ │ ├── layout.erb
37
+ │ └── welcome.erb
38
+ ├── bin
39
+ │ └── dev
40
+ ├── config
41
+ │ ├── initializers
42
+ │ │ ├── database.rb
43
+ │ │ └── redis.rb
44
+ │ └── environment.rb
45
+ ├── db
46
+ │ └── migrate
47
+ ├── lib
48
+ ├── public
49
+ │ ├── images
50
+ │ ├── javascripts
51
+ │ └── stylesheets
52
+ │ └── main.css
53
+ ├─── spec
54
+ │ ├── application_controller_spec.rb
55
+ │ └── spec_helper.rb
56
+ ├── .rubocop_todo.yml
57
+ ├── .rubocop.yml
58
+ ├── .simplecov
59
+ ├── config.ru
60
+ ├── Gemfile
61
+ ├── Gemfile.lock
62
+ ├── Guardfile
63
+ ├── Procfile
64
+ ├── Procfile.dev
65
+ ├── Rakefile
66
+ └── README
67
+ ```
68
+
69
+ ## Installation
70
+
71
+ BlueEyes should be installed in the global gem space rather than in a Gemfile.
72
+
73
+ ```bash
74
+ gem install blue-eyes
75
+ ```
76
+
77
+ ## Commands
78
+
79
+ ```bash
80
+ blue-eyes -v # Show BlueEyes version number
81
+ blue-eyes help [COMMAND] # Describe available commands or one specific command
82
+ blue-eyes new APP-NAME # Creates a new Sinatra application
83
+ blue-eyes model NAME # Generate a model
84
+ blue-eyes controller NAME # Generate a controller
85
+ blue-eyes scaffold NAME # Generate a model with its associated views and controllers
86
+ ```
87
+
88
+ ### Flags
89
+
90
+ The controller generator also have an optional views flag `--no-views` to create controllers without views.
91
+
92
+ ## Using BlueEyes
93
+
94
+ To generate your app:
95
+
96
+ ```bash
97
+ blue-eyes new APP-NAME
98
+ ```
99
+
100
+ Once BlueEyes has generated your app, run `bundle install` from your app's directory:
101
+
102
+ ```bash
103
+ cd APP-NAME
104
+ bundle install
105
+ ```
106
+
107
+ You can then start your server with the bundled `rackup` gem and visit http://localhost:9292 to verify your running web application.
108
+
109
+ ```bash
110
+ bundle exec rackup
111
+ ```
112
+
113
+ In similar Rails' fashion, you can generate a model and migration file:
114
+
115
+ ```bash
116
+ blue-eyes model NAME
117
+ ```
118
+
119
+ You can also generate an entire Rails-style MVC structure complete with a migration file:
120
+
121
+ ```bash
122
+ blue-eyes scaffold NAME
123
+ ```
124
+
125
+ The resulting structure will look like this:
126
+
127
+ ```
128
+ └─ app
129
+ │ ├── controllers
130
+ │ │ ├── application_controller.rb
131
+ │ ├── models
132
+ │ │ └── model_name.rb
133
+ │ └── views
134
+ │ └── model_names
135
+ │ ├──index.html.erb
136
+ │ ├──show.html.erb
137
+ │ ├──new.html.erb
138
+ │ └──edit.html.erb
139
+ └── db/migrate
140
+ └── timestamp_create_models.rb
141
+ ```
142
+
143
+ You can also add your model attributes when you generate the scaffold structure and have them added to your migration file:
144
+
145
+ ```bash
146
+ blue-eyes [model/scaffold] NAME name:string age:integer
147
+ ```
148
+
149
+ ```ruby
150
+ class CreateUsers < ActiveRecord::Migration
151
+ def change
152
+ create_table :users do |t|
153
+ t.string :name
154
+ t.integer :age
155
+ t.timestamps null: false
156
+ end
157
+ end
158
+ end
159
+ ```
160
+
161
+ After creating a model or scaffold, you will need to run `bundle exec rake db:migrate` to update the database table.
162
+
163
+ You can run the test suite with `bundle exec rspec` to ensure your app is still operational:
164
+
165
+ ```bash
166
+ Run options: include {focus: true}
167
+
168
+ All examples were filtered out; ignoring {focus: true}
169
+ ....
170
+
171
+ Finished in 0.04369 seconds (files took 2.31 seconds to load)
172
+ 4 examples, 0 failures, 0 pending
173
+ ```
174
+
175
+ You can run `bundle exec rubocop -A` to automatically fix any linting issues. It can uncover bugs too!
176
+
177
+ You can run `bundle exec guard` for continuous testing and linting while developing your application.
178
+
179
+ **Better yet**, you can execute `bin/dev` to start your server, run your tests, and lint your code all at once.
180
+ Any changes to your application will automatically reload your application, run your tests, and/or lint your code.
181
+ 💙 Developer happiness acheived. 💙
182
+
183
+ # Important Files
184
+
185
+ [CONTRIBUTING](https://github.com/scarver2/blue-eyes/blob/main/CONTRIBUTING.md)
186
+ [LICENSE](https://github.com/scarver2/blue-eyes/blob/main/LICENSE)
187
+ [TODO](https://github.com/scarver2/blue-eyes/blob/main/TODO.md)
188
+
189
+ &copy;2025 Stan Carver II
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake/testtask'
4
+ require 'bundler/gem_tasks'
5
+
6
+ desc 'Open a Pry console'
7
+ task :console do
8
+ require 'blue-eyes'
9
+ require 'pry'
10
+ Pry.start
11
+ end
12
+
13
+ Rake::TestTask.new do |t|
14
+ t.test_files = FileList['test/**/*_test.rb']
15
+ end
16
+
17
+ task default: :test
data/lib/.DS_Store ADDED
Binary file
Binary file