rage_flip 1.0.0 → 1.1.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/CHANGELOG.md +21 -0
- data/README.md +65 -3
- data/exe/chaos +1 -2
- data/exe/chaos_level +17 -7
- data/exe/emote +32 -0
- data/exe/flip_text +21 -0
- data/exe/table_flip +21 -0
- data/lib/rage_flip/chaos.rb +28 -6
- data/lib/rage_flip/emote.rb +39 -0
- data/lib/rage_flip/flipper.rb +11 -0
- data/lib/rage_flip/version.rb +1 -1
- data/lib/rage_flip.rb +1 -0
- data/spec/rage_flip_spec.rb +118 -1
- metadata +8 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1511661bf220838be2dabc493a7ba1769a2780909ad33f285d21b0482c79038b
|
4
|
+
data.tar.gz: 61a701d70ad291b667144056763746f4c09ab7c70955b07d66e45c9df3390e87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65378ff0cd33a514d229c313366227dcb38051355bfc403ad47bac9b82811682adee897bba7ec84bfbaba7fba5e14f5551b3ba87b59fbf67b5b1175d8e612e08
|
7
|
+
data.tar.gz: 2dce9f11ceafea826aae4604fae2a71dd132d85e01648075bb061f157e48eb39d1e4b097fae9275af2559f224ec182407315b1ef3c6743bb8b2976d58c8a8611
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
### Added
|
11
|
+
- `flip_text` command for flipping text without any emoticons
|
12
|
+
- `emote` command system with disapproval and animal+poop combinations
|
13
|
+
- `emote disapproval` outputs `(ಠ_ಠ)`
|
14
|
+
- `emote bullshit`, `catshit`, `dogshit`, `pandashit`, `horseshit`, `batshit` commands
|
15
|
+
- `emote list` to display all available emotes
|
16
|
+
- `table_flip` command with classic `(╯°□°)╯︵` and `┻━┻` emoticons
|
17
|
+
|
18
|
+
## [1.0.1] - 2025-10-04
|
19
|
+
|
20
|
+
### Added
|
21
|
+
- Persistent chaos level storage in `~/.chaos_level.txt`
|
22
|
+
- `chaos_level show` command to display current chaos level
|
23
|
+
- Chaos level minimum enforcement (cannot go below 1)
|
24
|
+
|
25
|
+
### Changed
|
26
|
+
- Chaos level now persists across terminal sessions and reboots
|
27
|
+
- Removed dependency on `CHAOS_LEVEL` environment variable
|
28
|
+
|
29
|
+
## [1.0.0] - 2025-10-03
|
30
|
+
|
10
31
|
### Added
|
11
32
|
- Version management and release automation
|
12
33
|
|
data/README.md
CHANGED
@@ -41,6 +41,48 @@ The flip transformation:
|
|
41
41
|
- Maps characters to their upside-down equivalents
|
42
42
|
- Wraps the result with `(ノಠ益ಠ)ノ彡┻` and `┻`
|
43
43
|
|
44
|
+
### table_flip
|
45
|
+
|
46
|
+
The classic table flip command flips text upside down with the iconic table flip emoticons:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
table_flip "Hello World"
|
50
|
+
# Output: (╯°□°)╯︵ plɹoM ollǝH ┻━┻
|
51
|
+
# Result is automatically copied to clipboard
|
52
|
+
```
|
53
|
+
|
54
|
+
Uses the classic `(╯°□°)╯︵` and `┻━┻` emoticons for a more traditional table flip style.
|
55
|
+
|
56
|
+
### flip_text
|
57
|
+
|
58
|
+
Flips text upside down without any emoticons:
|
59
|
+
|
60
|
+
```bash
|
61
|
+
flip_text "Hello World"
|
62
|
+
# Output: plɹoM ollǝH
|
63
|
+
# Result is automatically copied to clipboard
|
64
|
+
```
|
65
|
+
|
66
|
+
Just the pure flipped text without any rage or table flip decorations.
|
67
|
+
|
68
|
+
### emote
|
69
|
+
|
70
|
+
The emote system provides various emoticons and emoji sequences:
|
71
|
+
|
72
|
+
```bash
|
73
|
+
emote # List all available emotes
|
74
|
+
emote list # List all available emotes
|
75
|
+
emote disapproval # Output: (ಠ_ಠ)
|
76
|
+
emote bullshit # Output: 🐄💩
|
77
|
+
emote catshit # Output: �💩
|
78
|
+
emote dogshit # Output: �💩
|
79
|
+
emote pandashit # Output: 🐼💩
|
80
|
+
emote horseshit # Output: 🐴💩
|
81
|
+
emote batshit # Output: 🦇💩
|
82
|
+
```
|
83
|
+
|
84
|
+
All emotes are accessed through the `emote` command followed by the emote name.
|
85
|
+
|
44
86
|
### sarcasm
|
45
87
|
|
46
88
|
Alternates between uppercase and lowercase characters:
|
@@ -86,13 +128,15 @@ chaos "chaotic text"
|
|
86
128
|
# Output: c̸̰̈h̴̲̆a̷̰̋ò̶̰ẗ̸̲ḭ̷̋c̶̰̈ ̸̰̈t̷̰̋ĕ̴̲ẍ̸̰t̷̰̋
|
87
129
|
```
|
88
130
|
|
89
|
-
The chaos level
|
131
|
+
The chaos level is persistently stored in `~/.chaos_level.txt` and can be controlled with the `chaos_level` command.
|
90
132
|
|
91
133
|
### chaos_level
|
92
134
|
|
93
135
|
Controls the chaos level for the chaos command:
|
94
136
|
|
95
137
|
```bash
|
138
|
+
chaos_level # Show current chaos level
|
139
|
+
chaos_level show # Show current chaos level
|
96
140
|
chaos_level more # Increase chaos level by 1
|
97
141
|
chaos_level less # Decrease chaos level by 1
|
98
142
|
chaos_level 15 # Set chaos level to 15
|
@@ -119,9 +163,9 @@ The flip functionality uses comprehensive character mappings including:
|
|
119
163
|
- Common punctuation and symbols
|
120
164
|
- Special Unicode characters for upside-down equivalents
|
121
165
|
|
122
|
-
##
|
166
|
+
## Persistent Settings
|
123
167
|
|
124
|
-
- `
|
168
|
+
- **Chaos Level**: Stored in `~/.chaos_level.txt` and controls the intensity of the chaos effect (default: 10). This setting persists across terminal sessions and system reboots.
|
125
169
|
|
126
170
|
## Library Usage
|
127
171
|
|
@@ -134,10 +178,18 @@ require 'rage_flip'
|
|
134
178
|
RageFlip::Flipper.rage_flip("Hello World")
|
135
179
|
# => "(ノಠ益ಠ)ノ彡┻plɹoM ollǝH┻"
|
136
180
|
|
181
|
+
# Flip text with classic table flip emoticons
|
182
|
+
RageFlip::Flipper.table_flip("Hello World")
|
183
|
+
# => "(╯°□°)╯︵ plɹoM ollǝH ┻━┻"
|
184
|
+
|
137
185
|
# Just flip without emoticons
|
138
186
|
RageFlip::Flipper.flip("Hello")
|
139
187
|
# => "ollǝH"
|
140
188
|
|
189
|
+
# Flip text (same as flip)
|
190
|
+
RageFlip::Flipper.flip_text("Hello")
|
191
|
+
# => "ollǝH"
|
192
|
+
|
141
193
|
# Sarcastic text
|
142
194
|
RageFlip::Sarcasm.process("hello world")
|
143
195
|
# => "HeLlO WoRlD"
|
@@ -157,6 +209,16 @@ RageFlip::Underline.double_underline("text")
|
|
157
209
|
RageFlip::Chaos.process("text", 5)
|
158
210
|
# => "t̸e̷x̸t̷"
|
159
211
|
|
212
|
+
# Emotes
|
213
|
+
RageFlip::Emote.process("disapproval")
|
214
|
+
# => "(ಠ_ಠ)"
|
215
|
+
|
216
|
+
RageFlip::Emote.process("bullshit")
|
217
|
+
# => "🐄💩"
|
218
|
+
|
219
|
+
RageFlip::Emote.list_emotes
|
220
|
+
# => "Available emotes:\n disapproval - (ಠ_ಠ)\n bullshit - 🐄💩\n..."
|
221
|
+
|
160
222
|
# Copy to clipboard
|
161
223
|
RageFlip::Clipboard.copy("text to copy")
|
162
224
|
```
|
data/exe/chaos
CHANGED
data/exe/chaos_level
CHANGED
@@ -2,14 +2,24 @@
|
|
2
2
|
|
3
3
|
require_relative '../lib/rage_flip'
|
4
4
|
|
5
|
-
if ARGV.length
|
6
|
-
puts "
|
7
|
-
|
8
|
-
|
9
|
-
puts "
|
5
|
+
if ARGV.length == 0
|
6
|
+
puts "Current chaos level: #{RageFlip::Chaos.current_chaos_level}"
|
7
|
+
exit 0
|
8
|
+
elsif ARGV.length != 1
|
9
|
+
puts "Usage: chaos_level [more|less|number|show]"
|
10
|
+
puts " (no args) - Show current chaos level"
|
11
|
+
puts " more - Increase chaos level by 1"
|
12
|
+
puts " less - Decrease chaos level by 1"
|
13
|
+
puts " number - Set chaos level to specific number"
|
14
|
+
puts " show - Show current chaos level"
|
10
15
|
exit 1
|
11
16
|
end
|
12
17
|
|
13
18
|
instruction = ARGV[0]
|
14
|
-
|
15
|
-
|
19
|
+
|
20
|
+
if instruction == 'show'
|
21
|
+
puts "Current chaos level: #{RageFlip::Chaos.current_chaos_level}"
|
22
|
+
else
|
23
|
+
result = RageFlip::Chaos.set_chaos_level(instruction)
|
24
|
+
puts result
|
25
|
+
end
|
data/exe/emote
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/rage_flip'
|
4
|
+
|
5
|
+
if ARGV.length == 0
|
6
|
+
puts RageFlip::Emote.list_emotes
|
7
|
+
exit 0
|
8
|
+
end
|
9
|
+
|
10
|
+
emote_name = ARGV[0].downcase
|
11
|
+
|
12
|
+
if emote_name == 'list'
|
13
|
+
puts RageFlip::Emote.list_emotes
|
14
|
+
exit 0
|
15
|
+
end
|
16
|
+
|
17
|
+
result = RageFlip::Emote.process(emote_name)
|
18
|
+
|
19
|
+
if result
|
20
|
+
# Copy to clipboard
|
21
|
+
if RageFlip::Clipboard.copy(result)
|
22
|
+
puts result
|
23
|
+
else
|
24
|
+
puts "Failed to copy to clipboard, but here's your emote:"
|
25
|
+
puts result
|
26
|
+
end
|
27
|
+
else
|
28
|
+
puts "Unknown emote: #{emote_name}"
|
29
|
+
puts ""
|
30
|
+
puts RageFlip::Emote.list_emotes
|
31
|
+
exit 1
|
32
|
+
end
|
data/exe/flip_text
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/rage_flip'
|
4
|
+
|
5
|
+
text = ARGV.join(' ')
|
6
|
+
|
7
|
+
if text.empty?
|
8
|
+
puts "Usage: flip_text <text_to_flip>"
|
9
|
+
exit 1
|
10
|
+
end
|
11
|
+
|
12
|
+
# Just flip the text without any emoticons
|
13
|
+
result = RageFlip::Flipper.flip_text(text)
|
14
|
+
|
15
|
+
# Copy to clipboard
|
16
|
+
if RageFlip::Clipboard.copy(result)
|
17
|
+
puts result
|
18
|
+
else
|
19
|
+
puts "Failed to copy to clipboard, but here's your flipped text:"
|
20
|
+
puts result
|
21
|
+
end
|
data/exe/table_flip
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/rage_flip'
|
4
|
+
|
5
|
+
text = ARGV.join(' ')
|
6
|
+
|
7
|
+
if text.empty?
|
8
|
+
puts "Usage: table_flip <text_to_flip>"
|
9
|
+
exit 1
|
10
|
+
end
|
11
|
+
|
12
|
+
# Create the table flip with classic table flip emoticons
|
13
|
+
result = RageFlip::Flipper.table_flip(text)
|
14
|
+
|
15
|
+
# Copy to clipboard
|
16
|
+
if RageFlip::Clipboard.copy(result)
|
17
|
+
puts result
|
18
|
+
else
|
19
|
+
puts "Failed to copy to clipboard, but here's your table flipped text:"
|
20
|
+
puts result
|
21
|
+
end
|
data/lib/rage_flip/chaos.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module RageFlip
|
2
2
|
class Chaos
|
3
3
|
DEFAULT_CHAOS_LEVEL = 10
|
4
|
+
CHAOS_LEVEL_FILE = File.expand_path("~/.chaos_level.txt")
|
4
5
|
|
5
6
|
def self.process(text, chaos_level = nil)
|
6
|
-
chaos_level ||=
|
7
|
+
chaos_level ||= read_chaos_level
|
7
8
|
|
8
9
|
text.each_char.map do |c|
|
9
10
|
combining_chars = rand(1..chaos_level).times.map do
|
@@ -14,18 +15,39 @@ module RageFlip
|
|
14
15
|
end
|
15
16
|
|
16
17
|
def self.set_chaos_level(instruction)
|
17
|
-
current_level =
|
18
|
+
current_level = read_chaos_level
|
18
19
|
|
19
20
|
case instruction
|
20
21
|
when 'more'
|
21
|
-
|
22
|
+
new_level = current_level + 1
|
22
23
|
when 'less'
|
23
|
-
|
24
|
+
new_level = [current_level - 1, 1].max # Don't go below 1
|
24
25
|
else
|
25
|
-
|
26
|
+
new_level = instruction.to_i
|
27
|
+
if new_level <= 0
|
28
|
+
return "Error: Chaos level must be a positive number"
|
29
|
+
end
|
26
30
|
end
|
27
31
|
|
28
|
-
|
32
|
+
write_chaos_level(new_level)
|
33
|
+
"chaos level is now #{new_level}"
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.read_chaos_level
|
37
|
+
if File.exist?(CHAOS_LEVEL_FILE)
|
38
|
+
level = File.read(CHAOS_LEVEL_FILE).strip.to_i
|
39
|
+
level > 0 ? level : DEFAULT_CHAOS_LEVEL
|
40
|
+
else
|
41
|
+
DEFAULT_CHAOS_LEVEL
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.write_chaos_level(level)
|
46
|
+
File.write(CHAOS_LEVEL_FILE, level.to_s)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.current_chaos_level
|
50
|
+
read_chaos_level
|
29
51
|
end
|
30
52
|
end
|
31
53
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module RageFlip
|
2
|
+
class Emote
|
3
|
+
EMOTES = {
|
4
|
+
'disapproval' => '(ಠ_ಠ)',
|
5
|
+
'bullshit' => '🐄💩',
|
6
|
+
'catshit' => '🐱💩',
|
7
|
+
'dogshit' => '🐶💩',
|
8
|
+
'pandashit' => '🐼💩',
|
9
|
+
'horseshit' => '🐴💩',
|
10
|
+
'batshit' => '🦇💩'
|
11
|
+
}.freeze
|
12
|
+
|
13
|
+
def self.process(emote_name)
|
14
|
+
emote_name = emote_name.downcase
|
15
|
+
|
16
|
+
if EMOTES.key?(emote_name)
|
17
|
+
EMOTES[emote_name]
|
18
|
+
else
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.list_emotes
|
24
|
+
output = ["Available emotes:"]
|
25
|
+
EMOTES.each do |name, emote|
|
26
|
+
output << " #{name.ljust(12)} - #{emote}"
|
27
|
+
end
|
28
|
+
output.join("\n")
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.emote_exists?(name)
|
32
|
+
EMOTES.key?(name.downcase)
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.emote_names
|
36
|
+
EMOTES.keys
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/rage_flip/flipper.rb
CHANGED
@@ -29,5 +29,16 @@ module RageFlip
|
|
29
29
|
|
30
30
|
"#{rageflip_front}#{flip(text)}#{rageflip_back}"
|
31
31
|
end
|
32
|
+
|
33
|
+
def self.table_flip(text)
|
34
|
+
table_flip_front = "(╯°□°)╯︵ "
|
35
|
+
table_flip_back = " ┻━┻"
|
36
|
+
|
37
|
+
"#{table_flip_front}#{flip(text)}#{table_flip_back}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.flip_text(text)
|
41
|
+
flip(text)
|
42
|
+
end
|
32
43
|
end
|
33
44
|
end
|
data/lib/rage_flip/version.rb
CHANGED
data/lib/rage_flip.rb
CHANGED
data/spec/rage_flip_spec.rb
CHANGED
@@ -16,6 +16,24 @@ RSpec.describe RageFlip do
|
|
16
16
|
expect(result).to include('┻')
|
17
17
|
end
|
18
18
|
end
|
19
|
+
|
20
|
+
describe '.table_flip' do
|
21
|
+
it 'adds table flip emoticons to flipped text' do
|
22
|
+
result = RageFlip::Flipper.table_flip('test')
|
23
|
+
expect(result).to include('(╯°□°)╯︵')
|
24
|
+
expect(result).to include('┻━┻')
|
25
|
+
expect(result).to include('ʇsǝʇ') # flipped version of 'test'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '.flip_text' do
|
30
|
+
it 'flips text without any emoticons' do
|
31
|
+
result = RageFlip::Flipper.flip_text('test')
|
32
|
+
expect(result).to eq('ʇsǝʇ')
|
33
|
+
expect(result).not_to include('(')
|
34
|
+
expect(result).not_to include('┻')
|
35
|
+
end
|
36
|
+
end
|
19
37
|
end
|
20
38
|
|
21
39
|
describe RageFlip::Sarcasm do
|
@@ -53,19 +71,118 @@ RSpec.describe RageFlip do
|
|
53
71
|
end
|
54
72
|
|
55
73
|
describe RageFlip::Chaos do
|
74
|
+
let(:chaos_file) { File.expand_path("~/.chaos_level.txt") }
|
75
|
+
|
76
|
+
before do
|
77
|
+
# Clean up chaos file before each test
|
78
|
+
File.delete(chaos_file) if File.exist?(chaos_file)
|
79
|
+
end
|
80
|
+
|
81
|
+
after do
|
82
|
+
# Clean up chaos file after each test
|
83
|
+
File.delete(chaos_file) if File.exist?(chaos_file)
|
84
|
+
end
|
85
|
+
|
56
86
|
describe '.process' do
|
57
87
|
it 'adds combining characters for chaos effect' do
|
58
88
|
result = RageFlip::Chaos.process('test', 5)
|
59
89
|
expect(result.length).to be > 4 # Should be longer than original
|
60
90
|
end
|
91
|
+
|
92
|
+
it 'uses default chaos level when no file exists' do
|
93
|
+
result = RageFlip::Chaos.process('test')
|
94
|
+
expect(result.length).to be > 4 # Should be longer than original
|
95
|
+
end
|
61
96
|
end
|
62
97
|
|
63
98
|
describe '.set_chaos_level' do
|
64
99
|
it 'sets chaos level to specific number' do
|
65
100
|
result = RageFlip::Chaos.set_chaos_level('15')
|
66
|
-
expect(
|
101
|
+
expect(File.read(chaos_file).strip).to eq('15')
|
67
102
|
expect(result).to eq('chaos level is now 15')
|
68
103
|
end
|
104
|
+
|
105
|
+
it 'increases chaos level with more' do
|
106
|
+
RageFlip::Chaos.set_chaos_level('10')
|
107
|
+
result = RageFlip::Chaos.set_chaos_level('more')
|
108
|
+
expect(File.read(chaos_file).strip).to eq('11')
|
109
|
+
expect(result).to eq('chaos level is now 11')
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'decreases chaos level with less' do
|
113
|
+
RageFlip::Chaos.set_chaos_level('10')
|
114
|
+
result = RageFlip::Chaos.set_chaos_level('less')
|
115
|
+
expect(File.read(chaos_file).strip).to eq('9')
|
116
|
+
expect(result).to eq('chaos level is now 9')
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'does not go below 1' do
|
120
|
+
RageFlip::Chaos.set_chaos_level('1')
|
121
|
+
result = RageFlip::Chaos.set_chaos_level('less')
|
122
|
+
expect(File.read(chaos_file).strip).to eq('1')
|
123
|
+
expect(result).to eq('chaos level is now 1')
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe '.read_chaos_level' do
|
128
|
+
it 'returns default when file does not exist' do
|
129
|
+
expect(RageFlip::Chaos.read_chaos_level).to eq(10)
|
130
|
+
end
|
131
|
+
|
132
|
+
it 'reads level from file when it exists' do
|
133
|
+
File.write(chaos_file, '25')
|
134
|
+
expect(RageFlip::Chaos.read_chaos_level).to eq(25)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe RageFlip::Emote do
|
140
|
+
describe '.process' do
|
141
|
+
it 'returns correct emote for disapproval' do
|
142
|
+
result = RageFlip::Emote.process('disapproval')
|
143
|
+
expect(result).to eq('(ಠ_ಠ)')
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'returns correct emote for bullshit' do
|
147
|
+
result = RageFlip::Emote.process('bullshit')
|
148
|
+
expect(result).to eq('🐄💩')
|
149
|
+
end
|
150
|
+
|
151
|
+
it 'returns correct emote for dogshit' do
|
152
|
+
result = RageFlip::Emote.process('dogshit')
|
153
|
+
expect(result).to eq('🐶💩')
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'handles case insensitive input' do
|
157
|
+
result = RageFlip::Emote.process('DISAPPROVAL')
|
158
|
+
expect(result).to eq('(ಠ_ಠ)')
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'returns nil for unknown emote' do
|
162
|
+
result = RageFlip::Emote.process('unknown')
|
163
|
+
expect(result).to be_nil
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
describe '.list_emotes' do
|
168
|
+
it 'returns formatted list of all emotes' do
|
169
|
+
result = RageFlip::Emote.list_emotes
|
170
|
+
expect(result).to include('Available emotes:')
|
171
|
+
expect(result).to include('disapproval')
|
172
|
+
expect(result).to include('(ಠ_ಠ)')
|
173
|
+
expect(result).to include('bullshit')
|
174
|
+
expect(result).to include('🐄💩')
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
describe '.emote_exists?' do
|
179
|
+
it 'returns true for existing emote' do
|
180
|
+
expect(RageFlip::Emote.emote_exists?('disapproval')).to be true
|
181
|
+
end
|
182
|
+
|
183
|
+
it 'returns false for non-existing emote' do
|
184
|
+
expect(RageFlip::Emote.emote_exists?('nonexistent')).to be false
|
185
|
+
end
|
69
186
|
end
|
70
187
|
end
|
71
188
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rage_flip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Powell
|
@@ -46,9 +46,12 @@ executables:
|
|
46
46
|
- chaos
|
47
47
|
- chaos_level
|
48
48
|
- doubleunderline
|
49
|
+
- emote
|
50
|
+
- flip_text
|
49
51
|
- rage_flip
|
50
52
|
- sarcasm
|
51
53
|
- strikethrough
|
54
|
+
- table_flip
|
52
55
|
- underline
|
53
56
|
extensions: []
|
54
57
|
extra_rdoc_files: []
|
@@ -63,13 +66,17 @@ files:
|
|
63
66
|
- exe/chaos
|
64
67
|
- exe/chaos_level
|
65
68
|
- exe/doubleunderline
|
69
|
+
- exe/emote
|
70
|
+
- exe/flip_text
|
66
71
|
- exe/rage_flip
|
67
72
|
- exe/sarcasm
|
68
73
|
- exe/strikethrough
|
74
|
+
- exe/table_flip
|
69
75
|
- exe/underline
|
70
76
|
- lib/rage_flip.rb
|
71
77
|
- lib/rage_flip/chaos.rb
|
72
78
|
- lib/rage_flip/clipboard.rb
|
79
|
+
- lib/rage_flip/emote.rb
|
73
80
|
- lib/rage_flip/flipper.rb
|
74
81
|
- lib/rage_flip/sarcasm.rb
|
75
82
|
- lib/rage_flip/strikethrough.rb
|