flame 4.18.1 → 5.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/bin/flame +7 -62
  3. data/lib/flame.rb +1 -0
  4. data/lib/flame/application.rb +75 -17
  5. data/lib/flame/application/config.rb +6 -0
  6. data/lib/flame/controller.rb +36 -76
  7. data/lib/flame/controller/path_to.rb +39 -0
  8. data/lib/flame/dispatcher.rb +25 -66
  9. data/lib/flame/dispatcher/cookies.rb +10 -2
  10. data/lib/flame/dispatcher/routes.rb +53 -0
  11. data/lib/flame/dispatcher/static.rb +15 -8
  12. data/lib/flame/errors/argument_not_assigned_error.rb +6 -0
  13. data/lib/flame/errors/route_arguments_order_error.rb +6 -0
  14. data/lib/flame/errors/route_extra_arguments_error.rb +10 -0
  15. data/lib/flame/errors/route_not_found_error.rb +10 -4
  16. data/lib/flame/errors/template_not_found_error.rb +6 -0
  17. data/lib/flame/path.rb +63 -33
  18. data/lib/flame/render.rb +21 -8
  19. data/lib/flame/router.rb +112 -66
  20. data/lib/flame/router/route.rb +9 -56
  21. data/lib/flame/router/routes.rb +86 -0
  22. data/lib/flame/validators.rb +7 -1
  23. data/lib/flame/version.rb +1 -1
  24. data/template/.editorconfig +15 -0
  25. data/template/.gitignore +19 -2
  26. data/template/.rubocop.yml +14 -0
  27. data/template/Gemfile +48 -8
  28. data/template/Rakefile +824 -0
  29. data/template/{app.rb.erb → application.rb.erb} +4 -1
  30. data/template/config.ru.erb +62 -10
  31. data/template/config/config.rb.erb +44 -2
  32. data/template/config/database.example.yml +1 -1
  33. data/template/config/deploy.example.yml +2 -0
  34. data/template/config/puma.rb +56 -0
  35. data/template/config/sequel.rb.erb +13 -6
  36. data/template/config/server.example.yml +32 -0
  37. data/template/config/session.example.yml +7 -0
  38. data/template/controllers/{_base_controller.rb.erb → _controller.rb.erb} +5 -4
  39. data/template/controllers/site/_controller.rb.erb +18 -0
  40. data/template/controllers/site/index_controller.rb.erb +12 -0
  41. data/template/filewatchers.yml +12 -0
  42. data/template/server +172 -21
  43. data/template/services/.keep +0 -0
  44. data/template/views/site/index.html.erb.erb +1 -0
  45. data/template/views/site/layout.html.erb.erb +10 -0
  46. metadata +112 -54
  47. data/template/Rakefile.erb +0 -64
  48. data/template/config/thin.example.yml +0 -18
File without changes
@@ -0,0 +1 @@
1
+ <h1>Hello, world!</h1>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><%= "\<%= #{@short_module_name}::SITE_NAME %\>" %></title>
6
+ </head>
7
+ <body>
8
+ <%= "\<%= yield %\>" %>
9
+ </body>
10
+ </html>
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flame
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.18.1
4
+ version: 5.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-29 00:00:00.000000000 Z
11
+ date: 2018-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: addressable
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: gorilla-patch
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.7'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: rack
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +52,20 @@ dependencies:
24
52
  - - "~>"
25
53
  - !ruby/object:Gem::Version
26
54
  version: '2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: tilt
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -45,117 +87,105 @@ dependencies:
45
87
  - !ruby/object:Gem::Version
46
88
  version: '3'
47
89
  - !ruby/object:Gem::Dependency
48
- name: gorilla-patch
90
+ name: codecov
49
91
  requirement: !ruby/object:Gem::Requirement
50
92
  requirements:
51
93
  - - "~>"
52
94
  - !ruby/object:Gem::Version
53
- version: '2'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 2.0.0
57
- type: :runtime
95
+ version: '0'
96
+ type: :development
58
97
  prerelease: false
59
98
  version_requirements: !ruby/object:Gem::Requirement
60
99
  requirements:
61
100
  - - "~>"
