Matt,
Thanks for the head start on the port to 2.0.
I have started to finish it and am about 95% there.
At this point I can run through all browser-based scenarios and have
started some of the Restr-based scenarios. I am now trying to figure out
how to do the authentication bit for the PUT scenarios.
I hope to complete this by the end of the week-end.
Philippe
On 3/23/2010 1:49 PM, Matt Zukowski wrote:
Alright I spent a few hours trying to see if I can make things work
with 2.0.
I was able to make some progress (mostly thanks to Magnus' help!) but
ran out of time before I could get things runnings.
Here's the result:
http://gist.github.com/341555
I'm not sure when I will get a chance in the near future to play
around with this again, but if someone wants to take it and run with
it I'd be happy to help.
Matt.
On Tue, Mar 23, 2010 at 12:36 PM, Magnus Holm <[email protected]
<mailto:[email protected]>> wrote:
code = %q{
# This Ruby code will be called everytime Camping.goes is called.
# And "Camping" is replaced with the app module, so you can do
stuff like:
def Camping.foo
puts "Hello World!"
end
# You probably just want to do:
module Camping
include MyExtension
end
}
# For Camping.goes
Camping::S << code
# For previus Camping.goes
Camping::Apps.each { |app| app.module_eval(code.gsub("Camping",
app.to_s)) }
As for qsp, it's replaced by Rack::Utils.parse_query. This creates
a regular Hash though, so I've written a Base#n to convert it to
Camping::H.
# Before:
hash = Camping.qsp("hoho=1")
# Now: (inside an instance of a controller)
hash = n(Rack::Utils.parse_query("hoho=1"))
// Magnus Holm
On Tue, Mar 23, 2010 at 17:23, Matt Zukowski <[email protected]
<mailto:[email protected]>> wrote:
Okay got it... but as I look at this a bit more, the
ridiculous things I had to do to make Reststop work (for
Camping 1.0) are all coming back to me.
As I recall, the root of all evil was Camping#goes. I had to
override it in order to inject the Reststop code into Camping.
Camping#qsp was the second evil, and I see that it's now gone.
I'm looking around now to see what you've done to replace it
(I take it Rack took care of some of that).
On Tue, Mar 23, 2010 at 12:05 PM, Magnus Holm
<[email protected] <mailto:[email protected]>> wrote:
@env['REQUEST_METHOD'] is the HTTP method send by the
client, @method is the method (in lowercase) Camping is
going to run ("r404" for 404 etc.)
// Magnus Holm
On Tue, Mar 23, 2010 at 17:01, Matt Zukowski
<[email protected] <mailto:[email protected]>> wrote:
Hey Magnus, while we have your attention, in 2.0 how
do I get access to e['REQUEST_METHOD'] inside the
'service' method? Trying to figure this out as we
speak...
On Tue, Mar 23, 2010 at 11:50 AM, Magnus Holm
<[email protected] <mailto:[email protected]>> wrote:
I find extending Camping apps to be quite easy,
since it's all classes and modules, but I can
understand that extending Camping itself can be
difficult/weird. That said, I think a lot can be
solved by defining #included and #extended. It
would be great if you could tell us a bit exactly
the problems you faced. We still have 1k left.
Don't hurry, though. Let's get 2.0 out first.
// Magnus Holm
On Tue, Mar 23, 2010 at 16:07, Matt Zukowski
<[email protected] <mailto:[email protected]>> wrote:
I actually have a reststop app up and running
fine with Camping 2.0 (check out Taskr at
http://github.com/zuk/taskr). Tthe catch is
that it's a version of 2.0 that I forked about
this time last year, and looking at the github
graph, Magnus has committed a whole slew of
changes since then. So whatever broke Reststop
must have been committed in the last 10 months
or so.
To be honest over the last year I've mostly
switched form Camping to Sinatra (and lately
to Node.js, which is really really cool by the
way). The problem with Camping, for me, is
that trying to extend it is a nightmare. I
learned this the hard way while writing
Reststop and Picnic.
Anyway I have a bit of time right now, so
since there seems to be some interest, I'll
pull down the latest version of Camping and
see if I can make it work with Reststop. I
should also move Reststop to github while I'm
at it.
On Mon, Mar 22, 2010 at 11:32 PM, Philippe
Monnet <[email protected]
<mailto:[email protected]>> wrote:
Hi David,
I had played with RESTstop on the old
Camping maybe six months ago.
I have now started to take a look at what
the issues are about.
So far I have found a few things like:
In reststop.rb:
- the service method needs to retrieve
the REQUEST_METHOD using
@env['REQUEST_METHOD']
-the condition on the if statement on
the last m.capture line of the render
method needs to be adjusted (not sure what
a[0] should be replaced with. So far I
have temporarily replaced the line by:
s = m.capture{send(:layout){s}} if
m.respond_to?(:layout)
In the blog.rb example
- the version number for camping needs
to be updated
- require 'camping/db' should be removed
since now obsolete
- require 'markaby' needs to be added
So far I can bring up the app in a
browser, login, add a post.
But if I use Restr I can only do a GET.
The PUT currently fails with a 401. I will
continue to try figuring it out over the
next week or so.
It would be great if the initial author
could help us out.
Philippe
On 3/12/2010 8:04 AM, David Susco wrote:
Has anyone managed to get camping to work with
reststop using 1.9.354?
_______________________________________________
Camping-list mailing list
[email protected]
<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected]
<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected]
<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected]
<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected] <mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected] <mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected] <mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/camping-list
_______________________________________________
Camping-list mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/camping-list