PictureFrame
Draw predefined or custom frames around text.
Installation
Add this line to your application's Gemfile:
gem 'picture_frame'
And then execute:
$ bundle
Or install it yourself as:
$ gem install picture_frame
Usage
> f = PictureFrame.create
> puts f.frame('Hello, World!')
+---------------+
| Hello, World! |
+---------------+
> f = PictureFrame.create(:stars)
> puts f.frame('Hello, World!')
*****************
* Hello, World! *
*****************
puts PictureFrame.create(:random).frame('Surprise!')
⌜ ⌝
Surprise!
⌞ ⌟
> f = PictureFrame.create("-- * --", :placeholder => '*')
> puts f.frame('Just a line')
-- Just a line --
Showcase
> PictureFrame.showcase("Hello, World!")
:default
+---------------+
| Hello, World! |
+---------------+
:stars
*****************
* Hello, World! *
*****************
:slashes
///////////////////
// Hello, World! //
///////////////////
:hashes
#################
# Hello, World! #
#################
:ornate
%=---------------=%
∥ ∥
| Hello, World! |
∥ ∥
%=---------------=%
:ephemeral
⌜ ⌝
Hello, World!
⌞ ⌟
:box
+-----------------+
/ /|
+-----------------+ |
| | |
| Hello, World! | |
| | +
| |/
+-----------------+
> PictureFrame.showcase("Hello\nWorld")
:default
+-------+
| Hello |
| World |
+-------+
:stars
*********
* Hello *
* World *
*********
:slashes
///////////
// Hello //
// World //
///////////
:hashes
#########
# Hello #
# World #
#########
:ornate
%=-------=%
∥ ∥
| Hello |
| World |
∥ ∥
%=-------=%
:ephemeral
⌜ ⌝
Hello
World
⌞ ⌟
:box
+---------+
/ /|
+---------+ |
| | |
| Hello | |
| World | |
| | +
| |/
+---------+
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
TODO
- Ensure that multibyte characters work properly
- Support ANSI colors.