flame 5.0.0.rc4 → 5.0.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
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