62
101
  - !ruby/object:Gem::Version
63
- version: '2'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 2.0.0
102
+ version: '0'
67
103
  - !ruby/object:Gem::Dependency
68
- name: thor
104
+ name: minitest-bacon
69
105
  requirement: !ruby/object:Gem::Requirement
70
106
  requirements:
71
107
  - - "~>"
72
108
  - !ruby/object:Gem::Version
73
- version: '0'
74
- type: :runtime
109
+ version: '1'
110
+ type: :development
75
111
  prerelease: false
76
112
  version_requirements: !ruby/object:Gem::Requirement
77
113
  requirements:
78
114
  - - "~>"
79
115
  - !ruby/object:Gem::Version
80
- version: '0'
116
+ version: '1'
81
117
  - !ruby/object:Gem::Dependency
82
- name: rubocop
118
+ name: minitest-reporters
83
119
  requirement: !ruby/object:Gem::Requirement
84
120
  requirements:
85
121
  - - "~>"
86
122
  - !ruby/object:Gem::Version
87
- version: '0.48'
123
+ version: '1'
88
124
  type: :development
89
125
  prerelease: false
90
126
  version_requirements: !ruby/object:Gem::Requirement
91
127
  requirements:
92
128
  - - "~>"
93
129
  - !ruby/object:Gem::Version
94
- version: '0.48'
130
+ version: '1'
95
131
  - !ruby/object:Gem::Dependency
96
- name: rake
132
+ name: pry
97
133
  requirement: !ruby/object:Gem::Requirement
98
134
  requirements:
99
135
  - - "~>"
100
136
  - !ruby/object:Gem::Version
101
- version: '12'
137
+ version: '0'
102
138
  type: :development
103
139
  prerelease: false
104
140
  version_requirements: !ruby/object:Gem::Requirement
105
141
  requirements:
106
142
  - - "~>"
107
143
  - !ruby/object:Gem::Version
108
- version: '12'
144
+ version: '0'
109
145
  - !ruby/object:Gem::Dependency
110
- name: bacon
146
+ name: pry-byebug
111
147
  requirement: !ruby/object:Gem::Requirement
112
148
  requirements:
113
149
  - - "~>"
114
150
  - !ruby/object:Gem::Version
115
- version: '1'
151
+ version: '3.5'
116
152
  type: :development
117
153
  prerelease: false
118
154
  version_requirements: !ruby/object:Gem::Requirement
119
155
  requirements:
120
156
  - - "~>"
121
157
  - !ruby/object:Gem::Version
122
- version: '1'
158
+ version: '3.5'
123
159
  - !ruby/object:Gem::Dependency
124
- name: bacon-colored_output
160
+ name: puma
125
161
  requirement: !ruby/object:Gem::Requirement
126
162
  requirements:
127
163
  - - "~>"
128
164
  - !ruby/object:Gem::Version
129
- version: '1.1'
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 1.1.1
165
+ version: '3.9'
133
166
  type: :development
134
167
  prerelease: false
135
168
  version_requirements: !ruby/object:Gem::Requirement
136
169
  requirements:
137
170
  - - "~>"
138
171
  - !ruby/object:Gem::Version
139
- version: '1.1'
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 1.1.1
172
+ version: '3.9'
143
173
  - !ruby/object:Gem::Dependency
144
- name: rack-test
174
+ name: rack-console
145
175
  requirement: !ruby/object:Gem::Requirement
146
176
  requirements:
147
177
  - - "~>"
148
178
  - !ruby/object:Gem::Version
149
- version: '0'
179
+ version: '1'
150
180
  type: :development
151
181
  prerelease: false
152
182
  version_requirements: !ruby/object:Gem::Requirement
153
183
  requirements:
154
184
  - - "~>"
155
185
  - !ruby/object:Gem::Version
156
- version: '0'
186
+ version: '1'
157
187
  - !ruby/object:Gem::Dependency
158
- name: simplecov
188
+ name: rack-test
159
189
  requirement: !ruby/object:Gem::Requirement
160
190
  requirements:
161
191
  - - "~>"
