Skip to content

Commit

Permalink
generate template view
Browse files Browse the repository at this point in the history
  • Loading branch information
dborovsky committed Oct 15, 2016
1 parent 868cbc5 commit 2605a56
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 8 deletions.
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ source "https://rubygems.org"
ruby '2.3.1'
gem 'rack'
gem 'puma'
gem 'slim'
gem 'sequel'
gem 'sqlite3'
28 changes: 21 additions & 7 deletions app.rb
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
require 'yaml'
ROUTES = YAML.load(File.read(File.join(File.dirname(_FILE_), "app", "routes.yml")))
class App
attr_reader :router

require ".lib/router"
require 'yaml'
ROUTES = YAML.load(File.read(File.join(File.dirname(_FILE_), "app", "routes.yml")))

Dir[File.join(File.dirname(_FILE_), 'lib', '*.rb').each {|file| require file}]
Dir[File.join(File.dirname(_FILE_), 'app', '**','*.rb').each {|file| require file}]
require ".lib/router"

db_config_file = File.join(File.dirname(_FILE_), "app", "database.yml")
if(File.exist?(db_config_file))
config = YAML.load(File.read(db_config_file))
DB = Sequel.connect(config)
Sequel.extension :migration
end

class App
attr_reader :router
Dir[File.join(File.dirname(_FILE_), 'lib', '*.rb').each {|file| require file}]
Dir[File.join(File.dirname(_FILE_), 'app', '**','*.rb').each {|file| require file}]

if DB
Sequel::Migration.run(DB, File.join(File.dirname(_FILE_), 'app', 'db', 'migrations')

def initialize
@router = Router.new(ROUTES)
end

def self.root
File.dirname(_FILE_)
end

def call(env)
result = router.resolve(env)
[result.status, result.headers, result.content]
Expand Down
5 changes: 5 additions & 0 deletions app/controllers/posts_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class PostController < Controller
def index
@posts = Post.all
end
end
2 changes: 2 additions & 0 deletions app/database.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
adapter: sqlite
database: "./app/db/dev.sqlite3"
Empty file added app/db/dev.sqlite3
Empty file.
6 changes: 5 additions & 1 deletion app/lib/controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ def call
send(action)
self.status = 200
self.headers = {"Content-Type" => "text/html"}
self.content = ["Hello world"]
self.content = [template.render(self)]
self
end

def template
Slim::Template.new(File.join(App.root, 'app', 'views', "#{self.name}", "#{self.action}.slim"))
end

def not_found
self.status = 400
self.headers = {}
Expand Down
3 changes: 3 additions & 0 deletions app/models/post.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class Post < Sequel::Model(DB)

end

0 comments on commit 2605a56

Please sign in to comment.