pandorified 0.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/.gitignore +4 -0
- data/Gemfile +3 -0
- data/README.md +14 -0
- data/Rakefile +1 -0
- data/lib/pandorified/result.rb +36 -0
- data/lib/pandorified/session.rb +20 -0
- data/lib/pandorified/version.rb +3 -0
- data/lib/pandorified.rb +2 -0
- data/pandorified.gemspec +20 -0
- metadata +78 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'rest_client'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
module Pandorified
|
5
|
+
API_URL = 'http://www.pandorabots.com/pandora/talk-xml'
|
6
|
+
|
7
|
+
class Result
|
8
|
+
def initialize(params)
|
9
|
+
@xml = Nokogiri::XML(RestClient.post(API_URL, params))
|
10
|
+
end
|
11
|
+
|
12
|
+
def status
|
13
|
+
@xml.xpath('/result/@status').first.value.to_i
|
14
|
+
end
|
15
|
+
|
16
|
+
def botid
|
17
|
+
@xml.xpath('/result/@botid').first.value
|
18
|
+
end
|
19
|
+
|
20
|
+
def custid
|
21
|
+
@xml.xpath('/result/@custid').first.value
|
22
|
+
end
|
23
|
+
|
24
|
+
def input
|
25
|
+
@xml.xpath('/result/input').first.text
|
26
|
+
end
|
27
|
+
|
28
|
+
def that
|
29
|
+
@xml.xpath('/result/that').first.text
|
30
|
+
end
|
31
|
+
|
32
|
+
def message
|
33
|
+
@xml.xpath('/result/message').first.text
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'pandorified/result'
|
2
|
+
|
3
|
+
module Pandorified
|
4
|
+
class Session
|
5
|
+
def initialize(botid, custid = nil)
|
6
|
+
@botid = botid
|
7
|
+
@custid = custid
|
8
|
+
end
|
9
|
+
|
10
|
+
def talk(input)
|
11
|
+
result = Pandorified::Result.new(botid: @botid, custid: @custid, input: input)
|
12
|
+
if result.status.zero?
|
13
|
+
@custid ||= result.custid
|
14
|
+
result.that
|
15
|
+
else
|
16
|
+
raise "Pandorabots returned status #{result.status}: #{result.message}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/pandorified.rb
ADDED
data/pandorified.gemspec
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
$:.push File.expand_path('../lib', __FILE__)
|
2
|
+
|
3
|
+
require 'pandorified/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'pandorified'
|
7
|
+
spec.version = Pandorified::VERSION
|
8
|
+
spec.authors = 'Justin Workman'
|
9
|
+
spec.email = 'xtagon@gmail.com'
|
10
|
+
spec.summary = 'A Ruby client for the Pandorabots API.'
|
11
|
+
spec.description = 'Pandorified makes it easy for your Ruby scripts to interact with chat bots hosted on Pandorabots.'
|
12
|
+
|
13
|
+
spec.files = `git ls-files`.split("\n")
|
14
|
+
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
+
spec.require_paths = ['lib']
|
17
|
+
|
18
|
+
spec.add_runtime_dependency 'rest-client'
|
19
|
+
spec.add_runtime_dependency 'nokogiri'
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pandorified
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Justin Workman
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-12-11 00:00:00.000000000 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rest-client
|
17
|
+
requirement: &7625680 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *7625680
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: nokogiri
|
28
|
+
requirement: &7625000 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *7625000
|
37
|
+
description: Pandorified makes it easy for your Ruby scripts to interact with chat
|
38
|
+
bots hosted on Pandorabots.
|
39
|
+
email: xtagon@gmail.com
|
40
|
+
executables: []
|
41
|
+
extensions: []
|
42
|
+
extra_rdoc_files: []
|
43
|
+
files:
|
44
|
+
- .gitignore
|
45
|
+
- Gemfile
|
46
|
+
- README.md
|
47
|
+
- Rakefile
|
48
|
+
- lib/pandorified.rb
|
49
|
+
- lib/pandorified/result.rb
|
50
|
+
- lib/pandorified/session.rb
|
51
|
+
- lib/pandorified/version.rb
|
52
|
+
- pandorified.gemspec
|
53
|
+
has_rdoc: true
|
54
|
+
homepage:
|
55
|
+
licenses: []
|
56
|
+
post_install_message:
|
57
|
+
rdoc_options: []
|
58
|
+
require_paths:
|
59
|
+
- lib
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
requirements: []
|
73
|
+
rubyforge_project:
|
74
|
+
rubygems_version: 1.6.2
|
75
|
+
signing_key:
|
76
|
+
specification_version: 3
|
77
|
+
summary: A Ruby client for the Pandorabots API.
|
78
|
+
test_files: []
|