@@ -169,47 +199,61 @@ dependencies:
169
199
  - !ruby/object:Gem::Version
170
200
  version: '0'
171
201
  - !ruby/object:Gem::Dependency
172
- name: codecov
202
+ name: rack-utf8_sanitizer
173
203
  requirement: !ruby/object:Gem::Requirement
174
204
  requirements:
175
205
  - - "~>"
176
206
  - !ruby/object:Gem::Version
177
- version: '0'
207
+ version: '1.3'
178
208
  type: :development
179
209
  prerelease: false
180
210
  version_requirements: !ruby/object:Gem::Requirement
181
211
  requirements:
182
212
  - - "~>"
183
213
  - !ruby/object:Gem::Version
184
- version: '0'
214
+ version: '1.3'
185
215
  - !ruby/object:Gem::Dependency
186
- name: pry
216
+ name: rake
187
217
  requirement: !ruby/object:Gem::Requirement
188
218
  requirements:
189
219
  - - "~>"
190
220
  - !ruby/object:Gem::Version
191
- version: '0'
221
+ version: '12'
192
222
  type: :development
193
223
  prerelease: false
194
224
  version_requirements: !ruby/object:Gem::Requirement
195
225
  requirements:
196
226
  - - "~>"
197
227
  - !ruby/object:Gem::Version
198
- version: '0'
228
+ version: '12'
199
229
  - !ruby/object:Gem::Dependency
200
- name: pry-byebug
230
+ name: rubocop
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - '='
234
+ - !ruby/object:Gem::Version
235
+ version: '0.51'
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - '='
241
+ - !ruby/object:Gem::Version
242
+ version: '0.51'
243
+ - !ruby/object:Gem::Dependency
244
+ name: simplecov
201
245
  requirement: !ruby/object:Gem::Requirement
202
246
  requirements:
203
247
  - - "~>"
204
248
  - !ruby/object:Gem::Version
205
- version: '3'
249
+ version: '0'
206
250
  type: :development
207
251
  prerelease: false
208
252
  version_requirements: !ruby/object:Gem::Requirement
209
253
  requirements:
210
254
  - - "~>"
211
255
  - !ruby/object:Gem::Version
212
- version: '3'
256
+ version: '0'
213
257
  description: Use controller's classes with instance methods as routing actions, mounting
214
258
  its in application class.
215
259
  email:
@@ -224,10 +268,12 @@ files:
224
268
  - lib/flame/application.rb
225
269
  - lib/flame/application/config.rb
226
270
  - lib/flame/controller.rb
271
+ - lib/flame/controller/path_to.rb
227
272
  - lib/flame/dispatcher.rb
228
273
  - lib/flame/dispatcher/cookies.rb
229
274
  - lib/flame/dispatcher/request.rb
230
275
  - lib/flame/dispatcher/response.rb
276
+ - lib/flame/dispatcher/routes.rb
231
277
  - lib/flame/dispatcher/static.rb
232
278
  - lib/flame/errors/argument_not_assigned_error.rb
233
279
  - lib/flame/errors/route_arguments_order_error.rb
@@ -238,27 +284,39 @@ files:
238
284
  - lib/flame/render.rb
239
285
  - lib/flame/router.rb
240
286
  - lib/flame/router/route.rb
287
+ - lib/flame/router/routes.rb
241
288
  - lib/flame/validators.rb
242
289
  - lib/flame/version.rb
243
290
  - public/favicon.ico
291
+ - template/.editorconfig
244
292
  - template/.gitignore
293
+ - template/.rubocop.yml
245
294
  - template/Gemfile
246
- - template/Rakefile.erb
247
- - template/app.rb.erb
295
+ - template/Rakefile
296
+ - template/application.rb.erb
248
297
  - template/config.ru.erb
249
298
  - template/config/config.rb.erb
250
299
  - template/config/database.example.yml
300
+ - template/config/deploy.example.yml
301
+ - template/config/puma.rb
251
302
  - template/config/sequel.rb.erb
252
- - template/config/thin.example.yml
253
- - template/controllers/_base_controller.rb.erb
303
+ - template/config/server.example.yml
304
+ - template/config/session.example.yml
305
+ - template/controllers/_controller.rb.erb
306
+ - template/controllers/site/_controller.rb.erb
307
+ - template/controllers/site/index_controller.rb.erb
254
308
  - template/db/.keep
