simonreed-lyrebird 0.1.0.2.2 → 0.1.0.2.3
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/bin/lyre_bird +14 -14
- data/lib/lyre_bird/request.rb +2 -1
- data/lib/lyre_bird/response.rb +9 -9
- data/lib/lyre_bird/route.rb +7 -9
- data/lib/lyre_bird.rb +10 -4
- metadata +1 -1
data/bin/lyre_bird
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'lyre_bird'
|
2
|
+
require 'lib/lyre_bird'
|
3
3
|
|
4
|
-
routes = [
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
:password => 'password',
|
9
|
-
:routes => routes,
|
10
|
-
:since_filename => File.dirname(__FILE__) + '/listenSince.txt')
|
4
|
+
routes = [
|
5
|
+
{ 'str' => "Do you have a :item for me" },
|
6
|
+
{ 'str' => ":item near :location" },
|
7
|
+
]
|
11
8
|
|
12
9
|
$no_responses = []
|
13
10
|
|
@@ -19,16 +16,19 @@ end
|
|
19
16
|
puts
|
20
17
|
puts "LyreBird Interface"
|
21
18
|
puts
|
22
|
-
debug = ask('
|
23
|
-
|
24
|
-
|
19
|
+
debug = ask('Run in debug mode? (y/n)')
|
20
|
+
$lyre_debug = ( debug.match(/^(Y|y|yes|Yes|YES)/)) ? true : false
|
21
|
+
|
22
|
+
puts if $lyre_debug
|
23
|
+
puts "Running in debug mode" if $lyre_debug
|
25
24
|
|
26
|
-
|
27
|
-
puts "Running in DEBUG mode" if DEBUG
|
25
|
+
@lb = LyreBird::Base.new(:username => 'username', :password => 'password', :routes => routes, :since_filename => File.dirname(__FILE__) + '/listenSince.txt')
|
28
26
|
|
29
27
|
while true
|
28
|
+
puts
|
30
29
|
msg = ask('What do you want to ask?')
|
31
|
-
|
30
|
+
puts
|
31
|
+
while msg !~ /[A-Za-z]/
|
32
32
|
msg = ask('No really, what do you want to ask?')
|
33
33
|
end
|
34
34
|
|
data/lib/lyre_bird/request.rb
CHANGED
@@ -6,7 +6,8 @@ module LyreBird
|
|
6
6
|
|
7
7
|
def initialize(options={})
|
8
8
|
self.tweet = options[:tweet]
|
9
|
-
|
9
|
+
puts "@#{$lyrebird_username} "
|
10
|
+
self.response = self.respond(:text => self.tweet['text'].gsub("@#{$lyrebird_username} ",''))
|
10
11
|
end
|
11
12
|
|
12
13
|
def respond(options={})
|
data/lib/lyre_bird/response.rb
CHANGED
@@ -18,24 +18,24 @@ module LyreBird
|
|
18
18
|
|
19
19
|
history = $responses[self.to]
|
20
20
|
|
21
|
-
klass = self.params['class'] ||
|
22
|
-
method = self.params['method'] ||
|
21
|
+
klass = self.params['class'] || $lyrebird_default_class
|
22
|
+
method = self.params['method'] || $lyrebird_default_method
|
23
23
|
|
24
|
-
|
24
|
+
klass_obj = eval '::' + klass + '.new'
|
25
|
+
self.text = klass_obj.send method.to_sym, self, history, self.params
|
25
26
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def register_response(params)
|
29
|
-
$responses[self.to] =
|
30
|
+
$responses[self.to] = {} if $responses[self.to].nil?
|
31
|
+
$responses[self.to] = $responses[self.to].merge(params)
|
30
32
|
end
|
31
33
|
|
32
34
|
def error
|
33
|
-
puts "LyreBird::Response.error"
|
34
35
|
$no_responses.push(self.request_tweet)
|
35
36
|
msg = "Don't know what you're asking for"
|
36
37
|
self.text = msg
|
37
|
-
|
38
|
-
if DEBUG
|
38
|
+
if $lyre_debug
|
39
39
|
puts "-" * 50
|
40
40
|
puts
|
41
41
|
puts "From @#{self.request_tweet['user']['screen_name']} - \"#{self.request_tweet['text']}\""
|
@@ -61,8 +61,8 @@ module LyreBird
|
|
61
61
|
puts
|
62
62
|
puts "-" * 50
|
63
63
|
puts
|
64
|
-
|
65
|
-
if
|
64
|
+
|
65
|
+
if $lyre_debug
|
66
66
|
puts
|
67
67
|
puts "Params - #{self.params.inspect}"
|
68
68
|
puts
|
data/lib/lyre_bird/route.rb
CHANGED
@@ -7,29 +7,27 @@ module LyreBird
|
|
7
7
|
def self.route(str='', debug=false)
|
8
8
|
|
9
9
|
successes = []
|
10
|
-
puts "Parsing '#{str}'" if
|
10
|
+
puts "Parsing '#{str}'" if $lyre_debug
|
11
11
|
$lyrebird_routes.each do | r |
|
12
12
|
route = r['str']
|
13
13
|
clear = r['clear']
|
14
|
-
puts "- Trying '#{route}'" if
|
14
|
+
puts "- Trying '#{route}'" if $lyre_debug
|
15
15
|
regex = {}
|
16
16
|
regex[:vars] = route.gsub(/(:[a-z]*)/, '(:[a-z]*)')
|
17
|
-
puts "- REGEX VARS '#{regex[:vars]}'" if
|
17
|
+
puts "- REGEX VARS '#{regex[:vars]}'" if $lyre_debug
|
18
18
|
vars = route.match(regex[:vars])
|
19
19
|
|
20
|
-
|
21
|
-
puts "str.match(/#{regex[:vars]}/)" if CONSOLE and vars.nil?
|
22
|
-
|
23
|
-
puts "- NO VARS '#{vars.inspect}'" if DEBUG and vars.nil?
|
20
|
+
puts "- NO VARS '#{vars.inspect}'" if $lyre_debug and vars.nil?
|
24
21
|
next if vars.nil?
|
25
22
|
|
26
23
|
regex[:values] = regex[:vars].gsub(/\:\[a\-z\]/, '.')
|
27
|
-
puts "- Trying '#{regex[:values]}'" if
|
24
|
+
puts "- Trying '#{regex[:values]}'" if $lyre_debug
|
28
25
|
values = str.match(regex[:values])
|
29
26
|
|
30
27
|
next if values.nil?
|
31
28
|
|
32
29
|
params = {}.merge(r)
|
30
|
+
params.delete('str')
|
33
31
|
|
34
32
|
i = 1;
|
35
33
|
|
@@ -39,7 +37,7 @@ module LyreBird
|
|
39
37
|
i += 1
|
40
38
|
end
|
41
39
|
params = (str.match(/good|ok|pretty good/).nil?) ? params : params.merge({:sort => :rating})
|
42
|
-
puts "-- PASS '#{route}' got #{params.inspect}" if
|
40
|
+
puts "-- PASS '#{route}' got #{params.inspect}" if $lyre_debug
|
43
41
|
successes.unshift(params)
|
44
42
|
end
|
45
43
|
return successes.last
|
data/lib/lyre_bird.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), "/../lib"))
|
2
|
+
|
1
3
|
require 'lyre_bird/response'
|
2
4
|
require 'lyre_bird/request'
|
3
5
|
require 'lyre_bird/route'
|
@@ -10,12 +12,16 @@ module LyreBird
|
|
10
12
|
attr_accessor :password
|
11
13
|
attr_accessor :since_filename
|
12
14
|
|
13
|
-
def initialize(options={})
|
15
|
+
def initialize(username=nil,password=nil,options={})
|
14
16
|
$responses = {}
|
15
|
-
|
16
|
-
self.
|
17
|
+
$no_responses = []
|
18
|
+
self.username = username || 'username'
|
19
|
+
$lyrebird_username = self.username
|
20
|
+
self.password = password || 'password'
|
17
21
|
self.since_filename = options[:since_filename] || "lyre_bird_listen_since.txt"
|
18
22
|
$lyrebird_routes = options[:routes] || []
|
23
|
+
$lyrebird_default_class = (options[:defaults] and options[:defaults][:class]) ? options[:defaults][:class] : 'LyresController'
|
24
|
+
$lyrebird_default_method = (options[:defaults] and options[:defaults][:method]) ? options[:defaults][:method] : 'index'
|
19
25
|
end
|
20
26
|
|
21
27
|
def listen(options={})
|
@@ -62,7 +68,7 @@ module LyreBird
|
|
62
68
|
|
63
69
|
mentions = mentions.sort {|a,b| a['id']<=>b['id']}
|
64
70
|
mentions.each do | tweet |
|
65
|
-
puts "Tweet - #{tweet.keys.to_yaml}" if
|
71
|
+
puts "Tweet - #{tweet.keys.to_yaml}" if $lyre_debug
|
66
72
|
req = LyreBird::Request.new(:tweet => tweet)
|
67
73
|
if options[:post]
|
68
74
|
req.response.post(options[:live])
|