flame 5.0.0.rc4 → 5.0.0.rc7

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