flame 5.0.0.rc5 → 5.0.0.rc6

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 (64) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +921 -0
  3. data/LICENSE.txt +19 -0
  4. data/README.md +135 -0
  5. data/lib/flame.rb +12 -5
  6. data/lib/flame/application.rb +47 -46
  7. data/lib/flame/config.rb +73 -0
  8. data/lib/flame/controller.rb +45 -78
  9. data/lib/flame/controller/actions.rb +122 -0
  10. data/lib/flame/{dispatcher → controller}/cookies.rb +8 -3
  11. data/lib/flame/controller/path_to.rb +34 -10
  12. data/lib/flame/dispatcher.rb +14 -17
  13. data/lib/flame/dispatcher/request.rb +25 -6
  14. data/lib/flame/dispatcher/routes.rb +22 -14
  15. data/lib/flame/dispatcher/static.rb +13 -9
  16. data/lib/flame/errors/argument_not_assigned_error.rb +3 -8
  17. data/lib/flame/errors/config_file_not_found_error.rb +17 -0
  18. data/lib/flame/errors/controller_not_found_error.rb +19 -0
  19. data/lib/flame/errors/route_arguments_order_error.rb +5 -10
  20. data/lib/flame/errors/route_extra_arguments_error.rb +10 -20
  21. data/lib/flame/errors/route_not_found_error.rb +3 -8
  22. data/lib/flame/errors/template_not_found_error.rb +2 -8
  23. data/lib/flame/path.rb +36 -18
  24. data/lib/flame/render.rb +13 -5
  25. data/lib/flame/router.rb +7 -157
  26. data/lib/flame/router/controller_finder.rb +56 -0
  27. data/lib/flame/router/route.rb +9 -0
  28. data/lib/flame/router/routes.rb +58 -8
  29. data/lib/flame/router/routes_refine.rb +144 -0
  30. data/lib/flame/router/routes_refine/mounting.rb +57 -0
  31. data/lib/flame/validators.rb +14 -10
  32. data/lib/flame/version.rb +1 -1
  33. metadata +91 -99
  34. data/bin/flame +0 -16
  35. data/lib/flame/application/config.rb +0 -49
  36. data/template/.editorconfig +0 -15
  37. data/template/.gitignore +0 -28
  38. data/template/.rubocop.yml +0 -14
  39. data/template/Gemfile +0 -55
  40. data/template/Rakefile +0 -824
  41. data/template/application.rb.erb +0 -10
  42. data/template/config.ru.erb +0 -72
  43. data/template/config/config.rb.erb +0 -56
  44. data/template/config/database.example.yml +0 -5
  45. data/template/config/deploy.example.yml +0 -2
  46. data/template/config/puma.rb +0 -56
  47. data/template/config/sequel.rb.erb +0 -22
  48. data/template/config/server.example.yml +0 -32
  49. data/template/config/session.example.yml +0 -7
  50. data/template/controllers/_controller.rb.erb +0 -14
  51. data/template/controllers/site/_controller.rb.erb +0 -18
  52. data/template/controllers/site/index_controller.rb.erb +0 -12
  53. data/template/db/.keep +0 -0
  54. data/template/filewatchers.yml +0 -12
  55. data/template/helpers/.keep +0 -0
  56. data/template/lib/.keep +0 -0
  57. data/template/locales/en.yml +0 -0
  58. data/template/models/.keep +0 -0
  59. data/template/public/.keep +0 -0
  60. data/template/server +0 -200
  61. data/template/services/.keep +0 -0
  62. data/template/views/.keep +0 -0
  63. data/template/views/site/index.html.erb.erb +0 -1
  64. data/template/views/site/layout.html.erb.erb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fbee2e2428a1b074aa45ec0f80aa22438c23ffed
4
- data.tar.gz: f5fa340f390cdd9f23168532512e7f84f5347c5c
2
+ SHA256:
3
+ metadata.gz: 944d28e5edaf52ca1e890e95213993137cbe1f8dbce55037034da7f4563aa982
4
+ data.tar.gz: 4ffebec0a643722ed7fa1a093fa998879d17c6b8202478abf3fac09869ba7ed0
5
5
  SHA512:
