simonreed-lyrebird 0.1.0.2.2 → 0.1.0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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