render_cow 0.2.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -3
- data/lib/render_cow/render_cow_patch.rb +15 -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 +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c7f9a6ae61189ba38b8e621cf17cf0fe2f93a69b2ca11c057331e180c0f669e
|
4
|
+
data.tar.gz: 06f370a02567642bfbc5a0b7b87201ed2a24cb0911297f696d53e9bc3c74e985
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b35a83a7dffc664370f7d2d862d64d50012ab850dcf20473eae14ad3d43658e86bea1b3a6392c8435e6feb3762138f00987412e9ad93f1cef571d6110be6443b
|
7
|
+
data.tar.gz: 6d10aee2509a2a17972a267851b957374ac59d8134da5ff4278ba64019effc7247be23f1f92b26f47e4695f56b6a07198772d96c651eaac05a9db60fdb0fb8c6
|
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,16 @@ 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
|
+
Note that SpongeBob does the meme talk automatically and there is no way to turn it off.
|
45
|
+
|
31
46
|
## Installation
|
32
47
|
Add this line to your application's Gemfile:
|
33
48
|
|
@@ -45,6 +60,9 @@ Or install it yourself as:
|
|
45
60
|
$ gem install render_cow
|
46
61
|
```
|
47
62
|
|
63
|
+
This gem uses [cowsay](https://rubygems.org/gems/cowsay) as the cow rendering engine.
|
64
|
+
So this gem is just the Rails cow patch on the render method.
|
65
|
+
|
48
66
|
## Contributing
|
49
67
|
Feel free to contribute.
|
50
68
|
|
@@ -1,22 +1,29 @@
|
|
1
|
+
require 'spongebobify'
|
1
2
|
module RenderCow
|
2
3
|
module RenderCowPatch
|
3
4
|
def render(options = {}, args = {})
|
4
|
-
options[:plain] = cowspeach(options).then { RenderCow.moo(_1) } if
|
5
|
+
options[:plain] = cowspeach(options).then { RenderCow.moo(_1, character) } if character?(options)
|
5
6
|
super
|
6
7
|
end
|
7
8
|
|
8
9
|
private
|
9
10
|
|
10
|
-
def
|
11
|
-
options[:cow]
|
11
|
+
def character(options = {})
|
12
|
+
options[:cow] = options.delete(:cowsay) if options.key?(:cowsay)
|
13
|
+
@character ||= options.detect do |key, _value|
|
14
|
+
RenderCow.characters.find { _1 == key }
|
15
|
+
end&.first
|
16
|
+
end
|
17
|
+
|
18
|
+
def character?(options)
|
19
|
+
return unless options.is_a?(Hash)
|
20
|
+
|
21
|
+
character(options).present?
|
12
22
|
end
|
13
23
|
|
14
24
|
def cowspeach(options = {})
|
15
|
-
|
16
|
-
|
17
|
-
elsif options.key?(:cowsay)
|
18
|
-
options[:cowsay]
|
19
|
-
end
|
25
|
+
speach = options[character]
|
26
|
+
character == :spongebob ? speach.spongebobify : speach
|
20
27
|
end
|
21
28
|
end
|
22
29
|
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.5.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-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cowsay
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '6.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: spongebobify
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.1.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: byebug
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +108,7 @@ files:
|
|
94
108
|
- lib/render_cow.rb
|
95
109
|
- lib/render_cow/engine.rb
|
96
110
|
- lib/render_cow/render_cow_patch.rb
|
111
|
+
- lib/render_cow/spongebob.rb
|
97
112
|
- lib/render_cow/version.rb
|
98
113
|
- lib/tasks/render_cow_tasks.rake
|
99
114
|
homepage: https://github.com/sampokuokkanen/render_cow
|