6
- metadata.gz: 848abf3d5e02f955af9405139d11d679f991ef62651f1c3d7d5b75edbc4bf3898dbb351e749cdc385d0c9adcebecfd09a12b6a2691e58f42b7dc2d3ea64cdf99
7
- data.tar.gz: 2b6412ec5cec259c9bdca99c818c5f657f702793db709892fe5b8fb147e689618f2d2dd31e63af6bee45b2ceffda1409c2a1d7e3c4310248d4a2098a41eb644b
6
+ metadata.gz: 770935368f96ca01e869be4b3aae7b92876a9f97cfed969e1a72a2f535c5dd90afe479565210e758f6306a42289e8c7604af8b0d9af6e681341de86ba7c58920
7
+ data.tar.gz: 79a879f862861ed89a19446b00380d70b7d57b37ca3c8e8fe64b3a20d8e00ccbb38ddafba0b87cfea1382444d66941fe5b0637d1ba689cad4e98f4f00b722c93
data/CHANGELOG.md ADDED
@@ -0,0 +1,921 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## Unreleased
6
+
7
+ ## 5.0.0.rc6 (2021-02-10)
8
+
9
+ ### Added
10
+
11
+ * Add support of `OPTIONS` HTTP-method
12
+ * Add specs for application generator, including application start
13
+ * Add `Application.require_dirs` method
14
+ * Add `Controller#path_to_back` method
15
+ * Receive options for Tilt in `Controller#(render|view)` method
16
+ via `:tilt` argument
17
+ * Add support of block for `Controller#render` method
18
+ * Add support for Ruby 2.5
19
+ * Add metadata to Gem specification with links
20
+ * Add required Ruby version into Gem specification
21
+ * Add `Controller.with_actions` method for modules
22
+ Example: `include with_actions ModuleWithActions`
23
+ * Allow to render view by relative path from current view
24
+ * Add ability for refining HTTP-methods of actions inside controllers \
25
+ Now you can not use `post`, `patch` and others inside `mount` blocks, yay!
26
+ * Add `:ignore` parameter for `Application.require_dirs`
27
+ * Catch `SyntaxError` for custom Internal Server Error page
28
+ * Add `:only` option to `#with_actions` method
29
+ * Add cache for `Controller#url_to` in production via `memery` gem
30
+ * Add ability to refine actions in modules \
31
+ Just `extend Flame::Controller::Actions` in module now,
32
+ and than `include with_actions ThatModule`, as before.
33
+ * Add ability for controllers auto-mounting \
34
+ Good bye giant application `mount` blocks! \
35
+ But you can disable it with `nested: false` option for `mount`,
36
+ for example, for conditional umbrella application.
37
+ * Add `Flame::Router::Routes#to_s`, for routes printing
38
+ ```ruby
39
+ puts MyApplication.router.routes
40
+ ```
41
+ * Add `Request#headers` method (with Camel-Cased Hash)
42
+ * Allow to mount anonymous controllers
43
+
44
+
45
+ ### Changed
46
+
47
+ * Replace Array-based routes system with Hash-based
48
+ * Refactor `flame new` command of executable file
49
+ * Update template for application generator
50
+ * Replace `URI` building with `Addressable::URI` from external gem
51
+ * Replace `no-cache` with `public` and `max-age` (one year)
52
+ for `Cache-Control` header for static files
53
+ * Implemented 405 response instead of 404 for unavailable HTTP methods
54
+ * Change format of mounting from constants to Symbols
55
+ * Call `default_body` (for the nearest route) without `execute`
56
+ * Switch from unsupported `bacon` to `minitest-bacon`, and then to RSpec
57
+ * Replace `Controller.with_actions` with `.inherit_actions`
58
+ * Move `Dispatcher#path_to` to `Application.path_to`
59
+ * Replace `Controller#default_body` with `#not_found` for 404 pages,
60
+ like `#server_error` for 500 pages.
61
+ * Replace `URI.decode_www_form_component` with `CGI.unescape`
62
+ * Reduce the number of violations of the Law of Demeter \
63
+ Thanks to [@snuggs](https://github.com/snuggs)
64
+ * Catch `invalid %-encoding`, halt 400
65
+ * Improve `#inspect` output for custom Errors
66
+ * Switch from Travis CI to Cirrus CI
67
+ * Autoload `Render` module, don't eager require \
68
+ I think it's unnecessary for API-like usage.
69
+ * Slightly optimize `StaticFile`
70
+ * Build query in `#path_to` from root-Hash \
71
+ Now building a path with merged query parameters is easier,
72
+ no more `params: {}`.
73
+ * Run `Controller#not_found` through `execute` \
74
+ For found nearest routes. \
75
+ Now we can write before-hooks in `execute` also for nonexistent pages.
76
+ * Don't assign results of `execute` (after-hooks) as `body`
77
+ * Require directories starting with `_` first
78
+ * Allow to redefine controller path with `PATH` constant inside
79
+ * Update RuboCop to version 0.65.0, resolve some new offenses \
80
+ Also lock at the patch version instead of minor, cause it's still in alpha.
81
+ * Move `flame` executable and `template/` to separated gem
82
+ `flame-cli`, not required by default.
83
+ * Improve version locks for dependencies
84
+
85
+ ### Removed
86
+
87
+ * Remove `Application#config` and `Application#router` methods
88
+ * Remove Ruby 2.3 support
89
+
90
+ ### Fixed
91
+
92
+ * Fix issue with `nil` in after-hook which returned 404 status
93
+ * Fix routing to path without an optional argument at the beginning
94
+
95
+ ### Security
96
+
97
+ * Fix exploit with static files \
98
+ You could get the content of any file
99
+ from the outside of public directory. \
100
+ It did not work with `nginx`, Cloudflare or something else.
101
+
102
+
103
+ ## 4.18.1 - 2017-06-29
104
+
105
+ ### Added
106
+
107
+ * Add `RouteArgumentsOrderError`
108
+ * Add `TemplateNotFoundError` when file for rendering not found
109
+ * Add `CODE_OF_CONDUCT.md`
110
+ * Add `:version` option for `Controller#url_to` method with static files
111
+
112
+ ### Changed
113
+
114
+ * Remove ending slash from `Path#adapt` if initial path has all parameters
115
+ * Rename `RouteArgumentsError` to `RouteExtraArgumentsError`
116
+
117
+ ### Fixed
118
+
119
+ * Fix `RouteArgumentsValidator#action_arguments` caching
120
+ * Fix gem requiring in some cases
121
+
122
+ ## 4.18.0 - 2017-06-27
123
+
124
+ ### Added
125
+
126
+ * Add parent actions inheritance without forbidden actions
127
+
128
+ ### Changed
129
+
130
+ * Improve `Controller#extract_params_for` method
131
+
132
+ ## 4.17.0 - 2017-06-14
133
+
134
+ ### Added
135
+
136
+ * Add support of Modules for `with_actions` method
137
+
138
+ ## 4.16.0 - 2017-06-09
139
+
140
+ ### Changed
141
+
142
+ * Return status from `Flame::Controller#redirect`
143
+
144
+ ### Fixed
145
+
146
+ * Fix body for rerouted action
147
+
148
+ ## 4.15.2 - 2017-06-07
149
+
150
+ ### Added
151
+
152
+ * Add `Flame::Path#to_str` method for implicit conversion to String
153
+
154
+ ## 4.15.1 - 2017-06-07
155
+
156
+ ### Added
157
+
158
+ * Add support of `Flame::Path` for `Controller#url_to`
159
+
160
+ ## 4.15.0 - 2017-06-07
161
+
162
+ ### Added
163
+
164
+ * Add `Controller#reroute` method for executing another action
165
+
166
+ ### Changed
167
+
168
+ * Remove ending slash for `Path#adapt` to actions without parameters
169
+
170
+ ### Fixed
171
+
172
+ * Fix default path for nested `IndexController`
173
+
174
+ ## 4.14.1 - 2017-05-29
175
+
176
+ ### Added
177
+
178
+ * Add `Path` class for more OOP
179
+
180
+ ### Changed
181
+
182
+ * Improve `Flame::Request#http_method` and comparing by it
183
+
184
+ ## 4.14.0 - 2017-05-24
185
+
186
+ ### Added
187
+
188
+ * Add support of HTTP status as last argument for `Controller#redirect` method
189
+ * Add support of `Controller#redirect` as argument for `Dispatcher#halt`
190
+
191
+ ### Changed
192
+
193
+ * Return `nil` from `Controller#redirect` method
194
+
195
+ ## 4.13.0 - 2017-05-19
196
+
197
+ ### Added
198
+
199
+ * Add support of `HEAD` HTTP method
200
+
201
+ ### Changed
202
+
203
+ * Return upcased symbolized HTTP method from `Flame::Request#http_method`
204
+
205
+ ## 4.12.4 - 2017-05-17
206
+
207
+ ### Changed
208
+
209
+ * Add comparing by first argument including in path parts for Routes sorting
210
+
211
+ ## 4.12.3 - 2017-05-17
212
+
213
+ ### Added
214
+
215
+ * Add support of `URI` objects for `redirect` method
216
+
217
+ ### Changed
218
+
219
+ * Move cached views from `Flame::Render` to `Application`
220
+ * Improve view files search by controller name \
221
+ Don't remove extra (logical) `controller` parts.
222
+
223
+ ### Fixed
224
+
225
+ * Display default body for status (500) if controller has not initialized
226
+ Don't raise another (the second) exception.
227
+
228
+ ## 4.12.2 - 2017-05-04
229
+
230
+ ### Changed
231
+
232
+ * Improve default body rendering
233
+
234
+ ## 4.12.1 - 2017-04-27
235
+
236
+ ### Fixed
237
+
238
+ * Fix many errors in 4.12.0
239
+
240
+ ## 4.12.0 - 2017-04-27
241
+
242
+ ### Added
243
+
244
+ * Add specs
245
+ * Add Travis CI integration
246
+ * Add Code Climate integration
247
+
248
+ ### Changed
249
+
250
+ * Update Ruby target version in RuboCop to 2.3
251
+ * Remove trailing slash for `path_to` without optional arguments
252
+ * Replace two different errors about Route arguments \
253
+ with one `RouteArgumentsError`
254
+ * Require status for `halt` method before body
255
+ * Move `Content-Type` writer from Dispatcher to Response
256
+ * Try to find and return static files before routes
257
+
258
+ ### Removed
259
+
260
+ * Remove unnecessary Actions Validator
261
+
262
+ ### Fixed
263
+
264
+ * Fix dependencies and their versions
265
+ * Fix issue with default body from Flame
266
+ * Fix issue with frozen path in `path_to`
267
+ * Fix offenses from new RuboCop version
268
+
269
+ ## 4.11.3.2 - 2017-02-27
270
+
271
+ ### Changed
272
+
273
+ * Use [`rack-slashenforce`](https://github.com/AlexWayfer/rack-slashenforce) \
274
+ instead of custom (built) implementation.
275
+
276
+ ## 4.11.3.1 - 2017-02-26
277
+
278
+ ### Fixed
279
+
280
+ * Fix critical bug with static files
281
+
282
+ ## 4.11.3 - 2017-02-25
283
+
284
+ ### Added
285
+
286
+ * Add `Cache-Control: no-cache` header for responses with static files
287
+
288
+ ### Changed
289
+
290
+ * Make methods for static files in Dispatcher private
291
+
292
+ ### Fixed
293
+
294
+ * Fix `gemspec` require
295
+ * Fix content type for attachments
296
+
297
+ ## 4.11.2 - 2017-02-21
298
+
299
+ ### Fixed
300
+
301
+ * Fix views as symbolic links
302
+
303
+ ## 4.11.1 - 2017-02-21
304
+
305
+ ### Added
306
+
307
+ * Add `halt` method for controllers
308
+
309
+ ## 4.11.0 - 2017-02-20
310
+
311
+ ### Added
312
+
313
+ * Add support of actions optional arguments values
314
+ * Add more methods for Controller delegation from Dispatcher
315
+
316
+ ### Changed
317
+
318
+ * Replace `rescue` in `execute` with `server_error` private method
319
+
320
+ ### Fixed
321
+
322
+ * Fix views files search
323
+
324
+ ## 4.10.0 - 2017-01-24
325
+
326
+ ### Added
327
+
328
+ * Add redirect from request with many trailing slashes to path without them
329
+
330
+ ## 4.9.0 - 2017-01-24
331
+
332
+ ### Added
333
+
334
+ * Add cache option for views render
335
+
336
+ ## 4.8.1 - 2017-01-24
337
+
338
+ ### Fixed
339
+
340
+ * Fix layouts for `PlainTemplate`
341
+
342
+ ## 4.8.0 - 2017-01-20
343
+
344
+ ### Changed
345
+
346
+ * Make `defaults` method for routes refines not required
347
+
348
+ ## 4.7.4 - 2017-01-17
349
+
350
+ ### Added
351
+
352
+ * Add RuboCop as development dependency, resolve some offenses
353
+
354
+ ### Changed
355
+
356
+ * Update `gorilla-patch` to version `2`
357
+
358
+ ## 4.7.3 - 2017-01-17
359
+
360
+ ### Added
361
+
362
+ * Add `Controller.actions` shortcut method
363
+
364
+ ## 4.7.2 - 2016-12-28
365
+
366
+ ### Added
367
+
368
+ * Add `:tmp_dir` for `Application#config`
369
+
370
+ ## 4.7.1 - 2016-12-16
371
+
372
+ ### Added
373
+
374
+ * Add `PATCH` HTTP-method for routes refines
375
+
376
+ ## 4.7.0 - 2016-11-15
377
+
378
+ ### Removed
379
+
380
+ * Remove String keys from `params`, leave only Symbol
381
+
382
+ ## 4.6.2 - 2016-11-10
383
+
384
+ ### Changed
385
+
386
+ * Update `gorilla-patch` to version `1.0.0`
387
+
388
+ ## 4.6.1 - 2016-11-08
389
+
390
+ ### Changed
391
+
392
+ * Update gemspec syntax
393
+
394
+ ## 4.6.0 - 2016-10-31
395
+
396
+ ### Added
397
+
398
+ * Add support of `:params` argument for `path_to` method
399
+
400
+ ## 4.5.1 - 2016-10-20
401
+
402
+ ### Added
403
+
404
+ * Add support of `false` value for layout render option
405
+
406
+ ## 4.5.0 - 2016-09-27
407
+
408
+ ### Changed
409
+
410
+ * Improve parent actions inheritance
411
+
412
+ ## 4.4.6 - 2016-09-22
413
+
414
+ ### Added
415
+
416
+ * Add method to inherit actions from superclass
417
+
418
+ ## 4.4.6 - 2016-09-22
419
+
420
+ ### Added
421
+
422
+ * Add method to inherit actions from superclass
423
+
424
+ ## 4.4.5.1 - 2016-09-12
425
+
426
+ ### Fixed
427
+
428
+ * Update `gorilla-patch` to fixed version
429
+
430
+ ## 4.4.5 - 2016-09-12
431
+
432
+ ### Fixed
433
+
434
+ * Symbolize `params` keys nested in Arrays
435
+
436
+ ## 4.4.4 - 2016-08-01
437
+
438
+ ### Changed
439
+
440
+ * Update `rack` and `tilt` dependencies
441
+
442
+ ## 4.4.3 - 2016-04-21
443
+
444
+ ### Added
445
+
446
+ * Add port (after host) for `url_to` method
447
+
448
+ ## 4.4.3 - 2016-04-21
449
+
450
+ ### Added
451
+
452
+ * Add port (after host) for `url_to` method
453
+
454
+ ## 4.4.2 - 2016-04-12
455
+
456
+ ### Fixed
457
+
458
+ * Fix `default_body` for static files
459
+
460
+ ## 4.4.1 - 2016-04-12
461
+
462
+ ### Fixed
463
+
464
+ * Fix bugs with `default_body` invoking
465
+
466
+ ## 4.4.0.1 - 2016-04-12
467
+
468
+ ### Fixed
469
+
470
+ * Fix 404 (after previous change)
471
+
472
+ ## 4.4.0 - 2016-04-12
473
+
474
+ ### Changed
475
+
476
+ * Replace `not_found` method with `default_body` and halting, for 404
477
+
478
+ ## 4.3.5 - 2016-04-01
479
+
480
+ ### Fixed
481
+
482
+ * Fix nested layouts sorting
483
+
484
+ ## 4.3.4 - 2016-03-31
485
+
486
+ ### Added
487
+
488
+ * Add `url_to` helper method for building full URL from controller
489
+
490
+ ## 4.3.3 - 2016-03-23
491
+
492
+ ### Added
493
+
494
+ * Add support of views filenames as downcased controller name \
495
+ when actions is `index`
496
+
497
+ ## 4.3.2 - 2016-03-10
498
+
499
+ ### Fixed
500
+
501
+ * Fix issue with cache of non-rendered
502
+
503
+ ## 4.3.1 - 2016-03-10
504
+
505
+ ### Fixed
506
+
507
+ * Fix non-Symbol nested keys in request `params`
508
+
509
+ ## 4.3 - 2016-03-10
510
+
511
+ ### Added
512
+
513
+ * Add support of view render with multiple layouts
514
+
515
+ ## 4.2.1 - 2016-03-02
516
+
517
+ ### Changed
518
+
519
+ * Make `Flame::Render` work with cache
520
+
521
+ ## 4.2.1 - 2016-03-02
522
+
523
+ ### Changed
524
+
525
+ * Make `Flame::Render.tilts` public
526
+
527
+ ## 4.2.0 - 2016-03-02
528
+
529
+ ### Added
530
+
531
+ * Add executable with `new` subcommand
532
+
533
+ ## 4.1.0 - 2016-03-02
534
+
535
+ ### Added
536
+
537
+ * Add method for loading YAML files to Application
538
+
539
+ ## 4.0.16 - 2016-02-16
540
+
541
+ ### Fixed
542
+
543
+ * Fix static files for Unicode filenames
544
+
545
+ ## 4.0.15 - 2016-02-16
546
+
547
+ ### Changed
548
+
549
+ * Improve views directories search (add more variants)
550
+
551
+ ## 4.0.15 - 2016-02-16
552
+
553
+ ### Changed
554
+
555
+ * Improve views directories search (more variants)
556
+
557
+ ## 4.0.14 - 2016-02-16
558
+
559
+ ### Added
560
+
561
+ * Add `:index` action as default for `path_to` helper method
562
+
563
+ ## 4.0.13 - 2016-02-15
564
+
565
+ ### Added
566
+
567
+ * Add `content_type` and `attachment` helper methods for Dispatcher
568
+
569
+ ## 4.0.12 - 2016-02-15
570
+
571
+ ### Changed
572
+
573
+ * Take underscored preceding module name if controller is `IndexController`
574
+
575
+ ## 4.0.11 - 2016-02-10
576
+
577
+ ### Changed
578
+
579
+ * Improve views directories search
580
+
581
+ ## 4.0.10 - 2016-02-10
582
+
583
+ ### Changed
584
+
585
+ * Remove `index` part from directories of views for controller
586
+
587
+ ## 4.0.9 - 2016-02-08
588
+
589
+ ### Fixed
590
+
591
+ * Fix fatal issues from version 4.0.8
592
+
593
+ ## 4.0.8 - 2016-02-08
594
+
595
+ ### Changed
596
+
597
+ * Change Route class, fix many default-path-build errors
598
+
599
+ ## 4.0.7.2 - 2016-02-07
600
+
601
+ ### Fixed
602
+
603
+ * Fix `ArgumentNotAssignedError` raising
604
+
605
+ ## 4.0.7.1 - 2016-02-07
606
+
607
+ ### Fixed
608
+
609
+ * Fix dependencies
610
+
611
+ ## 4.0.7 - 2016-02-05
612
+
613
+ ### Changed
614
+
615
+ * Improve templates and layouts search
616
+
617
+ ## 4.0.6 - 2016-02-04
618
+
619
+ ### Added
620
+
621
+ * Add support of protected `Controller#execute` methods
622
+
623
+ ### Fixed
624
+
625
+ * Fix `GorillaPatch` usage
626
+ * Fix error raising in `path_to` (for nonexistent route)
627
+
628
+ ## 4.0.5 - 2016-02-03
629
+
630
+ ### Added
631
+
632
+ * Dump exception from Dispatcher if not dumped from Controller
633
+
634
+ ### Changed
635
+
636
+ * Improve default paths for controllers
637
+
638
+ ## 4.0.4 - 2016-02-03
639
+
640
+ ### Added
641
+
642
+ * Add version file (and `Flame::VERSION` constant)
643
+
644
+ ## 4.0.3 - 2016-02-02
645
+
646
+ ### Added
647
+
648
+ * Add internal helper method for plugins
649
+
650
+ ## 4.0.2 - 2016-02-01
651
+
652
+ ### Changed
653
+
654
+ * Relax `tilt` dependency
655
+ * Return `nil` when template not found instead of 404
656
+
657
+ ### Fixed
658
+
659
+ * Fix default REST actions
660
+
661
+ ## 4.0.1 - 2016-02-01
662
+
663
+ ### Changed
664
+
665
+ * Nest Validators, Errors and Route from root (`Flame`) namespace
666
+
667
+ ## 4.0.0 - 2016-01-29
668
+
669
+ ### Changed
670
+
671
+ * Make hooks as code in `Controller#execute` method (before and after `super`)
672
+ * Documentation (YARD) added!
673
+
674
+ ## 3.6.3 - 2016-01-27
675
+
676
+ ### Changed
677
+
678
+ * Improve controllers templates folder searching
679
+
680
+ ## 3.6.2 - 2016-01-26
681
+
682
+ ### Fixed
683
+
684
+ * Fix 404 error
685
+
686
+ ## 3.6.1 - 2016-01-26
687
+
688
+ ### Changed
689
+
690
+ * Make empty string as default body
691
+
692
+ ## 3.6.0 - 2016-01-26
693
+
694
+ ### Added
695
+
696
+ * Add `body` (united reader and writer) method
697
+
698
+ ## 3.5.2 - 2016-01-26
699
+
700
+ ### Added
701
+
702
+ * Add `Content-Type: text/html` header for default body
703
+
704
+ ## 3.5.1 - 2016-01-26
705
+
706
+ ### Fixed
707
+
708
+ * Fix 404 without nearest route
709
+
710
+ ## 3.5.0 - 2016-01-26
711
+
712
+ ### Added
713
+
714
+ * Add hooks for errors
715
+
716
+ ### Changed
717
+
718
+ * Fix and improve many things
719
+
720
+ ## 3.4.0 - 2016-01-11
721
+
722
+ ### Removed
723
+
724
+ * Remove middlewares and `Flame::Application.use` method \
725
+ Use `rackup` for this.
726
+
727
+ ## 3.3.4 - 2015-12-10
728
+
729
+ ### Changed
730
+
731
+ * Make "all actions" as default for `after` and `before` hooks
732
+
733
+ ## 3.3.3 - 2015-12-09
734
+
735
+ ### Added
736
+
737
+ * Add Symbol keys in `params` alongside of String
738
+
739
+ ## 3.3.2 - 2015-12-07
740
+
741
+ ### Changed
742
+
743
+ * Make `:index` as default action for `path_to`
744
+
745
+ ## 3.3.1 - 2015-12-07
746
+
747
+ ### Fixed
748
+
749
+ * Fix error when body is `OK` instead of empty
750
+
751
+ ## 3.3.0 - 2015-12-07
752
+
753
+ ### Added
754
+
755
+ * Add support of `RACK_ENV` environment variable
756
+ * Add `:cache` option for `render` method (enabled by default)
757
+
758
+ ### Fixed
759
+
760
+ * Fix templates
761
+
762
+ ## 3.2.1 - 2015-12-07
763
+
764
+ ### Changed
765
+
766
+ * Make default path for `IndexController` equal to `/`
767
+
768
+ ## 3.2.0 - 2015-12-03
769
+
770
+ ### Added
771
+
772
+ * Add `helpers` method for applications
773
+
774
+ ### Changed
775
+
776
+ * Make Dispatcher as class, large refactoring
777
+
778
+ ## 3.1.4 - 2015-11-25
779
+
780
+ ### Added
781
+
782
+ * Add `:config_dir` for `Application#config`
783
+
784
+ ## 3.1.3.1 - 2015-11-25
785
+
786
+ ### Fixed
787
+
788
+ * Fix error with `nil` action in routes refines
789
+
790
+ ## 3.1.3 - 2015-11-16
791
+
792
+ ### Changed
793
+
794
+ * Make path for routes refines not required
795
+
796
+ ## 3.1.2 - 2015-11-09
797
+
798
+ ### Fixed
799
+
800
+ * Fix default paths of controllers
801
+
802
+ ## 3.1.1 - 2015-11-09
803
+
804
+ ### Added
805
+
806
+ * Add (recursive) `mount` method for routes refine
807
+
808
+ ### Changed
809
+
810
+ * Improve template searching in different possible directories
811
+ * Make `path` argument of `Flame::Controller#view` method not required
812
+
813
+ ### Fixed
814
+
815
+ * Fix `Flame::Controller#path_to` method
816
+
817
+ ## 3.1.0 - 2015-11-09
818
+
819
+ ### Added
820
+
821
+ * Add (recursive) `mount` method for routes refine
822
+
823
+ ## 3.0.0 - 2015-11-08
824
+
825
+ ### Changed
826
+
827
+ * Make Controllers as classes, Dispatcher as helper module for Application
828
+
829
+ ## 2.2.0 - 2015-11-06
830
+
831
+ ### Added
832
+
833
+ * Add `after` method (hook) for routes refine
834
+
835
+ ## 2.1.1 - 2015-11-03
836
+
837
+ ### Added
838
+
839
+ * Add `Rack::Session::Pool` by default
840
+
841
+ ## 2.1.0 - 2015-11-02
842
+
843
+ ### Added
844
+
845
+ * Add support for Rack middlewares in Flame applications
846
+
847
+ ## 2.0.0 - 2015-10-28
848
+
849
+ ### Changed
850
+
851
+ * Remove `Controller` class, make controllers as modules
852
+
853
+ ## 1.1.9 - 2015-10-25
854
+
855
+ ### Changed
856
+
857
+ * Set cookies for path `/`
858
+
859
+ ## 1.1.8 - 2015-10-25
860
+
861
+ ### Added
862
+
863
+ * Add more helper methods for `Flame::Dispatcher` and controllers
864
+
865
+ ### Fixed
866
+
867
+ * Fix `scope` for layouts
868
+
869
+ ## 1.1.2 - 2015-10-21
870
+
871
+ ### Changed
872
+
873
+ * Improve version locks for other dependencies
874
+
875
+ ## 1.1.1.1 - 2015-10-21
876
+
877
+ ### Changed
878
+
879
+ * Improve version locks for dependencies
880
+
881
+ ## 1.1.1 - 2015-10-21
882
+
883
+ ### Changed
884
+
885
+ * Add REST actions as default
886
+
887
+ ## 1.1.0 - 2015-10-21
888
+
889
+ ### Added
890
+
891
+ * Add `Flame::Request` (`Rack::Request` wrapper)
892
+ * Add `before` method for routes refine
893
+
894
+ ## 1.0.6 - 2015-10-19
895
+
896
+ ### Fixed
897
+
898
+ * Fix Tilt-warnings
899
+ * Fix views search for controllers
900
+
901
+ ## 1.0.4 - 2015-10-14
902
+
903
+ ### Added
904
+
905
+ * Add helper methods for controllers
906
+
907
+ ## 1.0.2 - 2015-10-08
908
+
909
+ ### Fixed
910
+
911
+ * Fix bug when a view layout is missing
912
+
913
+ ## 1.0.1 - 2015-10-08
914
+
915
+ ### Fixed
916
+
917
+ * Fix error with 'tilt' dependency
918
+
919
+ ## 1.0 - 2015-10-07
920
+
921
+ ### Initial release