Sha256: 78266dc50aaee833c258ead726093122e9b735e4b9cc715f83f5595243299dc2

Contents?: true

Size: 1.75 KB

Versions: 33

Compression:

Stored size: 1.75 KB

Contents

---
layout: post
title:  "pry"
keywords: ruby, java, jruby
permalink: live/pry.html
---
### Live coding with pry and vim ###

First you will need to `jgem install pry`

Easy use configuration in your `~/.bashrc` (many linux distros) or `~/.profile`

```bash
alias jpry="jruby -e \"require 'pry'; binding.pry\""
```
Then firing up pry with jruby is as simple as

```bash
jpry
```
The easiest way to start is to created a template sketch eg `picrate -c fred 200 200`

For live editing with vim (there is is an emacs alternative see [pry wiki][prywiki])

You should also create or edit `~/.pryrc` to set the live editor

```bash
Pry.config.editor = 'vim'
```
Fire up the pry console then at pry prompt:-

```bash
load 'fred_sketch.rb'
fred = FredSketch.new
edit FredSketch
```
Screen shot on edit from pry

![pry]({{ site.github.url }}/assets/edit_vim.png)

Screen shot on `:wq` from vim

![pry]({{ site.github.url }}/assets/vim_save.png)

Or if you just wanted to edit the draw loop

`edit -p FredSketch#draw`

[prywiki]:https://github.com/pry/pry/wiki/Customization-and-configuration

But there's much more you can use the pry console for, like regular ruby you can look up methods constants etc:-

```ruby
require 'picrate'
# => true
Java::ProcessingCore::PConstants.constants
# => [:PATH,
# :DISABLE_TEXTURE_MIPMAPS,
# :POLYGON,
# :POSTERIZE,
# :ENABLE_DEPTH_TEST,
# :TEXT,
# :BOTTOM,
# :CLOSE,
# :MIN_INT,
# ...]
Java::ProcessingCore::PConstants::P3D
# => "processing.opengl.PGraphics3D"
Java::ProcessingCore::PApplet.methods
# [:create_reader,
# :year,
# :java_method,
# :degrees,
# :blend_color,
# :show_variation_warning,
# :runSketch,
# :lerpColor,
# :shorten,
# :trim,
# :sqrt,
# :calcSketchPath,
# ...]
# Note snake case methods, also not all the methods will be useful in `PiCrate`
```

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
picrate-2.5.2-java docs/_live/pry/pry.md
picrate-2.5.1-java docs/_live/pry/pry.md
picrate-2.5.0-java docs/_live/pry/pry.md
picrate-2.4.2-java docs/_live/pry/pry.md
picrate-2.4.1-java docs/_live/pry/pry.md
picrate-2.4.0-java docs/_live/pry/pry.md
picrate-2.3.0-java docs/_live/pry/pry.md
picrate-2.2.0-java docs/_live/pry/pry.md
picrate-2.1.2-java docs/_live/pry/pry.md
picrate-2.1.1-java docs/_live/pry/pry.md
picrate-2.1.0-java docs/_live/pry/pry.md
picrate-2.0.1-java docs/_live/pry/pry.md
picrate-1.3.0-java docs/_live/pry/pry.md
picrate-2.0.0.pre-java docs/_live/pry/pry.md
picrate-1.2.4-java docs/_live/pry/pry.md
picrate-1.2.3-java docs/_live/pry/pry.md
picrate-1.2.2-java docs/_live/pry/pry.md
picrate-1.2.1-java docs/_live/pry/pry.md
picrate-1.2.0-java docs/_live/pry/pry.md
picrate-1.1.0-java docs/_live/pry/pry.md