render_cow 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +23 -3
- data/lib/render_cow/render_cow_patch.rb +11 -8
- data/lib/render_cow/spongebob.rb +39 -0
- data/lib/render_cow/version.rb +1 -1
- data/lib/render_cow.rb +9 -3
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d5c7313dcde9bfd0cbf7724b906a5f0c3e6e5e07bf08cf07f9f60af6f896f05
|
4
|
+
data.tar.gz: 68daaa2be57d59a898eba5223782470ebdc4e06fa2abcc6371444f8728310119
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf75f0d43da2c17b8d93783a0d30f4cd145c7a28a105e911f19ecae9e548d824f745c2cef0d7d9cb31707c94c5d655eae8f6a8ee8e0230ecc3ffa3a62c31641e
|
7
|
+
data.tar.gz: 7d68b7a173577a1acc793b5c99a7900e4e941304c644153241aa3930cafdddbe50b62b49a72179554512f3258e16647b243af99f3d8140385723e8d645d0a2ef
|
data/README.md
CHANGED
@@ -1,20 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
```bash
|
2
|
+
______________________
|
3
|
+
| RenderCow! |
|
4
|
+
----------------------
|
4
5
|
\ ^__^
|
5
6
|
\ (oo)\_______
|
6
7
|
(__)\ )\/\
|
7
8
|
||----w |
|
8
9
|
|| ||
|
9
10
|
|
11
|
+
```
|
10
12
|
RenderCow cowpatches the Rails render method to allow you to directly use cowsay.
|
11
13
|
Have you ever wanted to just render a cow?
|
12
14
|
Well now you can!
|
13
15
|
|
16
|
+
[See RenderCow in Action!](https://wasurechatta.com/moo?moo=RenderCow%20in%20action!)
|
14
17
|
|
15
18
|
## Usage
|
16
19
|
|
17
20
|
In your controller, replace calls with `render plain:` to `render cowsay:` or `render cow:`.
|
21
|
+
(You can still use render plain: and render partial: and others too, but you get invested cow superpowers by this gem)
|
22
|
+
|
18
23
|
|
19
24
|
```ruby
|
20
25
|
class ApplicationController < ActionController::Base
|
@@ -28,6 +33,18 @@ class ApplicationController < ActionController::Base
|
|
28
33
|
end
|
29
34
|
```
|
30
35
|
|
36
|
+
But that is not all!
|
37
|
+
You also have the following render-options:
|
38
|
+
```ruby
|
39
|
+
[:spongebob, :beavis, :bunny, :cheese, :cow, :daemon, :dragon, :elephant, :frogs, :ghostbusters, :kitty, :koala, :moose, :ren, :sheep, :stegosaurus, :stimpy, :turkey, :turtle, :tux]
|
40
|
+
```
|
41
|
+
|
42
|
+
So feel free to call `render spongebob: iS thIs A mEme?` from your controllers!
|
43
|
+
|
44
|
+
Todo:
|
45
|
+
Make Spongebob do the meme talk automatically.
|
46
|
+
There is already a gem for that.
|
47
|
+
|
31
48
|
## Installation
|
32
49
|
Add this line to your application's Gemfile:
|
33
50
|
|
@@ -45,6 +62,9 @@ Or install it yourself as:
|
|
45
62
|
$ gem install render_cow
|
46
63
|
```
|
47
64
|
|
65
|
+
This gem uses [cowsay](https://rubygems.org/gems/cowsay) as the cow rendering engine.
|
66
|
+
So this gem is just the Rails cow patch on the render method.
|
67
|
+
|
48
68
|
## Contributing
|
49
69
|
Feel free to contribute.
|
50
70
|
|
@@ -1,24 +1,27 @@
|
|
1
1
|
module RenderCow
|
2
2
|
module RenderCowPatch
|
3
3
|
def render(options = {}, args = {})
|
4
|
-
options[:plain] = cowspeach(options).then { RenderCow.moo(_1) } if
|
4
|
+
options[:plain] = cowspeach(options).then { RenderCow.moo(_1, character) } if character?(options)
|
5
5
|
super
|
6
6
|
end
|
7
7
|
|
8
8
|
private
|
9
9
|
|
10
|
-
def
|
10
|
+
def character(options = {})
|
11
|
+
options[:cow] = options.delete(:cowsay) if options.key?(:cowsay)
|
12
|
+
@character ||= options.detect do |key|
|
13
|
+
RenderCow.characters.find(key)
|
14
|
+
end&.first
|
15
|
+
end
|
16
|
+
|
17
|
+
def character?(options)
|
11
18
|
return unless options.is_a?(Hash)
|
12
19
|
|
13
|
-
options
|
20
|
+
character(options).present?
|
14
21
|
end
|
15
22
|
|
16
23
|
def cowspeach(options = {})
|
17
|
-
|
18
|
-
options[:cow]
|
19
|
-
elsif options.key?(:cowsay)
|
20
|
-
options[:cowsay]
|
21
|
-
end
|
24
|
+
options[character]
|
22
25
|
end
|
23
26
|
end
|
24
27
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Cowsay
|
2
|
+
module Character
|
3
|
+
class Spongebob < Base
|
4
|
+
def template
|
5
|
+
<<~TEMPLATE
|
6
|
+
#{@thoughts}
|
7
|
+
#{@thoughts}
|
8
|
+
,____#{" "}
|
9
|
+
(% ..* #)#{" "}
|
10
|
+
(\\ .*\\ #{" "}
|
11
|
+
*\\ @ (.\\ #{" "}
|
12
|
+
(\\ , / , \\&#{" "}
|
13
|
+
.,,*((,.*% @@.,,,,....,,,(#(,.,..,,.##{" "}
|
14
|
+
*(,../#####//../@@#&.,,*(#(*,..,...,.,..,.(#{" "}
|
15
|
+
.(*.,,,,,.####.,/(****&(,.,/((((,.,.../.,.,...(#{" "}
|
16
|
+
#....,,.....,,.(*****/((..........,.....*...####..##{" "}
|
17
|
+
(.**..........%%(#@........*,.....,/...,.(####.., /@@#{" "}
|
18
|
+
/..,/(**.................#.,%&&@(.....,,.(#(.../ / /\\ ////#{" "}
|
19
|
+
,& .. .,.............& ...../..,.,#*,. /, /\\ \\/ *.(#{" "}
|
20
|
+
///(@@) *............* (/@*@),....*.,.##.,. / )/ \\ \\, .. %*&#{" "}
|
21
|
+
. .. *..............& ., @.......,,,..*(__ / &.,*,.%%#{" "}
|
22
|
+
%&%@/...&..#............(......,(....,.,,,,.##% #(((//@.#*,..&#{" "}
|
23
|
+
(@.....%..............................,..###*,,.,,.**.@, .,@&#{" "}
|
24
|
+
/......(..,/............,................,......*#/.,,..(%@@%%%@#{" "}
|
25
|
+
@............@&&&&&&&@#*........,,,.....*......,.*...@@@%%%%.#{" "}
|
26
|
+
%........./&&&#.......%@/....*//*///.....,....,,.(....&%.#{" "}
|
27
|
+
@....... (*..,@,....................*/*/.....*,**,(*(#{" "}
|
28
|
+
&....( ,%*.......................*#%%@#{" "}
|
29
|
+
#.( %%%%%%%%@ &%%@%%%%%#{" "}
|
30
|
+
*.**@@@ ..%%%,#{" "}
|
31
|
+
(*.*# ..%#{" "}
|
32
|
+
.@@@@@@&(@ @%, .*&@@@#{" "}
|
33
|
+
@@@@@@@@@ @@@@@#{" "}
|
34
|
+
*@@&@@@@#{" "}
|
35
|
+
TEMPLATE
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/render_cow/version.rb
CHANGED
data/lib/render_cow.rb
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
require 'render_cow/version'
|
2
2
|
require 'render_cow/engine'
|
3
|
-
|
3
|
+
require 'render_cow/spongebob'
|
4
4
|
module RenderCow
|
5
|
-
|
6
|
-
|
5
|
+
class << self
|
6
|
+
def characters
|
7
|
+
@characters ||= Cowsay::Character.constants.map(&:downcase).map(&:to_sym).excluding(:base)
|
8
|
+
end
|
9
|
+
|
10
|
+
def moo(mooo, character = :cow)
|
11
|
+
Cowsay::Character.const_get(character.to_s.capitalize).say(mooo)
|
12
|
+
end
|
7
13
|
end
|
8
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: render_cow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sampo Kuokkanen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cowsay
|
@@ -94,6 +94,7 @@ files:
|
|
94
94
|
- lib/render_cow.rb
|
95
95
|
- lib/render_cow/engine.rb
|
96
96
|
- lib/render_cow/render_cow_patch.rb
|
97
|
+
- lib/render_cow/spongebob.rb
|
97
98
|
- lib/render_cow/version.rb
|
98
99
|
- lib/tasks/render_cow_tasks.rake
|
99
100
|
homepage: https://github.com/sampokuokkanen/render_cow
|