Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 12:49
    Blacksmoke16 labeled #12163
  • 12:49
    Blacksmoke16 labeled #12163
  • 10:55
    asterite edited #12163
  • 10:19
    asterite opened #12163
  • 02:46
    Blacksmoke16 labeled #12162
  • 02:42
    cyangle labeled #12162
  • 02:42
    cyangle opened #12162
  • Jun 25 17:03
    HertzDevil labeled #12161
  • Jun 25 17:03
    HertzDevil labeled #12161
  • Jun 25 17:03
    HertzDevil opened #12161
  • Jun 25 16:49
    Blacksmoke16 labeled #12160
  • Jun 25 16:49
    Blacksmoke16 labeled #12160
  • Jun 25 15:10
    I3oris edited #12160
  • Jun 25 15:05
    I3oris opened #12160
  • Jun 25 14:56
    Blacksmoke16 labeled #12159
  • Jun 25 14:53
    I3oris labeled #12159
  • Jun 25 14:53
    I3oris opened #12159
  • Jun 25 11:54
    straight-shoota milestoned #12158
  • Jun 25 10:59
    straight-shoota edited #12158
  • Jun 25 10:59
    straight-shoota review_requested #12158
ziprandom
@ziprandom
hey @sdogruyol is there a way to have kemal auto re[compile/start] while developing?
unreadable
@unreadable
@ziprandom check it out
ziprandom
@ziprandom
@krypton97 tried it, it doesn't work. can't compile in release mode. in dev mode the binary does nothing. not even shoe --help output :/
José Rodrigues
@joselfr
@ziprandom What do you mean by the binary does nothing even when you compile directly with crystal?
Zafar Ansari
@ansarizafar
Beginner Question: Is there any global exception handler in Crystal?
From IRC (bridge bot)
@FromIRC
<Yxhuvud> not be default, but you can always wrap whatever you are writing with begin .. rescue .. end. I'd advise strongly to not do that though.
oliviermo75
@zyriuse75
@krypton97 thank for the link man :+1:
From IRC (bridge bot)
@FromIRC
<ShalokShalom> Papierkorb: You said your bindings are ready for Tier 1 KDE?
unreadable
@unreadable
np m8 ;)
@ziprandom try to submit an issue, haven't used it so far
imonmyown
@imonmyown
Hi all :)
What are the generally accepted marshalling tools, or if none are available what is the preferred way to store application settings locally?
Ghost
@ghost~55586c4815522ed4b3e08557
you can use JSON or YAML
imonmyown
@imonmyown
Thanks @bew
imonmyown
@imonmyown

What would be the right mapping for a single YAML array?

class Foo
  YAML.mapping([] of Integer)
end

Doesn't cut it apparently... :(

Do I have to put it behind a key?
Ghost
@ghost~55586c4815522ed4b3e08557
yes
or use
Array(Int32).from_yaml(some_yaml) directly
imonmyown
@imonmyown
Great, thanks
Faustino Aguilar
@faustinoaq
Screenshot_20170922_084536.png
Official API search needs some work, devdocs is a great tool :+1:
From IRC (bridge bot)
@FromIRC
<gcds> Hi, is there implementation of PBKDF2 on Crystal?
Faustino Aguilar
@faustinoaq

No as far I know :sweat_smile:

You can use https://crystalshards.xyz to find crystal projects.

From IRC (bridge bot)
@FromIRC
<gcds> Maybe someone could help me. I am trying to compile std lib and get problem I think on mac somehow std lib cant find libcrypto. Maybe someone has encountered this problem? pkg-config libcrypto doesnt return nothing...
<gcds> it does return sorry but still I cant build :⁠(
<gcds> i think I know the problem my openssl is to old
<gcds> too*
Ilker Güller
@Sly777

Hey all, I'm trying to make crystal app with Kemal, Granite ORM on postgres. My question is I created one model that needs to update password to encrypted one. But on the build, It's giving error as...

instance variable '@password' of User must be (String | Nil), not Crypto::Bcrypt::Password

require "granite_orm/adapter/pg"
require "crypto/bcrypt/password"
require "logger"
require "kemal"

log = Logger.new(STDOUT)
log.level = Logger::WARN

class User < Granite::ORM::Base
  adapter pg

  before_save :prepare_data

  field email : String
  field password : String
  timestamps

  def prepare_data
    if password = @password
      log("#{password}")
      @password = Crypto::Bcrypt::Password.create(password)
      log("#{@password} | #{password}")
    end
  end
end

module Crystal::Chat
  get "/" do
    user = User.new
    user.email = "test@test.com"
    user.password = "pass1234"
    user.save

    "Hello World! #{VERSION}"
  end

  Kemal.run
end
Nick Franken
@fridgerator
Crypto::Bcrypt::Password.create(password).to_s
Ilker Güller
@Sly777
But after that, How can I cast to Bcrypt again to compare password?
Btw. I'm really new on crystal so It can be dumb question :D
Nick Franken
@fridgerator
something lilke
def password_valid?(password : String) : Bool
  Crypto::Bcrypt::Password.new(@encrypted_password) == password
end
Ilker Güller
@Sly777
Thanks @fridgerator !
Nick Franken
@fridgerator
sure
From IRC (bridge bot)
@FromIRC
<gcds> yay... the same error I had on my machine is now on CircleCI :⁠D
Luis Lavena
@luislavena
@gcds CircleCI for OSX? Same solution you applied locally you might want to apply to CI, might recommend install newer OpenSSL using Homebrew.
From IRC (bridge bot)
@FromIRC
<gcds> @luislavena, Locally I just used PKG_CONFIG_PATH flags to help find brew version of openssl so it worked out, but I have no idea how to fix circleci build.
<gcds> ahhh its osx build
<gcds> now I got it :⁠D
From IRC (bridge bot)
@FromIRC
<gcds> hmm it did not worked like I expected trying something out :⁠(
From IRC (bridge bot)
@FromIRC
<gcds> I am feeling bit like idiot... the original PKCS5_PBKDF2_HMAC_SHA1 is found but additional PKCS5_PBKDF2_HMAC method is not found then its in the same lib. Even then in OpenSSL PKCS5_PBKDF2_HMAC_SHA1 wraps a call PKCS5_PBKDF2_HMAC
<gcds> Ok i reproduced the error again and fixed with simple flag. https://gist.github.com/aurimasniekis/422e6dfaf3b256d1d9bcea40ae54ef72
<gcds> but the same thing does not work on CircleCI :⁠(
Zafar Ansari
@ansarizafar
Why I am getting method addme undefined error?
module Helpers

def addme(x : Int32, y : Int32)
return x+y
end

puts addme 3,4

end
George
@georgeu2000
What are you trying to do? Define a class?
Nick Franken
@fridgerator
module Helpers
  def self.addme(x, y)
    return x + y
  end

  self.addme(1, 2)
end
or extend self inside the module