meh` changed the topic of #opal to: http://opalrb.org - Ruby runtime and library on top of Javascript | 1.0.0 is near | This channel is logged at https://botbot.me/freenode/opal/
e_dub has quit [Quit: e_dub]
_whitelogger_ has joined #opal
royvandermeij has joined #opal
adambeynon has joined #opal
Noldorin has joined #opal
brixen has joined #opal
AndrzejKrzywda has joined #opal
kartouch has joined #opal
ylluminate` has joined #opal
antonishen has joined #opal
dimaursu16 has joined #opal
Kilo`byte has joined #opal
aflatter has joined #opal
dleedev has joined #opal
ivanoats has joined #opal
ryanstewart3 has joined #opal
lacrosse has joined #opal
oldfartdeveloper has joined #opal
31NAAEFD9 has joined #opal
Liothen has joined #opal
dleedev has quit [Quit: dleedev]
ivanoats has quit [*.net *.split]
Liothen has quit [*.net *.split]
ivanoats has joined #opal
royvandermeij has quit [*.net *.split]
AndrzejKrzywda has quit [*.net *.split]
_whitelogger has joined #opal
royvandermeij has joined #opal
oldfartdeveloper has quit [Ping timeout: 276 seconds]
aflatter has quit [Ping timeout: 276 seconds]
dleedev has quit [Ping timeout: 276 seconds]
brixen has quit [Ping timeout: 276 seconds]
Kilo`byte has quit [Ping timeout: 276 seconds]
royvandermeij has quit [*.net *.split]
yazgoo has quit [*.net *.split]
AndrzejKrzywda has quit [*.net *.split]
ryanstewart4 has quit [*.net *.split]
RoxasShadowRS has quit [*.net *.split]
_whitelogger has joined #opal
_whitelogger has joined #opal
_whitelogger has joined #opal
Kilo`byte has quit [Excess Flood]
elia has joined #opal
<elia> welcome back freenode!
dimaursu16 has joined #opal
e_dub has quit [Quit: It's a hard knock life]
antonishen has joined #opal
31NAAEFD9 has joined #opal
kartouch has joined #opal
adambeynon has joined #opal
lacrosse has joined #opal
dleedev has joined #opal
Kilo`byte has joined #opal
aflatter has joined #opal
dimaursu16 has quit [Ping timeout: 272 seconds]
oldfartdeveloper has quit [Changing host]
oldfartdeveloper has joined #opal
dleedev has quit [Quit: dleedev]
RoxasShadow has joined #opal
RoxasShadowRS has quit [Ping timeout: 313 seconds]
dimaursu16 has joined #opal
RoxasShadowRS has joined #opal
RoxasShadow has quit [Ping timeout: 272 seconds]
aflatter has quit [Ping timeout: 261 seconds]
Kilo`byte has quit [Ping timeout: 486 seconds]
meh` has joined #opal
elia has quit [Ping timeout: 253 seconds]
oldfartdeveloper has quit [Ping timeout: 253 seconds]
dimaursu16 has quit [Ping timeout: 249 seconds]
kludge` has joined #opal
aflatter has joined #opal
kludge` has quit [Changing host]
kludge` has joined #opal
oldfartdeveloper has joined #opal
dimaursu16 has joined #opal
RoxasShadow has joined #opal
RoxasShadowRS has quit [Ping timeout: 297 seconds]
Kilo`byte has joined #opal
RoxasShadowRS has joined #opal
aflatter_ has joined #opal
RoxasShadow has quit [Ping timeout: 272 seconds]
dimaursu16 has quit [Ping timeout: 272 seconds]
aflatter has quit [Ping timeout: 272 seconds]
dimaursu16 has joined #opal
aflatter_ is now known as aflatter
dimaursu16 has quit [Ping timeout: 272 seconds]
Kilo`byte has quit [*.net *.split]
oldfartdeveloper has quit [*.net *.split]
fkchang has joined #opal
RoxasShadowRS has quit [Ping timeout: 255 seconds]
Kilo`byte has joined #opal
ryanstout has joined #opal
Guest21219 has joined #opal
oldfartdeveloper has joined #opal
GitHub75 has joined #opal
<GitHub75> [opal-sprockets] Arcovion opened pull request #4: Version limit change (master...patch-1) http://git.io/YgZp2A
GitHub75 has left #opal [#opal]
dimaursu16 has joined #opal
GitHub127 has joined #opal
<GitHub127> [opal-sprockets] meh closed pull request #4: Version limit change (master...patch-1) http://git.io/YgZp2A
GitHub127 has left #opal [#opal]
GitHub99 has joined #opal
<GitHub99> [opal-browser] meh pushed 1 new commit to master: http://git.io/1JdLBQ
GitHub99 has left #opal [#opal]
<GitHub99> opal-browser/master 25770ac meh: spec: fix attributes specs
<meh`> adambeynon, ping
<adambeynon> hiya meh`
Guest21219 has quit [Remote host closed the connection]
<meh`> adambeynon, our exceptions are utterly broken
<meh`> adambeynon, any way to fix them?
<adambeynon> meh`: how do you mean?
<meh`> >> class Foo < StandardError; def hue; 42; end; end
<meh`> => nil
<meh`> => #<Foo: ''>
<meh`> >> Foo.new
<meh`> >> Foo.new.hue
<meh`> Object Foo has no method '$hue'
<meh`> we just set _klass on the `new Error(message)`
<meh`> but that's not how it should work
<adambeynon> oh my. looks like I didn't change .new() since we had method tables
ryanstout has quit [Quit: ryanstout]
<meh`> yep
<adambeynon> meh`: we can't use #initialize(), we will have to keep the creation under .new()
<adambeynon> but, we should be able to get subclassing working properly
<meh`> adambeynon, can't we call it?
<meh`> I mean, I understand new has to do special things
<meh`> but can't we still call #initialize in new?
<adambeynon> meh`: well, we can, but we can't use it to set the message
<adambeynon> some browsers (IE possibly?) would only set the messsage on the constructor
<meh`> adambeynon, well, in theory, you should use the #message anyway
<meh`> instead of the native one
<meh`> so it shouldn't be a problem
<adambeynon> meh`: if we dont set the real .message property, then they dont display properly in the dev tools
<adambeynon> we cant do #inspect/#to_s magic there
<meh`> adambeynon, yes, I'm not saying it shouldn't, but if the user wants its own message it's on him
<meh`> so call #initialize anyway
<meh`> the rest is up to him
<meh`> fucking imgur
<meh`> https://i.imgur.com/q3rECxa.jpg very useful screenshot
<adambeynon> meh`: it also gets more complicated as in chrome, subclasses need to call a special method to be able to get stacktraces
<adambeynon> Error.captureStackTraces(error_instance)
<adambeynon> or something like that
<meh`> adambeynon, yes, just call #initialize, the user will have to know what he's getting himself into
<meh`> adambeynon, it would be also nice if there was a way to just new with an already existing error
<meh`> I'm receiving a JS error I want to wrap in an exception
<adambeynon> meh`: a js error is an exception
<adambeynon> its a subclass
<meh`> adambeynon, yes, but I want to subclass it further
<meh`> I have an error with various codes
<meh`> and it's actually 7 different exceptions
<adambeynon> meh`: how would Exception know how to deal with special properties?
<meh`> adambeynon, it wouldn't
<meh`> adambeynon, http://sprunge.us/XBPA
<meh`> this is what I have now
dimaursu16 has quit [Quit: Leaving]
dimaursu16 has joined #opal
RoxasShadowRS has joined #opal
RoxasShadowRS has quit [Quit: Leaving]
<fkchang> adambeynon: how do I setup src maps in https://github.com/opal/opal/blob/master/examples/sinatra/config.ru
<adambeynon> fkchang: they should just work
<adambeynon> they are now on by default
<adambeynon> do the generated sources have the sourcemapurl ?
<adambeynon> fkchang: sorry
<adambeynon> im being slow
<adambeynon> one sec, let me get the code
<fkchang> adambeynon: it seems it's not getting routed 127.0.0.1 - - [03/Feb/2014 11:39:21] "GET /__opal_source_maps__/corelib/helpers.
<fkchang> but when I run the rack example, it does 127.0.0.1 - - [03/Feb/2014 11:40:12] "GET /__opal_source_maps__/corelib/basic_object.js.map HTTP/1.1" 200 - 1.2604
<fkchang> sorry the not routing in sinatra line was cut off, it was returning 404
<adambeynon> that should work
<adambeynon> (untested)
<adambeynon> but it copies what Opal::Server does
<adambeynon> the source map server needs a reference to the sprockets instance
<adambeynon> which makes the code a little ugly
<adambeynon> but it does what it needs to
<fkchang> adambeynon: it's responding to src map requests now, thx
<fkchang> though it doesn't seem like there's anything useful in helpers.js.map, I'll mess around w/some more source
<fkchang> adambeynon: everything seems to be helpers line 1
Noldorin has joined #opal
barry_ has joined #opal
<adambeynon> fkchang: any other files acting like that?
<adambeynon> fkchang: tbh, I find sourcemaps very temperamental. always need to clear caches etc
ryanstout has joined #opal
<fkchang> adambeynon: seems like everything still maps to helper, I added another class and raised an error in there and it still maps every line in the stack to helpers:1
<fkchang> is it an elia question to figure out how to debug?
<adambeynon> ohhhh, wait
<adambeynon> is it compiling all files into one javascript file?
<fkchang> yeah, that's the default isn't it?
dimaursu16 has quit [Ping timeout: 252 seconds]
dimaursu16 has joined #opal
[o__o] has joined #opal
_whitelogger_ has joined #opal
ryanstewart4 has quit [Ping timeout: 245 seconds]
_whitelogger has quit [Ping timeout: 245 seconds]
GitHub99 has joined #opal
<GitHub99> [opal-browser] meh pushed 1 new commit to master: http://git.io/xuusgQ
GitHub99 has left #opal [#opal]
<GitHub99> opal-browser/master 93aec20 meh: spec/dom/element/attributes: fix specs in IE6..8
ryanstout has quit [Quit: ryanstout]
Liothen has joined #opal
Liothen has quit [Max SendQ exceeded]
<fkchang> meh`: ping
<meh`> fkchang, pong
<adambeynon> fkchang: Opal::Server has to use some ERB magic to get assets compiling into individual files
<adambeynon> then the source maps work
<adambeynon> sprockets makes it tricky to get sourcemaps working in a single file
<adambeynon> thats how we add javascript_include_tag
<adambeynon> acts just like rails
<adambeynon> (sorry, got distracted by football on tv)
RoxasShadowRS has joined #opal
<meh`> well
<meh`> opal-browser now has WebSQL
<adambeynon> meh`: \o/
<adambeynon> anything missing from opal-browser? :)
<meh`> quite a bit
<meh`> mostly HTML5 stuff
<meh`> IndexedDB
<meh`> but I'll add it whenever
aflatter has quit [Quit: ZNC - http://znc.in]
aflatter has joined #opal
harrow has joined #opal
dimaursu16 has quit [Ping timeout: 265 seconds]
<fkchang> meh`: So if I wanted to make a lissio tabs component(s) how would I go about it? If it were just jquery, I'd have tabs in say a ul/li and divs in an a parent div that corresponded to the tabs (li's). My first thought was to have a tab container that I'd add tabs to, where the tabs might consist of 2 components one for the tab, one for the content. Where I'm getting to to is that the tabs and tab contents would have different parent
<fkchang> elements, so I wouldn't just do a element << TabPair.new(blah).render
aflatter has quit [Quit: ZNC - http://znc.in]
<meh`> fkchang, I'd treat it as an hash
<meh`> so what you care about is the component to show
<meh`> not the tab
aflatter has joined #opal
<meh`> tabber["I'm a tab"] = MyComponent.new
Liothen has joined #opal
<meh`> it build a TabHeader internally
<meh`> *builds
<meh`> so it can show the tab thingy
<meh`> how do you call the tab selection thingy?
<meh`> fkchang, then you can do some "optimizations"
<meh`> you keep a @current showed tab
<meh`> and only render it in the proper place
<meh`> the rest stays unrendered, until you need it
<meh`> for example
<meh`> @tabber.go("I'm a tab")
<meh`> would get the MyComponent instance from a @tabs thing
<meh`> and do something like element['.content'].inner_dom = @tabs["I'm a tab"].render
<meh`> fkchang, I'm not sure I explained myself
<fkchang> I'll think about that, I guess I could have a @tab_header.element << Tab.new() "I'm a tab").render and @tab_content.element << MyComponent.new.render, where I create those 2 parent elements in initialize
<fkchang> adambeynon: so is the answer to make it separate files to get src maps?
<meh`> fkchang, gimme a sec, I'll write some mockup code
<meh`> fkchang, very stupid unoptimized way of doing it
<meh`> fkchang, with that example you have to render every time
<meh`> fkchang, but you can easily add a #select! method
<meh`> that does specific rendering
<meh`> so you only rerender what you need to
<meh`> or even not render at all
<meh`> fkchang, or instead of #[]= you could use #<<
<meh`> fkchang, does that make sense?
<fkchang> that makes sense, I think I was heading towards something similar once I started discussing it
Noldorin has quit []
ryanstout has joined #opal
dimaursu16 has joined #opal
Noldorin has joined #opal
<ryanstout> if anyone's interested, I did a new demo video for Volt (my framework) http://www.youtube.com/watch?v=j0vFIRMzarI
aflatter has left #opal [#opal]
<ryanstout> fkchang: is opal-irb up to date now with the latest opal?
barry_ has quit [Ping timeout: 265 seconds]
GitHub131 has joined #opal
<GitHub131> [opal] meh pushed 1 new commit to master: http://git.io/GIF1IQ
<GitHub131> opal/master d21fba0 meh: Fix Native::Object#is_a? semantics
GitHub131 has left #opal [#opal]
barry_ has joined #opal
<ryanstout> adambeynon: so I was thinking about the experimental branch you were talking about. What happens when there's a JS property with a $ in the name, does that conflict with the instance vars? I know some frameworks use $something as function names. (its not common, just thinking)
<fkchang> ryanstout: I did just update opal-irb to head the other day
<ryanstout> cool
<fkchang> ryanstout: cool video. Very slick, demo gave me a "rails-y, ember-y, meteor-y" type of vibe.
<ryanstout> fkchang: thanks. Still have a lot to do, but its coming along.
<fkchang> I need to figure out how to make a 15 min screencast showing what I did at ocruby for the "ruby objects all the way down components vibe "
<ryanstout> yea, that would be cool
<fkchang> ryanstout: can I tweet out the link?
<ryanstout> I didn't show off my component stuff in that video
<ryanstout> fkchang: I'm still waiting until I get a little further to really promote it
<fkchang> ok, I can delay, the video slick enough I think that u could get more eyes by showing it
<ryanstout> I think once I get live queires working, you should be able to build real apps in it
<meh`> ryanstout, are you going to use opal-jquery or opal-browser? or nothing at all?
<ryanstout> opal-jquery at the moment, but I think I'm going to pull jquery and opal-jquery out at some point
<ryanstout> I should be able to do it without needing them by default
GitHub48 has joined #opal
GitHub48 has left #opal [#opal]
<GitHub48> [opal-browser] meh pushed 1 new commit to master: http://git.io/37t7fg
<GitHub48> opal-browser/master 0dcfc89 meh: database/sql: add WebSQL wrapping
<fkchang> meh`: did u watch the video?
<meh`> fkchang, just the first few minutes
<fkchang> did u see the reactive part?
<meh`> not yet, watching it
<fkchang> ok, I like how the reactive part works, I'd like to do similar and put a reactive element/variable into a template and have it automatically update.
<ryanstout> fkchang: which page is showing works with reactive value's as well, you just change a string for which template is showing. Which can be stored in the params model, and it updates the template that shows.
<fkchang> I think I realize from watching it that this will be popular because of the "works the way you sort of already do" rails-y dir structure, erb/handlebars ish templates, sass, etc.. I think the all ruby components thing needs more videos for people to get where it could go. Even better if we have a bunch of std components
<meh`> fkchang, I got liss.io, still have to find the time to make a half decent design for it and start adding things
<ryanstout> yea, my goal was to be close enough people would get it fairly quicky. Then add different stuff in over time.