Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 14:52
    HertzDevil edited #12390
  • Dec 04 22:42
    straight-shoota closed #12800
  • Dec 04 22:41
    straight-shoota edited #12800
  • Dec 04 22:41
    straight-shoota closed #12770
  • Dec 04 22:41
    straight-shoota closed #12773
  • Dec 04 20:38
    straight-shoota closed #12819
  • Dec 04 17:58
    HertzDevil synchronize #12784
  • Dec 04 15:51
    Blacksmoke16 review_requested #10648
  • Dec 04 15:50
    Blacksmoke16 synchronize #10648
  • Dec 04 15:48
    Blacksmoke16 synchronize #10648
  • Dec 04 15:00
    Blacksmoke16 closed #12820
  • Dec 04 11:38
    straight-shoota closed #12807
  • Dec 04 11:38
    straight-shoota closed #12808
  • Dec 04 11:38
    straight-shoota closed #12816
  • Dec 04 00:00
    douglascamata closed #12820
  • Dec 03 23:10
    Blacksmoke16 closed #12821
  • Dec 03 23:10
    Blacksmoke16 labeled #12821
  • Dec 03 23:09
    Blacksmoke16 labeled #12821
  • Dec 03 22:13
    hutou labeled #12821
  • Dec 03 22:13
    hutou opened #12821
Zafar Ansari
@ansarizafar
Here is my current code
module WebWare
  abstract class Method
    abstract def call(args)
  end

  class Api
    @@store = {} of String => Method

    def initialize
    end
    def self.register(name : String, method : Method)
      @@store[name] = method
    end

    def self.run(context : HTTP::Server::Context)
      begin
        data = Tools.json_param(context)
        finalResult = data.map do |key, value|
          {key => @@store[key].call(value.as(Hash))}
        end

        return finalResult.to_json
      rescue ex
        # context.response.respond_with_error("Internal error", 500)
        "Internal error in Method"
      end
    end
  end
end
Ghost
@ghost~55586c4815522ed4b3e08557
The syntax you ask is not possible because macros are not methods with a receiver, they're on the class/module/top level, not instance level, but you could have is_this_a_0_at_compile_time(0) quite easily @Willamin
Zafar Ansari
@ansarizafar
Here is User class
include WebWare

class Users < Method
  def call(args)
    begin
      count = Db.scalar "select count(*) from restock.users"
      data = [] of {id: String, name: String}

      Db.query "select id, name from restock.users" do |rs|
        rs.each do
          id, name = rs.read(String, String)
          data << {id: id, name: name}
        end
      end

      {success: true, data: data}
    rescue ex
      {success: false, data: [] of {id: String, name: String}}
    end
  end
end

