adam12 changed the topic of #ruby to: Rules: https://ruby-community.com | Ruby 3.2.2, 3.1.4, 3.0.6, 2.7.8: https://www.ruby-lang.org | Paste 4+ lines to: https://gist.github.com | Books: https://t.ly/9ua4 | Logs: https://libera.irclog.whitequark.org/ruby/
desnudopenguino1 has joined #ruby
desnudopenguino has quit [Ping timeout: 240 seconds]
desnudopenguino1 is now known as desnudopenguino
victori has quit [Quit: ZNC 1.8.2 - https://znc.in]
<mooff> sickdyd: where do you see "(Object doesn't support #inspect)"?
<mooff> you'd get that when trying to print what an object looks like, for development inspection
victori has joined #ruby
<mooff> regular expressions can work differently between engines. for example, some expressions supported by JS are not supported by Ruby, and vice versa
<mooff> but you're running your expression on the database as a string. you might know already that your expression should work. e.g. from running it on the DB elsewhere
<mooff> in years messing with Ruby, i've never seen that message you got
<mooff> i bet it's this
Dooky has joined #ruby
<sickdyd> mooff: I see it in the rails console, when trying to run the query
<sickdyd> it pops up every now and then when I'm doing something wrong with the command
<sickdyd> so it's likely some syntax issue
<sickdyd> for example if I use .joins(:users) instead of .joins(:user)
<sickdyd> but this time I am not sure what is wrong
roadie has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
<mooff> > for example if I use .joins(:users) instead of .joins(:user)
<mooff> that makes sense. it sounds like an ActiveRecord object can .inspect like that when an association is named wrongly
<mooff> so this tells us nothing about an issue with regex :-)
Pixi has joined #ruby
Pixi__ has joined #ruby
roadie has joined #ruby
<weaksauce> sickdyd can you paste the query it's trying to run?
Pixi` has quit [Ping timeout: 260 seconds]
Pixi has quit [Ping timeout: 246 seconds]
roadie has quit [Ping timeout: 248 seconds]
roadie has joined #ruby
<adam12> Rubykaigi starts in 15.
<sickdyd> weaksauce: SELECT `users`.* FROM `users` WHERE (firstname REGEXP '[^a-zA-Z\\s]|http')
<sickdyd> I noticed that in the regexp there's an extra \
<weaksauce> \\ shouldn't be
<weaksauce> yeah
<weaksauce> since it's static code you can omit the ? in you where string and do it manually
<weaksauce> might have to wrap it in a aural or whatever the sql lib is
<weaksauce> Arel
<weaksauce> just do Arel.sql("thatregep")
<weaksauce> since you know for a fact that the string is fine
<weaksauce> sickdyd ^
<mooff> are you sure '[^a-zA-z\\s]|http' isn't SQL for '...\s]|http ?
<sickdyd> no idea
<mooff> '...\s]|http' *
<sickdyd> so basically it should match users that have some special character in their firstname
<mooff> >> 'hello\s'
<sickdyd> or numbers or http
<ruby[bot]> mooff: # => "hello\\s" (https://carc.in/#/r/f1jn)
<mooff> >> 'hello\s' == 'hello\\s'
<ruby[bot]> mooff: # => true (https://carc.in/#/r/f1jo)
<mooff> maybe the same is true in SQL
<sickdyd> none of these worked:
<sickdyd> ("firstname REGEXP [^a-zA-Z\s]|http")
<sickdyd> ("firstname REGEXP '[^a-zA-Z\s]|http'")
<sickdyd> ("firstname REGEXP Arel.sql('[^a-zA-Z\s]|http')")
roadie has quit [Ping timeout: 248 seconds]
<sickdyd> ok something is definitely wrong with the regexp
<sickdyd> this works: ("firstname REGEXP 'lol|http'")
<weaksauce> it would be Arel.sql(("firstname REGEXP '[^a-zA-Z\s]|http'"))
<weaksauce> it would be Arel.sql("firstname REGEXP '[^a-zA-Z\s]|http'")
<weaksauce> er that
<weaksauce> oh yeah you need a ()
<weaksauce> Arel.sql("firstname REGEXP '([^a-zA-Z\s]|http)'")
<weaksauce> any time you use |
<weaksauce> idk what kind of extra rules mysql uses for simple cases
<sickdyd> nope :<
<sickdyd> but at least I know it's the regepx that is not good for mysql
<sickdyd> so I can work my way from there
<weaksauce> use [[:space:]]
<weaksauce> seems that mysql doesn't have a robust set of \ matchers
Dooky has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<weaksauce> mysql seems like it provides regex as an afterthought
<weaksauce> the docs are garbage
<sickdyd> weaksauce: sorry, how should I use that?
<weaksauce> replace \s with [[:space:]] sickdyd
<sickdyd> it worked, thanks weaksauce
<sickdyd> do you have a link to the docs where it talks about that?
<weaksauce> you're welcome sickdyd
<sickdyd> that's a very weird syntax lol
<weaksauce> uh sure
<sickdyd> cheers
<weaksauce> the docs are garbage
<weaksauce> it's the more general syntax in regexp... the ruby ones are great
<weaksauce> docs that is
agent_white has joined #ruby
ghostl has joined #ruby
grenierm has quit [Ping timeout: 245 seconds]
graywolf has quit [Ping timeout: 246 seconds]
graywolf has joined #ruby
roadie has joined #ruby
cnsvc has quit [Remote host closed the connection]
cnsvc has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
roadie has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
m_antis has quit [Ping timeout: 268 seconds]
m_antis has joined #ruby
ghostl has quit [Ping timeout: 265 seconds]
roadie has joined #ruby
agent_white has quit [Remote host closed the connection]
_ht has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
infinityfye has joined #ruby
grenierm has joined #ruby
nektro has joined #ruby
roadie has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
jetchisel has quit [Quit: Unfortunately time is always against us -- [Morpheus]]
jetchisel has joined #ruby
roadie has joined #ruby
jhass has quit [Ping timeout: 250 seconds]
jhass has joined #ruby
_ht has quit [Quit: _ht]
ap4y has quit [Remote host closed the connection]
otisolsen70 has joined #ruby
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #ruby
dviola has joined #ruby
c10l has quit [Ping timeout: 264 seconds]
grenierm has quit [Quit: Client closed]
grenierm has joined #ruby
reset has quit [Quit: reset]
teclator has joined #ruby
moldorcoder7 has quit [Ping timeout: 240 seconds]
crespire1 has joined #ruby
crespire has quit [Killed (NickServ (GHOST command used by crespire1))]
crespire has joined #ruby
crespire1 has quit [Ping timeout: 240 seconds]
ghostl has joined #ruby
Sankalp has quit [Ping timeout: 240 seconds]
moldorcoder7 has joined #ruby
ghostl has quit [Ping timeout: 265 seconds]
ghostl has joined #ruby
Furai has quit [Quit: WeeChat 3.8]
Furai has joined #ruby
graywolf has quit [Quit: WeeChat 3.8]
jvalleroy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
grenierm has quit [Ping timeout: 245 seconds]
jvalleroy has joined #ruby
ccapndave has joined #ruby
crespire has quit [Ping timeout: 256 seconds]
crespire has joined #ruby
howdoi has quit [Quit: Connection closed for inactivity]
ccapndave has quit [Quit: Textual IRC Client: www.textualapp.com]
jvalleroy has quit [Remote host closed the connection]
Sankalp has joined #ruby
jvalleroy has joined #ruby
PGouv has joined #ruby
kenichi has quit [Remote host closed the connection]
legahc has quit [Quit: %bye%]
kenichi has joined #ruby
<PGouv> Hello. In this example https://github.com/rabbitmq/rabbitmq-tutorials/blob/6286f0dea8f57cc664d6220e0668ffac742ef960/ruby/rpc_client.rb#L44  is there any reason to use that = self ? Block is called normally no instance eval etc.
legahc has joined #ruby
mweckbecker has quit [Quit: leaving]
weaksauc_ has joined #ruby
weaksauce has quit [Ping timeout: 240 seconds]
TomyWork has joined #ruby
mark22k has quit [Quit: mark22k]
ghostl has quit [Ping timeout: 268 seconds]
mark22k has joined #ruby
gasbag has joined #ruby
Dooky has joined #ruby
hwpplayer1 has joined #ruby
gasbag has quit [Quit: Leaving]
reset has joined #ruby
PGouv has quit [Ping timeout: 245 seconds]
hwpplayer1 has quit [Read error: Connection reset by peer]
Sankalp has quit [Ping timeout: 246 seconds]
Sankalp has joined #ruby
moldorcoder7 has quit [Ping timeout: 264 seconds]
dviola has quit [Ping timeout: 240 seconds]
notSkynet has joined #ruby
tomtmym has joined #ruby
tomtmym has quit [Changing host]
tomtmym has joined #ruby
dviola has joined #ruby
<mooff> PGouv: they must not want to worry about the receiver the block is called on
notSkynet has quit [Quit: Lost terminal]
<mooff> weird to see in Ruby
teclator has quit [Ping timeout: 240 seconds]
kenichi has quit [Changing host]
kenichi has joined #ruby
roshanavand has joined #ruby
sagax has joined #ruby
moldorcoder7 has joined #ruby
mweckbecker has joined #ruby
infinity_fye has joined #ruby
infinityfye has quit [Killed (NickServ (GHOST command used by infinity_fye))]
infinity_fye is now known as infinityfye
_ht has joined #ruby
<leftylink> I must say though, I can't get it to be different
<leftylink> pandabot rb class Q; def sub; yield end end; class C; def foo; old = self; Q.new.sub { self != old } end end; C.new.foo
<pandabot> false - https://carc.in/#/r/f1pg
<leftylink> need some definition of Q#sub that would make it true, but can't find one
<mooff> pandabot rb class Q; def sub &blk; instance_exec(&blk) end end; class C; def foo; old = self; Q.new.sub { self != old } end end; C.new.foo
<leftylink> I see. thanks for showing the light
<leftylink> pandabot ri BasicObject#instance_exec
<leftylink> > the variable self is set to obj
<leftylink> I see
<leftylink> it looks like I have to study more.
<leftylink> ah you know where I went wrong? I'll demonstrate my error, it could be instructive
<mooff> quickest way to study is just to read Kernel on ruby-doc.org
<leftylink> pandabot rb class Q; def sub(&b); [yield, instance_exec { b[] }, instance_exec(&b)] end end; class C; def foo; old = self; Q.new.sub { self != old } end end; C.new.foo
<pandabot> [false, false, true] - https://carc.in/#/r/f1pl
<leftylink> as you can see, I tried the first two and didn't think of the third
<leftylink> obviously the second was flawed since the block got called too early
<mooff> lots of little methods you can stow away for a rainy day
<mooff> i love #[] to call Proc's
<leftylink> it's interesting because then one can substitute an array or hash for a proc
<leftylink> and then you see somethng like https://hackage.haskell.org/package/array-0.5.5.0/docs/Data-Array.html saying "arrays, which may be thought of as functions whose domains are isomorphic to contiguous subsets of the integers"
<leftylink> and you think huh, maybe they're not so different after all
<leftylink> taking a gander at Kernel makes me think
<mooff> ^^ right??
<mooff> it makes me think more like it's a mathematical function
<leftylink> after having used Ruby for over a decade, well I hope I know things like Enumerable, Array, Hash, String pretty well. but Kernel has a bunch of stuff I haven't studied yet. there is always more to learn, no matter how much I think I already know
<mooff> literally reading the Ruby stdlib docs for Object, Kernel, Array, Hash, Enumerable, fully, was one of the best experiences i've had programming
<leftylink> I wonder if there will ever be a day when I actually get to use callcc
<mooff> they open up your mind and make Ruby fit like a glove
<leftylink> or throw/catch
<leftylink> it's a very humbling experience
<leftylink> ah Kernel#test is fascinating. like shell scripting
<leftylink> oh I am considering the potential uses of trace_var for refactoring a legacy script that uses a global. now you can see where the assignments are
<leftylink> although huh, I guess you might be equally served by static analysis there
<leftylink> including just searching the code for the string "$global ="
<leftylink> but that's okay
ghostl has joined #ruby
<johnjaye> leftylink: kernel? as in, interfacing to the linux kernel?
<leftylink> not the Linux kernel, but the Ruby kernel
<johnjaye> i see
c10l has joined #ruby
<leftylink> I wonder if any other programming language also calls their equivalent of Kernel kernel
<leftylink> a search engine search for "kernel in programming language" isn't too helpful
<leftylink> it gets results like telling what programming languages have been used to write OS kernels, or the programming language named Kernel, or other similar items
<leftylink> I wondered if it should be considered equivalent to other languages' Preludes, but I'm not sure... in fact, in Ruby there exists a prelude as well in https://github.com/ruby/ruby/blob/master/prelude.rb, so it implies kernel is not the same as prelude
<johnjaye> using terms incorrectly is actually a plus in my book
<johnjaye> makes it easier to gatekeep the outsiders from coming in and ruining it
<johnjaye> oh you want the kernel? ok. *points to prelude*
<leftylink> I just like to understand where it fits in the grand scheme of things
<leftylink> like if one were to describe it in language-agnostic terms, what would one do
<leftylink> that helps transfer skills from one programing language to another
<leftylink> or can help one understand one language in terms of concepts they already know from a different language
snoojin has joined #ruby
<mooff> it's just a particular bag to put general "global methods" in, so that Object can stay focused
<mooff> >> BasicObject.ancestors.include? Kernel
<ruby[bot]> mooff: # => false (https://carc.in/#/r/f1pr)
<mooff> >> Object.ancestors.include? Kernel
<ruby[bot]> mooff: # => true (https://carc.in/#/r/f1pt)
<mooff> people see Kernel like the "global namespace", but i think it shouldn't be seen like that
dviola has quit [Changing host]
dviola has joined #ruby
<mooff> it's a place that the interpreter puts utility functions for the language for you to have, and meanwhile, Object is the real top dog when it comes to what is "global"
<mooff> (Kernel just happens to be included in Object by default :-P)
<mooff> >> def hello_world() end; method(:hello_world).owner.then { |owner| [owner == Kernel, owner == Object] }
<ruby[bot]> mooff: # => [false, true] (https://carc.in/#/r/f1py)
<mooff> i thought that instance_exec might have come from Kernel, but pleased to see it's from BasicObject
<mooff> >> method(:instance_exec).owner
<ruby[bot]> mooff: # => BasicObject (https://carc.in/#/r/f1q1)
TomyWork has quit [Quit: Leaving]
roshanavand has quit [Ping timeout: 246 seconds]
<adam12> leftylink: I think Elixir has a Kernel module too
ghostl has quit [Ping timeout: 246 seconds]
roshanavand has joined #ruby
___nick___ has joined #ruby
teclator has joined #ruby
rvalue has quit [Ping timeout: 256 seconds]
snoojin has quit [Quit: Connection closed for inactivity]
rvalue has joined #ruby
<weaksauc_> lol
<weaksauc_> now that's some bullshit
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
___nick___ has joined #ruby
ghostl has joined #ruby
___nick___ has quit [Client Quit]
___nick___ has joined #ruby
<mooff> once is happenstance. twice is coincidence. thrice is..
z4kz has joined #ruby
___nick___ has quit [Ping timeout: 256 seconds]
Al2O3 has quit [Ping timeout: 240 seconds]
gr33n7007h has quit [Ping timeout: 240 seconds]
_ht has quit [Quit: _ht]
gr33n7007h has joined #ruby
Guest22 has joined #ruby
tomtmym has quit [Quit: Gone.]
Al2O3 has joined #ruby
Al2O3 has quit [Ping timeout: 240 seconds]
Al2O3 has joined #ruby
Al2O3 has quit [Ping timeout: 256 seconds]
lena64t1 has joined #ruby
lena64t has quit [Ping timeout: 240 seconds]
otisolsen70 has quit [Quit: Leaving]
lena64t2 has joined #ruby
lena64t1 has quit [Remote host closed the connection]
roadie has quit [Ping timeout: 248 seconds]
Dooky has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mbarbar has quit [*.net *.split]
zaben has quit [*.net *.split]
ghostl has quit [Ping timeout: 268 seconds]
mbarbar has joined #ruby
zaben has joined #ruby
mbarbar has quit [*.net *.split]
zaben has quit [*.net *.split]
zaben has joined #ruby
mbarbar has joined #ruby
roadie has joined #ruby
Guest22 has quit [Quit: Client closed]
weaksauc_ has quit [Quit: Textual IRC Client: www.textualapp.com]
roadie has quit [Ping timeout: 248 seconds]
weaksauce has joined #ruby
ruby[bot] has quit [Remote host closed the connection]
ruby[bot] has joined #ruby
teclator has quit [Ping timeout: 246 seconds]
<isene> I've been searching for this answer for a while to no avail; so I'm resorting to asking here. I need to run system(cmd) to let the terminal print the raw output from that cmd (as backticks or %x|cmd| both strips ansi color codes). But - I also need to capture that output to manipulate it later. So - how to capture/get to the stdout produced by that system(cmd)?
roadie has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
desnudopenguino1 has joined #ruby
desnudopenguino has quit [Ping timeout: 240 seconds]
desnudopenguino1 is now known as desnudopenguino
roshanavand has quit [Ping timeout: 246 seconds]
<weaksauce> isene you can get that via pty
<weaksauce> you might be able to get that via some environment variable passing to io.popen or open3.capture
infinityfye has quit [Quit: Leaving]
<weaksauce> but i'm not sure the right incantation for that
roadie has joined #ruby
<weaksauce> require 'pty'; PTY.spawn("ls -FG") do |stdout,stdout,stderr| puts stdout.read end
roadie has quit [Ping timeout: 248 seconds]
<isene> Interesting - but I get: require 'pty'; PTY.spawn("ls -FG") do |stdout,stderr| puts stdout.read end => Input/output error @ io_fread - /dev/pts/15 (Errno::EIO)
<weaksauce> if you're on linux it might be something else?
<weaksauce> i'm on a mac on ruby3
<weaksauce> and on zsh
<weaksauce> actually it was a little different
<weaksauce> |stdout, _stdin, _pid|
<isene> Yes, I'm on Linux...
<mooff> isene: system() returns a string of the result, without printing it automatically
<mooff> you could either store those results outside of your calls to system(), or you could override system()
<isene> mooff: system("ls") returns only exit codes with the actual output of the command passing right through to the terminal...
<mooff> it's even possible to override how backticks are handled - by default, they're run as shell commands by Kernel#`(cmd)
<mooff> but if self has a custom ` method, that'll be used instead
<mooff> >> system("date")
<ruby[bot]> mooff: # => Thu May 11 22:50:18 UTC 2023 ...check link for more (https://carc.in/#/r/f1tp)
<mooff> >> system("date").class
<ruby[bot]> mooff: # => Thu May 11 22:50:28 UTC 2023 ...check link for more (https://carc.in/#/r/f1tq)
<mooff> ah, heh
<isene> mooff: So, how to override system() so as to _also_ capture what goes to the terminal?
<mooff> instead of system, try using backticks
<mooff> >> `date`
<ruby[bot]> mooff: # => "Thu May 11 22:51:01 UTC 2023\n" (https://carc.in/#/r/f1tr)
<mooff> >> `date`.class
<mooff> (that'll be String)
<isene> mooff: Can't do since I need the raw output to the terminal (without stripping ansi color codes, etc.)
<mooff> right, i see
<mooff> so if you had ansi colors in the output of a backticks `command`, then when you print() or puts() it, it should work faithfully in the terminal that's running your Ruby program
<mooff> but it'll be down to whether the command runs with a tty, or not
roshanavand has joined #ruby
<mooff> ^ whether you get colors in the output of most programs by default, for instance
<weaksauce> mooff i think backticks uses a mode that will never get color info
<weaksauce> port = pipe_open_s(str, "r", FMODE_READABLE|DEFAULT_TEXTMODE, NULL);
<weaksauce> default_textmode seems like it would strip
<mooff> weaksauce: unless the implementation strips ANSI escape codes explicitly, i still believe it's up to the program whether or not it includes them
<weaksauce> sure
<weaksauce> but most programs will autostrip on a terminal that doesn't call for it
<mooff> >> $stdin.console?
<ruby[bot]> mooff: # => undefined method `console?' for #<IO:<STDIN>> (NoMethodError) (https://carc.in/#/r/f1ts)
<mooff> >> require "io/console"
<ruby[bot]> mooff: # => true (https://carc.in/#/r/f1tt)
<mooff> >> $stdin.console?
<ruby[bot]> mooff: # => undefined method `console?' for #<IO:<STDIN>> (NoMethodError) (https://carc.in/#/r/f1tu)
<weaksauce> isene what are you ultimately trying to acomplish?
<mooff> >> $stdin.tty?
<ruby[bot]> mooff: # => false (https://carc.in/#/r/f1tv)
<isene> In the shell I am writing, I am doing system(cmd) - but in the case of fzf integration, I need the output of fzf to let the shell cd to the dir of the selected match
<weaksauce> gotcha
roshanavand has quit [Read error: Connection reset by peer]
<mooff> basically with POSIX, you can run a program where its stdin is a "terminal", aka a "tty", or not
<mooff> that's designed for interactive use with a terminal emulator, vs automated use
<mooff> you could ask ChatGPT to write a def `(cmd) function that returns the content of stdout after running the cmd with a tty
<weaksauce> isene try the pty again but change the command to something else
<weaksauce> ls --color=always
<isene> So, is there a system variable the stores the latest resulting stdout from system() that I can access?
<mooff> it will likely use Open3 from the stdlib to do it
<weaksauce> you probably got that error because that switch was broken in linux
<isene> weaksauce: Can't get the PTY thingy to work... same error
<weaksauce> and thus the stdout never gets opened
<weaksauce> try just ls
<isene> require 'pty'; PTY.spawn("ls") do |stdout, _stdin, _pid| output = stdout.read end => Input/output error @ io_fread - /dev/pts/16 (Errno::EIO)
<weaksauce> curious
<isene> mooff: Tried various Open3 solutions, but it all strips the ansi color codes...
<mooff> ChatGPT reaches for PTY
<mooff> try calling ls with --color=always to test
<isene> The only way I can get the ansi codes passed to the terminal is with system()
<isene> mooff: Tried Open3 with ls --color=always
<isene> (as that is my alias for ls in any case)
<weaksauce> you know what you can use spawn
<weaksauce> which i believe is basically a more optionpacked system*()
roadie has joined #ruby
lena64t2 has quit [Quit: WeeChat 4.0.0-dev]
<isene> Yes, will explore more tomorrow. Thanks guys. Nite
FullMetalStacker has joined #ruby
<FullMetalStacker> Is there a page builder for ruby/rails? I.e. a drag & drop frontend-editing interface to a CMS, like Elementor for Wordpress. The big CMS solutions for Ruby that I know (Refinery CMS, Comfortable Mexican Sofa, Spina, Alchemy) seem all to be traditional (=outdated) backend editors ony. (X-post, f'up in #ruby)
roadie has quit [Ping timeout: 248 seconds]
<weaksauce> i don't think they need to overwrite kernel`
<mooff> for a shell, based on Ruby eval, i'd consider it
<weaksauce> fair
<weaksauce> FullMetalStacker something in the npm world that connects to your backend perhaps?
<mooff> >> puts `ls -1 --color`
<ruby[bot]> mooff: # => ...check link for more (https://carc.in/#/r/f1u7)
<mooff> >> `ls -1 --color`
<ruby[bot]> mooff: # => "" (https://carc.in/#/r/f1u8)
<mooff> `ls --color` contains ANSI codes for me
<mooff> without overriding to use a PTY
<joto> Has anyone got experience with multiple databases in rails? I added them correctly under database.yml. Following various tutorials I should be able to do db:create:animals (animals being my secondary database here) however rake -T does not show this task.
<joto> also rails generate migration CreateDogs name:string --database animals has no effect. It just places the migration under db/migrate instead of db/animals_migrate where it is supposed to land.
<joto> I'm on the latest rails 7.0.4.3. all these tutorials seem to be written for 6 and 7 though
<FullMetalStacker> @weaksauce found some javascript ones but no idea how to connect that to rails. but now found this: https://www.maglev.dev/
<FullMetalStacker> This is a page builder, made from the guys of locomotive cms! https://www.ruby-toolbox.com/projects/locomotivecms
cognemo_ has joined #ruby
cognemo has quit [Ping timeout: 240 seconds]
<weaksauce> solid FullMetalStacker
<FullMetalStacker> Thanks for leading me to this! It might not be related to nmp, but nevertheless the search prompt (javascript pagebuilders for rails) based on your idea brougth maglev up :-)
<FullMetalStacker> "Maglev is the only page builder for RoR application." BINGO :)
<weaksauce> hah nice
<weaksauce> yeah chatgpt has some usefulness
<FullMetalStacker> sure, but in this case it was good ol' goolge
<FullMetalStacker> :-)
victori has quit [Quit: ZNC 1.8.2 - https://znc.in]
victori has joined #ruby
roadie has joined #ruby
roadie has quit [Ping timeout: 248 seconds]
cognemo_ has quit [Ping timeout: 264 seconds]
cognemo has joined #ruby