faustinoaq changed the topic of #amber to: Welcome to Amber Framework community! | https://amberframework.org | Developer happiness, productivity and bare metal performance | GH: https://github.com/amberframework | Docs: https://docs.amberframework.org | Gitter: https://gitter.im/amberframework/amber | IRC Logger: https://irclog.whitequark.org/amber | Amber::Server.start
<FromGitter> <nsuchy> @elorest You could still add a console that compiles before running right?
<FromGitter> <nsuchy> Similar to the crystal play command?
<FromGitter> <elorest> @nsuchy yes. That is exactly what amber exec is.
<FromGitter> <nsuchy> @elorest Add a web interface for it?
<FromGitter> <nsuchy> so we don't have to write code in vim
<FromGitter> <nsuchy> :P
<FromGitter> <drujensen> You can use crystal play
<FromGitter> <nsuchy> can it pull in amber?
<FromGitter> <elorest> @nsuchy You could write code in whatever your default editor is which is objectively easier than writing code in a browser...
<FromGitter> <elorest> Although you really should be using vim lol. 😉
<FromGitter> <drujensen> Require config/** I think will load Amber encironment
<FromGitter> <elorest> Whatever it is in `amber exec` at least. Depending on what crystal play considers it's root path to be. ⏎ ⏎ This isn't a great solution though as crystal play executes your code continously whenever you finish typing a line.
<FromGitter> <elorest> amber exec comes from `cry` which is also what lucky framework uses. It's really the best solution for a compiled language like crystal. Even in Ruby the edit command in pry is way easier to use than typing everything in line by line.
t1|Mike has quit [Quit: ZNC 1.7.1 - https://znc.in]
t1|Mike has joined #amber
t1|Mike has quit [Changing host]
t1|Mike has joined #amber
t1|Mike has quit [Quit: ZNC 1.7.1 - https://znc.in]
t1|Mike has joined #amber
t1|Mike has quit [Changing host]
t1|Mike has joined #amber
_whitelogger has joined #amber
<FromGitter> <bendangelo> I got amber deployed on dokku, it was quite simple. I can open a PR to document how to do it
<FromGitter> <bendangelo> The issue with exec is it exits after the first command, you know it's not as intuitive as irb
<FromGitter> <nsuchy> It's more of just a lazyness thing wanting an inbrowser console :P
<FromGitter> <nsuchy> @bendangelo sounds awesome, would be helpful for those using dokku
<FromGitter> <nsuchy> We open sourced our Docker & Shards Configuration based on Debian Stable for those interested https://github.com/ulayer/DockerCrystalAmber, we removed the built-in postgres server as we have a central server with all databases and disabled auto migrate in favor of manual hands on migrations. It includes hash checking to make sure the file hasn't somehow changed since we last reviewed Amber and a Crystal version :) ⏎
<FromGitter> ... ⏎ Would appreciate any feedback the community has.
<FromGitter> <didactic-drunk> Does anyone use sqlite with Jennifer?
<FromGitter> <elorest> I think most people use granite. We've done some work on supporting other ORM's but they often change or are abandoned.
<FromGitter> <didactic-drunk> Does granite have database agnostic migrations?
<FromGitter> <Blacksmoke16> kinda but not really documented, plus depends on what you need your migrations to do
<FromGitter> <Blacksmoke16> mainly just used for specs atm
<FromGitter> <didactic-drunk> Mostly sqlite add/remove column which doesn't have native support.
<FromGitter> <bendangelo> I just learned the one liner `User.create!(email:"..", password:"..")` doesn't save the password
<FromGitter> <Blacksmoke16> is there an exception?
<FromGitter> <Blacksmoke16> because it should raise if there is
<FromGitter> <bendangelo> no there isn't
<FromGitter> <bendangelo> I checked after and the password is empty
<FromGitter> <bendangelo> it's an issue with granite right?
<FromGitter> <Blacksmoke16> what happens if you do like
<FromGitter> <Blacksmoke16> er whats your model look like
<FromGitter> <bendangelo> The email is there, the password is empty. I generated the user model from amber auth
<FromGitter> <Blacksmoke16> are you sure there isnt something catching your exception?
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/amberframework/amber?at=5d9bcd0fb385bf2cc690ae3d]
<FromGitter> <Blacksmoke16> works just fine
<FromGitter> <bendangelo> I'm using the generated user model from amber auth
<FromGitter> <bendangelo> require "crypto/bcrypt/password" ⏎ ⏎ class User < Granite::Base ⏎ include Crypto ⏎ connection pg ... [https://gitter.im/amberframework/amber?at=5d9bce315173c33ca187e4f9]
<FromGitter> <bendangelo> crystal 0.31.1
<FromGitter> <Blacksmoke16> you dont have a `password` column
<FromGitter> <Blacksmoke16> so obs that wouldnt get set?
<FromGitter> <elorest> I'd suggest not using 0.31.1 with amber yet. There are countless breaking changes to everything from specs, integer division, to simple things like handler flow.
<FromGitter> <bendangelo> ok
<FromGitter> <bendangelo> I assumed the password param would use `password=`
<FromGitter> <bendangelo> What version are you using? Yeah it looks like crystal is still under heavy development.
<FromGitter> <Blacksmoke16> you should prob use an before_save callback
<FromGitter> <Blacksmoke16> because it sets the ivars directly
<FromGitter> <bendangelo> right that makes sense. I'm coming from rails where it's more flexible
<FromGitter> <Blacksmoke16> im still up in the air on how this should work to be fair
<FromGitter> <Blacksmoke16> could use the same ivar as well
<FromGitter> <Blacksmoke16> `@password = Bcrypt::Password.create(@password, cost: 10).to_s`
<FromGitter> <bendangelo> which version should I use with amber?