Api.register "user.list", Users.new
Will
@Willamin
@bew even when it's a macro on a literal struct like an Int32?
From IRC (bridge bot)
@FromIRC
<oprypin> @eliasjpr, do u have rights to sell Crystal logo?
Ghost
@ghost~55586c4815522ed4b3e08557
yes, if you write a macro my_macro in Int32's struct, you'll be able to call it as Int32.my_macro or just my_macro when called in the scope of the Int32 struct
From IRC (bridge bot)
@FromIRC
<Papierkorb> William, how should the program know at compile-time, which run-time value the integer will have?
<Papierkorb> Crystal isn't a time machine
Ghost
@ghost~55586c4815522ed4b3e08557
\o/
Will
@Willamin
hahaha
From IRC (bridge bot)
@FromIRC
<Papierkorb> A method that takes an integer (or anything) as argument doesn't know if it was passed in as literal or through an variable (or ...), if that's what you mean.
Will
@Willamin
I was hoping that I would also be able to tell if the macro was called from a literal (eg. 0.is_this_a_0_at_compile_time) vs called from a variable (eg. x.is_this_a_0_at_compile_time),
From IRC (bridge bot)
@FromIRC
<Papierkorb> No, as a macro is state-less, you can't call it like a member method.
Ghost
@ghost~55586c4815522ed4b3e08557
Will
@Willamin
You can call a macro like a member method, using macro def, can you not?
From IRC (bridge bot)
@FromIRC
<Papierkorb> But a macro, if you pass it as argument to it, can know if it's a literal or not, and then could signal an error to the user
Ghost
@ghost~55586c4815522ed4b3e08557
@Willamin macro def is not really documented iirc, it's not meant for this use I think
From IRC (bridge bot)
@FromIRC
<Papierkorb> With a disclaimer
Ghost
@ghost~55586c4815522ed4b3e08557
ah thanks
either way, in a macro def you have access to @type (Int32) but not self (0) at compile time
Will
@Willamin
Oh well, thanks anyways! :D
Serdar Dogruyol - Sedo セド
@sdogruyol
how can I check if a value is truthy outside of a guard clause
From IRC (bridge bot)
@FromIRC
<Yxhuvud> What do you want to achieve?
Elias Perez
@eliasjpr
@oprypin My apologies was never my intention I will remove
I just wanted some tees
Elias Perez
@eliasjpr
@oprypin removed!
José Rodrigues
@joselfr
What is the LICENSE of the crystal logo?
From IRC (bridge bot)
@FromIRC
<oprypin> @eliasjpr, hey it's not my decision either way. but you're supposed to ask permission. see https://crystal-lang.org/media/ bottom of page
Elias Perez
@eliasjpr
👌🏻👍🏻 thanks
From IRC (bridge bot)
@FromIRC
<oprypin> @jose-rodrigues, see that link too
Elias Perez
@eliasjpr
I think crystal team should open a store for tees and stuff that would be a nice way to contribute for the crystal cause
From IRC (bridge bot)
@FromIRC
<oprypin> for sure
Claudio Holanda
@kazzkiq
Is Process.run a blocking method?
If I run a cURL command via Proccess.run, and it takes 10 seconds to return, is my application going to hang for 10 seconds?
From IRC (bridge bot)
@FromIRC
<oprypin> @kazzkiq, it's a convenience method that wraps Process.new and Process.wait which blocks the current fiber until the process ends
<oprypin> also why run a curl command......
laurent bernabé
@loloof64
Hello everyone :smiley: Is there already a binding for WxWidgets for Crystal ? My Google search did not show me suitable result.
Rubi
@codenoid
Faustino Aguilar
@faustinoaq

huh what does the delegate macro do exactly? Not seen that before

Groogy, check :point_right: http://devdocs.io/crystal/api/0.23.0/object#delegate(*methods,toobject)-macro

Hello everyone :smiley: Is there already a binding for WxWidgets for Crystal ?

unfortunately

But you can try Qt bindings :wink:

https://github.com/Papierkorb/qt5.cr

Claudio Holanda
@kazzkiq

<oprypin> also why run a curl command......

Because that's the only way to make Mailgun work with Crystal at the moment

Cris Ward
@crisward
@kazzkiq I have a mailgun client, just not got around to open sourcing it yet. It's actually mailgun and sendgrid. I use HTTP::Client. I want to add a wrapper around SMTP with it to, so it's a common api for however you want to send mail.
laurent bernabé
@loloof64
Thanks @codenoid Maybe I'll have to do myself bindings for the functionnalities I need
Or use another GUI framework like libui : http://crystalshards.xyz/?filter=libui
From IRC (bridge bot)
@FromIRC
<oprypin> @kazzkiq, are you sure about that? crystal's http client should (at least strive to) provide all the same functionality. if it doesnt match that expectation, ask for help / report it
laurent bernabé
@loloof64
Thank you also @faustinoaq Maybe Qt binding will be the solution.
Faustino Aguilar
@faustinoaq
Yeah Qt bindings are awesome! :sparkles:
Screenshot_20170926_142450.png
From IRC (bridge bot)
@FromIRC
<Papierkorb> <⁠3