flame 4.18.1 → 5.0.0.rc6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) 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 -4
  6. data/lib/flame/application.rb +93 -40
  7. data/lib/flame/config.rb +73 -0
  8. data/lib/flame/controller.rb +62 -98
  9. data/lib/flame/controller/actions.rb +122 -0
  10. data/lib/flame/controller/cookies.rb +44 -0
  11. data/lib/flame/controller/path_to.rb +63 -0
  12. data/lib/flame/dispatcher.rb +44 -73
  13. data/lib/flame/dispatcher/request.rb +33 -4
  14. data/lib/flame/dispatcher/routes.rb +66 -0
  15. data/lib/flame/dispatcher/static.rb +26 -15
  16. data/lib/flame/errors/argument_not_assigned_error.rb +7 -6
  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 +9 -8
  20. data/lib/flame/errors/route_extra_arguments_error.rb +18 -18
  21. data/lib/flame/errors/route_not_found_error.rb +8 -7
  22. data/lib/flame/errors/template_not_found_error.rb +6 -6
  23. data/lib/flame/path.rb +141 -55
  24. data/lib/flame/render.rb +46 -15
  25. data/lib/flame/router.rb +41 -127
  26. data/lib/flame/router/controller_finder.rb +56 -0
  27. data/lib/flame/router/route.rb +16 -54
  28. data/lib/flame/router/routes.rb +136 -0
  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 +21 -11
  32. data/lib/flame/version.rb +1 -1
  33. metadata +139 -84
  34. data/bin/flame +0 -71
  35. data/lib/flame/application/config.rb +0 -43
  36. data/lib/flame/dispatcher/cookies.rb +0 -31
  37. data/template/.gitignore +0 -11
  38. data/template/Gemfile +0 -15
  39. data/template/Rakefile.erb +0 -64
  40. data/template/app.rb.erb +0 -7
  41. data/template/config.ru.erb +0 -20
  42. data/template/config/config.rb.erb +0 -14
  43. data/template/config/database.example.yml +0 -5
  44. data/template/config/sequel.rb.erb +0 -15
  45. data/template/config/thin.example.yml +0 -18
  46. data/template/controllers/_base_controller.rb.erb +0 -13
  47. data/template/db/.keep +0 -0
  48. data/template/helpers/.keep +0 -0
  49. data/template/lib/.keep +0 -0
  50. data/template/locales/en.yml +0 -0
  51. data/template/models/.keep +0 -0
  52. data/template/public/.keep +0 -0
  53. data/template/server +0 -49
  54. data/template/views/.keep +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9fbe52ed5ac3bee05b2739396b58c83dce8f6969
4
- data.tar.gz: b54f7a5c830967546d696a4fcccf93e22dcab9c5
2
+ SHA256:
3
+ metadata.gz: 944d28e5edaf52ca1e890e95213993137cbe1f8dbce55037034da7f4563aa982
4
+ data.tar.gz: 4ffebec0a643722ed7fa1a093fa998879d17c6b8202478abf3fac09869ba7ed0
5
5
  SHA512:
6
- metadata.gz: 2c384ad693932e066041d145885cace94ebe75a3eaa1830853df0bb6ddacbcb423f9f69c36d5c2bcca2297079ab636529f9aa6294c1389378a43444b16dd72c1
7
- data.tar.gz: 4747eaf2eb6651776abf63ccd809e174ff747006be9289e1ff6aa564e55e4f7aa475ffbe7dee6d1b3b21fa382dbe69d787c452c183fceacbab7a48052472d1c9
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