groupmeme 5.0.0 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/meme.rb +10 -57
- metadata +5 -5
data/lib/meme.rb
CHANGED
@@ -3,55 +3,26 @@ require 'rubygems'
|
|
3
3
|
require 'nokogiri'
|
4
4
|
require 'cgi'
|
5
5
|
|
6
|
-
##
|
7
|
-
# Generate memes using http://memegenerator.net
|
8
|
-
|
9
6
|
class Meme
|
10
|
-
|
11
|
-
##
|
12
|
-
# Sometimes your meme will have an error, fix it!
|
13
|
-
|
14
7
|
class Error < RuntimeError; end
|
15
8
|
|
16
|
-
|
17
|
-
# Every meme generator needs a version
|
18
|
-
|
19
|
-
VERSION = '1.9.3'
|
20
|
-
|
21
|
-
##
|
22
|
-
# For statistics!
|
23
|
-
|
9
|
+
VERSION = "6.0.0"
|
24
10
|
USER_AGENT = "meme/#{VERSION} Ruby/#{RUBY_VERSION}"
|
25
|
-
|
26
|
-
##
|
27
|
-
# We have some generators up-in-here
|
28
|
-
|
29
11
|
GENERATORS = Hash.new do |_, k|
|
30
12
|
raise Error, "unknown generator #{k}"
|
31
13
|
end
|
32
14
|
|
33
|
-
|
34
|
-
# For creating advice-dog type meme images.
|
35
|
-
#
|
36
|
-
# These can accept up to two lines of text
|
37
|
-
|
38
|
-
def self.advice_dog name, id, template_name, first_line = nil
|
15
|
+
def self.advice_dog(name, id, template_name, first_line = nil)
|
39
16
|
template = [id, 'AdviceDogSpinoff', template_name, first_line]
|
40
17
|
template.compact
|
41
18
|
|
42
19
|
GENERATORS[name] = template
|
43
20
|
end
|
44
21
|
|
45
|
-
|
46
|
-
# For creating vertical type meme images
|
47
|
-
#
|
48
|
-
# These can accept multiple lines of text
|
49
|
-
|
50
|
-
def self.vertical name, id, template_name
|
22
|
+
def self.vertical(name, id, template_name)
|
51
23
|
GENERATORS[name] = [id, 'Vertical', template_name]
|
52
24
|
end
|
53
25
|
|
54
|
-
# keep generators in alphabetical order
|
55
26
|
advice_dog 'ANTEATER', 41191, 'anteater'
|
56
27
|
advice_dog 'A_DODSON', 106375, 'Antoine-Dodson'
|
57
28
|
advice_dog 'A_DOG', 940, 'Advice-Dog'
|
@@ -62,6 +33,7 @@ class Meme
|
|
62
33
|
advice_dog 'B_FROG', 1211, 'Foul-Bachelorette-Frog'
|
63
34
|
advice_dog 'B_FROG2', 1045, 'Foul-Bachelor-Frog'
|
64
35
|
advice_dog 'BEIBER', 11809, 'Justin-Beiber'
|
36
|
+
advice_dog 'CAM', 625978, 'cameme'
|
65
37
|
advice_dog 'CATHY', 622381, 'AckCathy'
|
66
38
|
advice_dog 'CHALLENGE_ACCEPTED', 275025, 'Challenge-Accepted'
|
67
39
|
advice_dog 'COOL_STORY_HOUSE', 16948, 'cool-story-bro-house'
|
@@ -90,6 +62,7 @@ class Meme
|
|
90
62
|
advice_dog 'SCUMBAG', 364688, 'Scumbag-Steve'
|
91
63
|
advice_dog 'SERIOUS_FISH', 6374627,'Spongebob-Serious-Fish'
|
92
64
|
advice_dog 'SHEEN', 488762, 'Charlie-Sheen'
|
65
|
+
advice_dog 'SMART', 626097, 'smart'
|
93
66
|
advice_dog 'SNOB', 2994, 'Snob'
|
94
67
|
advice_dog 'SPARTA', 1013, 'sparta'
|
95
68
|
advice_dog 'SPIDERMAN', 1037, 'Question-Spiderman'
|
@@ -110,11 +83,6 @@ class Meme
|
|
110
83
|
vertical 'NEO', 173419, 'Neo'
|
111
84
|
vertical 'THE_ROCK', 417195, 'The-Rock-driving'
|
112
85
|
|
113
|
-
# keep generators in alphabetical order
|
114
|
-
|
115
|
-
##
|
116
|
-
# Looks up generator name
|
117
|
-
|
118
86
|
def GENERATORS.match(name)
|
119
87
|
# TODO meme Y U NO DEMETAPHONE?
|
120
88
|
return self[name] if has_key? name
|
@@ -123,10 +91,7 @@ class Meme
|
|
123
91
|
generator || self[name] # raises the error if generator is nil
|
124
92
|
end
|
125
93
|
|
126
|
-
|
127
|
-
# Interface for the executable
|
128
|
-
|
129
|
-
def self.run argv = ARGV
|
94
|
+
def self.run(argv = ARGV)
|
130
95
|
generator = ARGV.shift
|
131
96
|
|
132
97
|
if generator == '--list' then
|
@@ -160,19 +125,11 @@ class Meme
|
|
160
125
|
abort "ERROR: #{e.message} (#{e.class})"
|
161
126
|
end
|
162
127
|
|
163
|
-
|
164
|
-
# Generates links for +generator+
|
165
|
-
|
166
|
-
def initialize generator
|
128
|
+
def initialize(generator)
|
167
129
|
@template_id, @template_type, @generator_name, @default_line = GENERATORS.match generator
|
168
130
|
end
|
169
131
|
|
170
|
-
|
171
|
-
# Generates a meme with +line1+ and +line2+. For some generators you only
|
172
|
-
# have to supply one line because the first line is defaulted for you.
|
173
|
-
# Isn't that great?
|
174
|
-
|
175
|
-
def generate *args
|
132
|
+
def generate(*args)
|
176
133
|
url = URI.parse 'http://memegenerator.net/Instance/CreateOrEdit'
|
177
134
|
res = nil
|
178
135
|
location = nil
|
@@ -210,7 +167,7 @@ class Meme
|
|
210
167
|
doc.css("a[href=\"#{location}\"] img").first['src']
|
211
168
|
end
|
212
169
|
|
213
|
-
def fetch
|
170
|
+
def fetch(link)
|
214
171
|
url = URI.parse link
|
215
172
|
res = nil
|
216
173
|
|
@@ -223,11 +180,7 @@ class Meme
|
|
223
180
|
res.body
|
224
181
|
end
|
225
182
|
|
226
|
-
|
227
|
-
# Tries to find clipboard copy executable and if found puts +link+ in your
|
228
|
-
# clipboard.
|
229
|
-
|
230
|
-
def paste link
|
183
|
+
def paste(link)
|
231
184
|
require 'pasteboard'
|
232
185
|
|
233
186
|
clipboard = Pasteboard.new
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: groupmeme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 47
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
|
-
-
|
7
|
+
- 6
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
version:
|
10
|
+
version: 6.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- THE INTERNET
|
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements: []
|
65
65
|
|
66
66
|
rubyforge_project:
|
67
|
-
rubygems_version: 1.
|
67
|
+
rubygems_version: 1.3.7
|
68
68
|
signing_key:
|
69
69
|
specification_version: 3
|
70
70
|
summary: GroupMe fork of meme_generator
|