309
+ - template/filewatchers.yml
255
310
  - template/helpers/.keep
256
311
  - template/lib/.keep
257
312
  - template/locales/en.yml
258
313
  - template/models/.keep
259
314
  - template/public/.keep
260
315
  - template/server
316
+ - template/services/.keep
261
317
  - template/views/.keep
318
+ - template/views/site/index.html.erb.erb
319
+ - template/views/site/layout.html.erb.erb
262
320
  homepage: https://github.com/AlexWayfer/flame
263
321
  licenses:
264
322
  - MIT
@@ -274,12 +332,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
332
  version: '0'
275
333
  required_rubygems_version: !ruby/object:Gem::Requirement
276
334
  requirements:
277
- - - ">="
335
+ - - ">"
278
336
  - !ruby/object:Gem::Version
279
- version: '0'
337
+ version: 1.3.1
280
338
  requirements: []
281
339
  rubyforge_project:
282
- rubygems_version: 2.6.11
340
+ rubygems_version: 2.6.14
283
341
  signing_key:
284
342
  specification_version: 4
285
343
  summary: Web-framework, based on MVC-pattern
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- namespace :db do
4
- ## Require libs and config
5
- require 'sequel'
6
- require File.join(__dir__, 'config', 'sequel.rb')
7
- ## Default path to db-files
8
- db_dir = File.join(__dir__, 'db')
9
-
10
- desc 'Run migrations'
11
- task :migrate, [:version] do |_t, args|
12
- Sequel.extension :migration
13
- migrations_dir = File.join(db_dir, 'migrations')
14
-
15
- if args[:version]
16
- puts "Migrating to version #{args[:version]}"
17
- Sequel::Migrator.run(
18
- <%= @module_name %>::DB,
19
- migrations_dir,
20
- target: args[:version].to_i
21
- )
22
- else
23
- puts 'Migrating to latest'
24
- Sequel::Migrator.run(<%= @module_name %>::DB, migrations_dir)
25
- end
26
-
27
- Rake::Task['db:schema:dump'].invoke('same_db=true')
28
- end
29
-
30
- desc 'Run seeds'
31
- task :seed do |_t|
32
- require 'sequel/extensions/seed'
33
- seeds_dir = File.join(db_dir, 'seeds')
34
-
35
- ## Doesn't support version yet
36
- puts 'Seeding latest'
37
- Sequel::Seeder.apply(<%= @module_name %>::DB, seeds_dir)
38
- end
39
-
40
- namespace :schema do
41
- schema_filename = '001_schema.rb'
42
-
43
- desc 'Run schema dump'
44
- task :dump do |_t|
45
- <%= @module_name %>::DB.extension :schema_dumper
46
- puts 'Dump latest schema'
47
- dump = <%= @module_name %>::DB.dump_schema_migration(
48
- same_db: env_true?('same_db')
49
- )
50
- File.write(File.join(db_dir, schema_filename), dump)
51
- end
52
-
53
- desc 'Run schema load'
54
- task :load do |_t|
55
- Sequel.extension :migration
56
- puts 'Load latest schema'
57
- Sequel::Migrator.run(<%= @module_name %>::DB, db_dir, target: 1)
58
- end
59
- end
60
- end
61
-
62
- def env_true?(key)
63
- %(true yes 1 y).include?(ENV[key].to_s.downcase)
64
- end
@@ -1,18 +0,0 @@
1
- ---
2
- # user: www-data
3
- # group: www-data
4
- pid: tmp/pids/thin.pid
5
- timeout: 30
6
- wait: 30
7
- log: log/thin.log
8
- max_conns: 1024
9
- require: []
10
- environment: development # production
11
- max_persistent_conns: 512
12
- servers: 1
13
- threaded: true
14
- no-epoll: true
15
- daemonize: true
16
- socket: tmp/sockets/thin.sock
17
- chdir: /path/to/the/project
18
- # tag: a-name-to-show-up-in-ps aux