@ -0,0 +1,9 @@ | |||||
root = true | |||||
[*.cr] | |||||
charset = utf-8 | |||||
end_of_line = lf | |||||
insert_final_newline = true | |||||
indent_style = space | |||||
indent_size = 2 | |||||
trim_trailing_whitespace = true |
@ -0,0 +1,5 @@ | |||||
/docs/ | |||||
/lib/ | |||||
/bin/ | |||||
/.shards/ | |||||
*.dwarf |
@ -0,0 +1,6 @@ | |||||
language: crystal | |||||
# Uncomment the following if you'd like Travis to run specs and check code formatting | |||||
# script: | |||||
# - crystal spec | |||||
# - crystal tool format --check |
@ -0,0 +1,21 @@ | |||||
The MIT License (MIT) | |||||
Copyright (c) 2021 Ludovic 'Archivist' Lagouardette <ludovic@nekoit.xyz> | |||||
Permission is hereby granted, free of charge, to any person obtaining a copy | |||||
of this software and associated documentation files (the "Software"), to deal | |||||
in the Software without restriction, including without limitation the rights | |||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||||
copies of the Software, and to permit persons to whom the Software is | |||||
furnished to do so, subject to the following conditions: | |||||
The above copyright notice and this permission notice shall be included in | |||||
all copies or substantial portions of the Software. | |||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||||
THE SOFTWARE. |
@ -0,0 +1,27 @@ | |||||
# three-tier | |||||
TODO: Write a description here | |||||
## Installation | |||||
TODO: Write installation instructions here | |||||
## Usage | |||||
TODO: Write usage instructions here | |||||
## Development | |||||
TODO: Write development instructions here | |||||
## Contributing | |||||
1. Fork it (<https://github.com/your-github-user/three-tier/fork>) | |||||
2. Create your feature branch (`git checkout -b my-new-feature`) | |||||
3. Commit your changes (`git commit -am 'Add some feature'`) | |||||
4. Push to the branch (`git push origin my-new-feature`) | |||||
5. Create a new Pull Request | |||||
## Contributors | |||||
- [Ludovic 'Archivist' Lagouardette](https://github.com/your-github-user) - creator and maintainer |
@ -0,0 +1,22 @@ | |||||
version: 2.0 | |||||
shards: | |||||
backtracer: | |||||
git: https://github.com/sija/backtracer.cr.git | |||||
version: 1.2.1 | |||||
exception_page: | |||||
git: https://github.com/crystal-loot/exception_page.git | |||||
version: 0.2.0 | |||||
kemal: | |||||
git: https://github.com/kemalcr/kemal.git | |||||
version: 1.1.0 | |||||
kilt: | |||||
git: https://github.com/jeromegn/kilt.git | |||||
version: 0.6.1 | |||||
radix: | |||||
git: https://github.com/luislavena/radix.git | |||||
version: 0.4.1 | |||||
@ -0,0 +1,17 @@ | |||||
name: three-tier | |||||
version: 0.1.0 | |||||
authors: | |||||
- Ludovic 'Archivist' Lagouardette <ludovic@nekoit.xyz> | |||||
targets: | |||||
three-tier: | |||||
main: src/three-tier.cr | |||||
dependencies: | |||||
kemal: | |||||
github: kemalcr/kemal | |||||
crystal: 1.0.0 | |||||
license: MIT |
@ -0,0 +1,2 @@ | |||||
require "spec" | |||||
require "../src/three-tier" |
@ -0,0 +1,9 @@ | |||||
require "./spec_helper" | |||||
describe Three::Tier do | |||||
# TODO: Write tests | |||||
it "works" do | |||||
false.should eq(true) | |||||
end | |||||
end |
@ -0,0 +1,9 @@ | |||||
require "./model.cr" | |||||
class Business | |||||
def self.fetch_add(v = 1) | |||||
v += Model.get; | |||||
Model.set v; | |||||
return v; | |||||
end | |||||
end |
@ -0,0 +1,10 @@ | |||||
<!DOCTYPE html> | |||||
<html> | |||||
<head></head> | |||||
<body> | |||||
<div> <%= count %> </div> | |||||
<form action="/"> | |||||
<input type="submit" value="Go"> | |||||
</form> | |||||
</body> | |||||
</html> |
@ -0,0 +1,11 @@ | |||||
class Model | |||||
@@value = 0; | |||||
def self.get | |||||
@@value; | |||||
end | |||||
def self.set(v) | |||||
@@value = v; | |||||
end | |||||
end |
@ -0,0 +1,12 @@ | |||||
require "kemal" | |||||
require "./business.cr" | |||||
get "/" do | |||||
count = Business.fetch_add(0); | |||||
render "./src/app/button.ecr"; | |||||
end | |||||
post "/" do | |||||
count = Business.fetch_add(1); | |||||
render "./src/app/button.ecr"; | |||||
end |
@ -0,0 +1,8 @@ | |||||
require "kemal" | |||||
require "./app/*" | |||||
module Three::Tier | |||||
VERSION = "0.1.0" | |||||
end | |||||
Kemal.run |