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.
Files changed (2) hide show
  1. data/lib/WordAi.rb +125 -0
  2. 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: []