[ANN] Execute as Ruby Code Service for OS X

F

Florian Groß

Moin.

I've written a system service for OS X that allows you to execute
selected Ruby code in any OS X application by hitting Apple-* --
Adium, Safari, X-Chat, Mail, TextMate, more. Use it as a calculator or
for quickly executing any kind of Ruby code.

It will turn
The number is rand
into
The number is 0.70682595577091
when you select rand and hit Apple-*.

It will turn
"Hello World".reverse
into
"dlroW olleH"
when you select the line and hit Apple-*.

It also supports these things:
2**32#
x = 0
5.times do
x += 5#
end
raise#

They result in this when you select everything and hit Apple-*:
2**32 # => 4294967296
x = 0
5.times do
x += 5 # => 5, 10, 15, 20, 25
end
raise # ~> -:7: unhandled exception

It uses mfp's xmpfilter.rb and ThisService and is written in Ruby.

To install:
1) Download http://flgr.0x42.net/ExecuteasRubycode.service.zip
2) Unextract the archive if your browser hasn't done so already.
3) Move ExecuteasRubycode.service to ~/Library/Services or /Library/
Services.
4) Relogin to OS X.

You can use Service Scrubber (http://www.manytricks.com/
servicescrubber/) to assign a custom hot key.

To see or modify the source code right click the service, select 'Show
package contents' and navigate to Contents/Resources.

Kind regards,
Florian Gross
 
B

benjohn

Moin.
I've written a system service for OS X that allows you to execute
selected Ruby code in any OS X application by hitting Apple-* --
Adium, Safari, X-Chat, Mail, TextMate, more. Use it as a calculator or
for quickly executing any kind of Ruby code.

It will turn
The number is rand
into
The number is 0.70682595577091
when you select rand and hit Apple-*.

:) It almost certainly wont, you know ;-)

That sounds great though, I'll be grabbing it tonight. Thanks!
 
B

Benjohn Barnes

Moin.

I've written a system service for OS X that allows you to execute
selected Ruby code in any OS X application by hitting Apple-* --
Adium, Safari, X-Chat, Mail, TextMate, more. Use it as a calculator or
for quickly executing any kind of Ruby code.

I'm sure I'm doing something wrong, but this isn't working for me. =20
It's installed (well, I can see it in the services menu anyway), but =20
if I select some text and select it, nothing seems to happen. Would =20
you like some error diagnosis? I don't know where to start providing =20
further information, sorry.

Cheers,
Benj
 
F

Florian Groß

I'm sure I'm doing something wrong, but this isn't working for me.
It's installed (well, I can see it in the services menu anyway), but
if I select some text and select it, nothing seems to happen.

I think the archive I uploaded was broken. I've reuploaded it and it
works now.


Unfortunately, there seems to be a bug in Apple's Mail.app: When you
try to use the service in its compose mail text panel the clip board
will be pasted instead. In other fields in Mail.app the service will
work as expected, however. This has been reported to Apple months ago
by ThisService's author.
 
D

Dave Baldwin

I found a similar thing. It doesn't work in Mail (just beeps), but =20
works in other apps (TextEdit and TextMate are the ones I tried).

Dave.
 
M

matt neuburg

Florian Groß said:
Moin.

I've written a system service for OS X that allows you to execute
selected Ruby code in any OS X application by hitting Apple-* --
Adium, Safari, X-Chat, Mail, TextMate, more. Use it as a calculator or
for quickly executing any kind of Ruby code.

Just FYI, see also Bellhop, which allows you to use Ruby code *as* a
system service:

<http://www.xendai.com/bellhop/library/index.html>

Executing selected text would be a subset. m.
 
F

Florian Groß

Just FYI, see also Bellhop, which allows you to use Ruby code *as* a
system service:

<http://www.xendai.com/bellhop/library/index.html>

Executing selected text would be a subset. m.

Ah, that's an alternative to ThisService with more features then?

ThisService allows you take anything the console executes and turn it
into a service by feeding the selection to the service as STDIN and
replacing it by STDOUT.

My service is itself written in Ruby. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,996
Messages
2,570,237
Members
46,825
Latest member
VernonQuy6

Latest Threads

Top