wordai 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.
- data/lib/WordAi.rb +125 -0
- metadata +45 -0
data/lib/WordAi.rb
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
class WordAi
|
2
|
+
|
3
|
+
def initialize
|
4
|
+
# Defaults go here in the future.
|
5
|
+
end
|
6
|
+
|
7
|
+
def madlib(body)
|
8
|
+
|
9
|
+
# Replaces {}, {|},{|||||||||}, etc
|
10
|
+
output = body.gsub(/(\{\}|\{\|*\})/,'')
|
11
|
+
#srand(Time.now.nsec + rand(999999999999999))
|
12
|
+
|
13
|
+
|
14
|
+
while true do
|
15
|
+
vars = output.scan(/\{[^\{\}]+?\}/)
|
16
|
+
|
17
|
+
if vars.count == 0
|
18
|
+
# No more madlib eval's, break out
|
19
|
+
break
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
# Evaluate the spintax on the run
|
24
|
+
vars.each do |ind|
|
25
|
+
parts = ind.gsub(/(\{|\})/,'').split(/\|/)
|
26
|
+
output = output.gsub(ind,parts[rand(parts.size)])
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
return output
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
# TBS User Definition & Setting
|
36
|
+
def user
|
37
|
+
return @user
|
38
|
+
end
|
39
|
+
|
40
|
+
def user=(value)
|
41
|
+
@user = value
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
# WordAi Password Definition & Setting
|
46
|
+
def pass
|
47
|
+
return @pass
|
48
|
+
end
|
49
|
+
|
50
|
+
def pass=(value)
|
51
|
+
@pass = value
|
52
|
+
end
|
53
|
+
|
54
|
+
# WordAi Slider Value
|
55
|
+
def slider
|
56
|
+
return @slider
|
57
|
+
end
|
58
|
+
|
59
|
+
def slider=(value)
|
60
|
+
@slider = value
|
61
|
+
end
|
62
|
+
|
63
|
+
# WordAi Protected Words (no spaces, separated by commas)
|
64
|
+
def protected
|
65
|
+
return @protected
|
66
|
+
end
|
67
|
+
|
68
|
+
def protected=(value)
|
69
|
+
@protected = value
|
70
|
+
end
|
71
|
+
|
72
|
+
# WordAi Speed Value (on = no nested)
|
73
|
+
def speed
|
74
|
+
return @speed
|
75
|
+
end
|
76
|
+
|
77
|
+
def speed=(value)
|
78
|
+
@speed = value
|
79
|
+
end
|
80
|
+
|
81
|
+
# WordAi No Original Setting - on = Do NOT return original word back.
|
82
|
+
def nooriginal
|
83
|
+
return @nooriginal
|
84
|
+
end
|
85
|
+
|
86
|
+
def nooriginal=(value)
|
87
|
+
@nooriginal = value
|
88
|
+
end
|
89
|
+
|
90
|
+
def spin(body)
|
91
|
+
|
92
|
+
require 'rubygems'
|
93
|
+
require 'mechanize'
|
94
|
+
|
95
|
+
if (@user == nil) || (@pass == nil) || (@slider == nil) || (body == nil)
|
96
|
+
raise "You have not set your username (@user), password (@pass), slider value (@slider) or Body."
|
97
|
+
end
|
98
|
+
|
99
|
+
agent = Mechanize.new
|
100
|
+
|
101
|
+
agent.read_timeout = 600
|
102
|
+
|
103
|
+
api_url = "http://beta.WordAi.com/spinit.php"
|
104
|
+
|
105
|
+
data = Hash.new
|
106
|
+
data['s'] = body
|
107
|
+
data['slider'] = @slider
|
108
|
+
data['api'] = "true"
|
109
|
+
data['email'] = @user
|
110
|
+
data['pass'] = @pass
|
111
|
+
data['speed'] = @speed if @speed != nil
|
112
|
+
data['protected'] = @protected if @protected != nil
|
113
|
+
data['nooriginal'] = @nooriginal if @nooriginal != nil
|
114
|
+
|
115
|
+
|
116
|
+
# Post & Get Result
|
117
|
+
spin_return = agent.post(api_url,data).content
|
118
|
+
|
119
|
+
# Return (still in spintax, NOT evaluated)
|
120
|
+
return spin_return
|
121
|
+
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wordai
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.0'
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Robert Adler
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-08-20 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: WordAI integration with nested spinning
|
15
|
+
email: radler@thelinkbuilders.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/WordAi.rb
|
21
|
+
homepage: http://Contempt.me
|
22
|
+
licenses: []
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 1.8.24
|
42
|
+
signing_key:
|
43
|
+
specification_version: 3
|
44
|
+
summary: WordAi Ruby Library
|
45
|
+
test_files: []
|