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 CHANGED
@@ -1,13 +1,10 @@
1
1
  require 'rubygems'
2
- require 'lyre_bird'
2
+ require 'lib/lyre_bird'
3
3
 
4
- routes = [ { 'str' => "Do you have a :item for me" } ]
5
-
6
- @lb = LyreBird::Base.new(
7
- :username => 'username',
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('DEBUG? (y/n)')
23
- DEBUG = ( debug.match(/^(Y|y|yes|Yes|YES)/)) ? true : false
24
- CONSOLE = true
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
- puts if DEBUG
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
- while msg.nil?
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
 
@@ -6,7 +6,8 @@ module LyreBird
6
6
 
7
7
  def initialize(options={})
8
8
  self.tweet = options[:tweet]
9
- self.response = self.respond(:text => self.tweet['text'].gsub(/\@nicetripper /,''))
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={})
@@ -18,24 +18,24 @@ module LyreBird
18
18
 
19
19
  history = $responses[self.to]
20
20
 
21
- klass = self.params['class'] || 'LyresController'
22
- method = self.params['method'] || 'hot'
21
+ klass = self.params['class'] || $lyrebird_default_class
22
+ method = self.params['method'] || $lyrebird_default_method
23
23
 
24
- self.text = klass.constantize.new.send method.to_sym, self, history, self.params
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] = params
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
- puts "LyreBird::Response.error self.text #{self.text}"
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 DEBUG
64
+
65
+ if $lyre_debug
66
66
  puts
67
67
  puts "Params - #{self.params.inspect}"
68
68
  puts
@@ -7,29 +7,27 @@ module LyreBird
7
7
  def self.route(str='', debug=false)
8
8
 
9
9
  successes = []
10
- puts "Parsing '#{str}'" if DEBUG
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 DEBUG
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 DEBUG
17
+ puts "- REGEX VARS '#{regex[:vars]}'" if $lyre_debug
18
18
  vars = route.match(regex[:vars])
19
19
 
20
- puts "str = '#{str}'" if CONSOLE and vars.nil?
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 DEBUG
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 DEBUG
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
- self.username = options[:username] || 'username'
16
- self.password = options[:password] || 'password'
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 DEBUG
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])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simonreed-lyrebird
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.2.2
4
+ version: 0.1.0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Reed