• RubyGems To ALL JVM Languages

    Yoko Harada

    RubyConf 2010



     http://servletgarden-point.appspot.com/slideshow

    image description

  • Who Am I


    JRuby committer (embedding API)

    Nokogiri committer (pure Java)

    Blog: http://yokolet.blogspot.com/

    Twitter: @yokolet

    image description

  • Contents


    1 Idea

    2 RedBridge - JRuby Embedding API

    3 Examples


    image description

  • JRuby's Java Integration

    Java From Ruby

    Ruby From Java

    This Means... Ruby From JVM Languages?

    RubyGems From Clojure? Groovy? Jython? Scala?

    image description

  • JVM Languages' Java Integration

    Java API From JVM Languages

    ... JRuby Has Java API

    ... JRuby API From JVM Languages?



    image description

  • Yes, JRuby Has Java API For That!

    Embedding API, RedBridge!

    JRuby Speaks Java

    JRuby Runs RubyGems

  • JRuby API From JVM Languages

    UUID Gem To Clojure

    Yes!

  • JRuby API From JVM Languages

    UUID Gem To Groovy

    Yes!

  • JRuby API From JVM Languages

    UUID Gem To Jython

    Yes!

  • JRuby API From JVM Languages

    UUID Gem To Scala

    Yes!

  • JRuby API From JVM Languages

    UUID Gem To JRuby

    Yes!

  • Contents


    1 Idea

    2 RedBridge - JRuby Embedding API

    3 Examples


    image description

  • RedBridge? What Kind Of Bridge?

    Just a Small Java API

    Nickname of org.jruby.embed.* Packages

    image descriptionimage description*

    *photo: http://www.flickriver.com/photos/laroute/426393117/

  • RedBridge Is A Part Of JRuby


    No Extra Jar/Gem

    RedBridge Is Tested As A Part Of JRuby




    image descriptionimage description

  • RedBridge Is A JRuby Friendly API


    JSR223 Is Common To All JVM Languages

    RedBridge Is For JRuby




    image descriptionimage description

  • RedBridge Is A Clean API

    Cleanly Starts Up

    Cleanly Runs Ruby Code

    Cleanly Shut Down

    No! - Using JRuby's Main

    image descriptionimage description

  • RedBridge Is Simple

    Just 2 Things

    1 Instantiate ScriptingContainer

    2 Evaluate It

  • RedBridge Is A Colorful API

    Three Types Of Context Models

    Bunch Of Configuration Methods

    Four Types Of Evaluation Sources

    Four Types Of Sharing Variable Models

    Parse Once, Eval Many Times

    Runtime Termination Method

    Bunch of Ruby's Method Calling Methods

    ...

  • RedBridge Resources

    Wiki

    http://kenai.com/projects/jruby/pages/RedBridge


    API Docs

    http://jruby.org/apidocs/


    My Blog

    http://yokolet.blogspot.com/


    Other

    http://jruby.org/community

  • Contents


    1 Idea

    2 RedBridge - JRuby Embedding API

    3 Examples


    image description

  • DataMapper To Clojure

  • DataMapper To Clojure

    Demo!








    ruke on bridge

  • Twitter Gem To Scala

  • Twitter Gem To Scala

    Demo!








    ruke on bridge

  • Cucumber To Jython

  • Cucumber To Jython

    Demo!








    ruke on bridge

  • Rails To Groovy

  • Rails To Groovy (2)

  • Rails To Groovy

    Demo!








    ruke on bridge

  • The End


    ... hopefully, Q & A?





    Thank You!