pangdudu-robots 0.2.3 → 0.2.3.1
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/README.rdoc +7 -10
 - data/config/start_dbus_session.sh +1 -1
 - data/lib/robots.rb +1 -1
 - data/lib/robots_agent.rb +31 -51
 - data/lib/robots_daemon.rb +23 -0
 - data/lib/robots_infrastructure.rb +1 -1
 - data/lib/robots_prototype.rb +2 -1
 - metadata +22 -1
 
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -2,8 +2,6 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            Local messaging with dbus working, need to make service avahi discoverable. 
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            Well, fork, dbus is not really remote capable right now. Ohh, I so much don't want to write that myself,... ;(...  
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
5 
     | 
    
         
             
            Let's try to built a nice easy to use multiagent framework
         
     | 
| 
       8 
6 
     | 
    
         
             
            based on all the cool stuff we can get for ruby.
         
     | 
| 
       9 
7 
     | 
    
         | 
| 
         @@ -11,18 +9,17 @@ rObOts! 
     | 
|
| 
       11 
9 
     | 
    
         | 
| 
       12 
10 
     | 
    
         
             
            == Installation
         
     | 
| 
       13 
11 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
              #on ubuntu you need stuff like this to build dbus
         
     | 
| 
       15 
     | 
    
         
            -
              sudo apt-get install avahi-daemon avahi-utils libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd-dev libnss-mdns libdbus-1-dev libdbus-glib-1-dev
         
     | 
| 
       16 
     | 
    
         
            -
              #essential gems
         
     | 
| 
       17 
     | 
    
         
            -
              sudo gem install pangdudu-ruby-dbus --source=http://gems.github.com
         
     | 
| 
       18 
     | 
    
         
            -
              sudo gem install pangdudu-ruby-dbus-daemon --source=http://gems.github.com
         
     | 
| 
       19 
     | 
    
         
            -
              sudo gem install pangdudu-rofl --source=http://gems.github.com
         
     | 
| 
       20 
12 
     | 
    
         
             
              sudo gem install pangdudu-robots --source=http://gems.github.com
         
     | 
| 
       21 
     | 
    
         
            -
              #for xml parsing and building
         
     | 
| 
       22 
     | 
    
         
            -
              sudo gem install hpricot builder
         
     | 
| 
       23 
13 
     | 
    
         | 
| 
       24 
14 
     | 
    
         
             
            == Usage
         
     | 
| 
       25 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
            sorry, this section was actualy missing before.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            oki, if you choose sessiontype 'robots', start the daemon with the 'start_dbus_session.sh'
         
     | 
| 
      
 19 
     | 
    
         
            +
            script in 'config/'. 
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            then start one of the robots from examples or the robots_prototype.
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
       26 
23 
     | 
    
         
             
            == Rule the universe! 
         
     | 
| 
       27 
24 
     | 
    
         | 
| 
       28 
25 
     | 
    
         
             
            Robots are coming!
         
     | 
| 
         @@ -1,2 +1,2 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
            dbus-daemon --config-file=$HOME/.robots/config/remote.session.dbus.conf
         
     | 
| 
      
 2 
     | 
    
         
            +
            dbus-daemon --print-address --config-file=$HOME/.robots/config/remote.session.dbus.conf
         
     | 
    
        data/lib/robots.rb
    CHANGED
    
    
    
        data/lib/robots_agent.rb
    CHANGED
    
    | 
         @@ -1,35 +1,38 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'dbus' #gem install pangdudu-ruby-dbus --source=http://gems.github.com
         
     | 
| 
       3 
     | 
    
         
            -
            require 'dbus-daemon' #gem install pangdudu-ruby-dbus-daemon --source=http://gems.github.com
         
     | 
| 
       4 
3 
     | 
    
         
             
            require 'rofl' #gem install pangdudu-rofl --source=http://gems.github.com
         
     | 
| 
       5 
4 
     | 
    
         
             
            #local requires, actually don't need them, just to let you know whats going on
         
     | 
| 
       6 
5 
     | 
    
         
             
            require 'robots_infrastructure'
         
     | 
| 
       7 
6 
     | 
    
         | 
| 
       8 
7 
     | 
    
         
             
            class Robot
         
     | 
| 
       9 
     | 
    
         
            -
              attr_accessor :dbusdaemon #in case we use a custom dbus-daemon
         
     | 
| 
       10 
8 
     | 
    
         
             
              attr_accessor :avahi #for mdns service discovery
         
     | 
| 
       11 
9 
     | 
    
         
             
              attr_accessor :emitters,:infrastructure,:listeners #stuff a robot needs
         
     | 
| 
       12 
     | 
    
         
            -
              attr_accessor : 
     | 
| 
      
 10 
     | 
    
         
            +
              attr_accessor :config #hash with lots of config magic inside
         
     | 
| 
       13 
11 
     | 
    
         | 
| 
       14 
12 
     | 
    
         
             
              def initialize
         
     | 
| 
       15 
13 
     | 
    
         
             
                dlog "new Robot initialized."
         
     | 
| 
       16 
     | 
    
         
            -
                @ 
     | 
| 
       17 
     | 
    
         
            -
                @ 
     | 
| 
       18 
     | 
    
         
            -
                @remote = false #if you want to connect remotely, change this value
         
     | 
| 
       19 
     | 
    
         
            -
                @sessiontype = "robots" #could be session,system or robots (use robots, if you want it to work over multiple hosts)
         
     | 
| 
       20 
     | 
    
         
            -
                @daemonconfig = "~/.robots/config/remote.session.dbus.conf" #listens on tcp
         
     | 
| 
       21 
     | 
    
         
            -
                @robots_socket_name = "tcp:host=#{@daemonhost},port=2687,family=ipv4" #look at: ~/.robots/config/remote.session.dbus.conf
         
     | 
| 
       22 
     | 
    
         
            -
                @robotsservice = "org.robots.Service"
         
     | 
| 
       23 
     | 
    
         
            -
                @emitterpath = "/org/robots/Service/Emitter"
         
     | 
| 
       24 
     | 
    
         
            -
                @emitterinterface = "org.robots.Service.EmitterInterface"
         
     | 
| 
       25 
     | 
    
         
            -
                @coreservice, @dbussession, @dbusdaemon = nil,nil,nil
         
     | 
| 
      
 14 
     | 
    
         
            +
                @config = get_default_config
         
     | 
| 
      
 15 
     | 
    
         
            +
                @coreservice, @dbussession = nil,nil
         
     | 
| 
       26 
16 
     | 
    
         
             
                @listeners,@emitters,@infrastructure = [],{},{}
         
     | 
| 
       27 
17 
     | 
    
         
             
                @servicetypes = fill_servicetypes #refer to robots_infrastructure.rb
         
     | 
| 
       28 
18 
     | 
    
         
             
              end
         
     | 
| 
       29 
19 
     | 
    
         | 
| 
      
 20 
     | 
    
         
            +
              def get_default_config
         
     | 
| 
      
 21 
     | 
    
         
            +
                config = {}
         
     | 
| 
      
 22 
     | 
    
         
            +
                config[:localhost] = Socket.gethostname
         
     | 
| 
      
 23 
     | 
    
         
            +
                config[:daemonhost] = "127.0.0.1"
         
     | 
| 
      
 24 
     | 
    
         
            +
                config[:daemonport] = "2687"
         
     | 
| 
      
 25 
     | 
    
         
            +
                config[:remote] = false #if you want to connect remotely, change this value
         
     | 
| 
      
 26 
     | 
    
         
            +
                config[:sessiontype] = "robots" #could be session,system or robots (use robots, if you want it to work over multiple hosts)
         
     | 
| 
      
 27 
     | 
    
         
            +
                config[:robots_socket_name] = "tcp:host=#{config[:daemonhost]},port=#{config[:daemonport]},family=ipv4" #look at: ~/.robots/config/remote.session.dbus.conf
         
     | 
| 
      
 28 
     | 
    
         
            +
                config[:robotsservice] = "org.robots.Service"
         
     | 
| 
      
 29 
     | 
    
         
            +
                config[:emitterpath] = "/org/robots/Service/Emitter"
         
     | 
| 
      
 30 
     | 
    
         
            +
                config[:emitterinterface] = "org.robots.Service.EmitterInterface"
         
     | 
| 
      
 31 
     | 
    
         
            +
                return config
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
              
         
     | 
| 
       30 
34 
     | 
    
         
             
              #start the mojo
         
     | 
| 
       31 
35 
     | 
    
         
             
              def run
         
     | 
| 
       32 
     | 
    
         
            -
                check_for_dbus_daemon if @sessiontype.eql? "robots" #will start a dbus-daemon if necessary
         
     | 
| 
       33 
36 
     | 
    
         
             
                setup_robots_service
         
     | 
| 
       34 
37 
     | 
    
         
             
                register_callbacks
         
     | 
| 
       35 
38 
     | 
    
         
             
                #test_messages; #main_loop;
         
     | 
| 
         @@ -37,11 +40,11 @@ class Robot 
     | 
|
| 
       37 
40 
     | 
    
         | 
| 
       38 
41 
     | 
    
         
             
              #setup the robots service
         
     | 
| 
       39 
42 
     | 
    
         
             
              def setup_robots_service
         
     | 
| 
       40 
     | 
    
         
            -
                robots_running = running? @robotsservice
         
     | 
| 
      
 43 
     | 
    
         
            +
                robots_running = running? @config[:robotsservice]
         
     | 
| 
       41 
44 
     | 
    
         
             
                dlog "robots service has already been started." if robots_running
         
     | 
| 
       42 
45 
     | 
    
         
             
                unless robots_running
         
     | 
| 
       43 
46 
     | 
    
         
             
                  ilog "will now setup robots service infrastructure."
         
     | 
| 
       44 
     | 
    
         
            -
                  start_core_service @robotsservice
         
     | 
| 
      
 47 
     | 
    
         
            +
                  start_core_service @config[:robotsservice]
         
     | 
| 
       45 
48 
     | 
    
         
             
                  init_robots_infrastructure
         
     | 
| 
       46 
49 
     | 
    
         
             
                end
         
     | 
| 
       47 
50 
     | 
    
         
             
                get_robots_infrastructure
         
     | 
| 
         @@ -53,45 +56,21 @@ class Robot 
     | 
|
| 
       53 
56 
     | 
    
         
             
              the following methods are only called, if the robots service is not already running 
         
     | 
| 
       54 
57 
     | 
    
         
             
            =end 
         
     | 
| 
       55 
58 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
              #check if a dbus-daemon suitable for robots is running, otherwise start one
         
     | 
| 
       57 
     | 
    
         
            -
              def check_for_dbus_daemon
         
     | 
| 
       58 
     | 
    
         
            -
                unless @remote
         
     | 
| 
       59 
     | 
    
         
            -
                  @daemonconfig = File.expand_path(@daemonconfig) #dbus-daemon won't accept otherwise
         
     | 
| 
       60 
     | 
    
         
            -
                  #ok, no config file, not good!
         
     | 
| 
       61 
     | 
    
         
            -
                  unless File.exist? @daemonconfig
         
     | 
| 
       62 
     | 
    
         
            -
                    wlog "no daemon config: #{@daemonconfig}!"
         
     | 
| 
       63 
     | 
    
         
            -
                    wlog "will sleep for 5 seconds,..."
         
     | 
| 
       64 
     | 
    
         
            -
                    sleep 5 #give the user time to realize
         
     | 
| 
       65 
     | 
    
         
            -
                  end
         
     | 
| 
       66 
     | 
    
         
            -
                  #if the config file is there
         
     | 
| 
       67 
     | 
    
         
            -
                  if File.exist? @daemonconfig  
         
     | 
| 
       68 
     | 
    
         
            -
                    @dbusdaemon = DbusDaemon.new @daemonconfig
         
     | 
| 
       69 
     | 
    
         
            -
                    got_twins = @dbusdaemon.got_twin_daemon? #check if a daemon like this is already running
         
     | 
| 
       70 
     | 
    
         
            -
                    ilog "custom dbus-daemon is already running." if got_twins #inform user
         
     | 
| 
       71 
     | 
    
         
            -
                    unless got_twins #no suitable dbus-daemon running, start one
         
     | 
| 
       72 
     | 
    
         
            -
                      @dbusdaemon.start_daemon
         
     | 
| 
       73 
     | 
    
         
            -
                      ilog "custom dbus-daemon started and running, check \"ps x | grep \"dbus-daemon\", if plan a CTRL-C."
         
     | 
| 
       74 
     | 
    
         
            -
                      #@dbusdaemon.stop_daemon #must get called sometimes, super nasty, use " ps x | grep "dbus-daemon" "
         
     | 
| 
       75 
     | 
    
         
            -
                    end
         
     | 
| 
       76 
     | 
    
         
            -
                  end
         
     | 
| 
       77 
     | 
    
         
            -
                end
         
     | 
| 
       78 
     | 
    
         
            -
              end
         
     | 
| 
       79 
     | 
    
         
            -
             
         
     | 
| 
       80 
59 
     | 
    
         
             
              #setup the infrastructure objects for communication
         
     | 
| 
       81 
60 
     | 
    
         
             
              def init_robots_infrastructure
         
     | 
| 
       82 
     | 
    
         
            -
                emitter = Emitter.new( 
     | 
| 
      
 61 
     | 
    
         
            +
                emitter = Emitter.new(config[:emitterpath],self)
         
     | 
| 
       83 
62 
     | 
    
         
             
                @coreservice.export(emitter)
         
     | 
| 
       84 
63 
     | 
    
         
             
                @infrastructure["emitter"] = emitter
         
     | 
| 
       85 
64 
     | 
    
         
             
              end
         
     | 
| 
       86 
65 
     | 
    
         | 
| 
       87 
66 
     | 
    
         
             
              #get instances of our infrastructure objects
         
     | 
| 
       88 
67 
     | 
    
         
             
              def get_robots_infrastructure
         
     | 
| 
       89 
     | 
    
         
            -
                emitter = get_object_from_service @robotsservice,@emitterpath,@emitterinterface
         
     | 
| 
      
 68 
     | 
    
         
            +
                emitter = get_object_from_service @config[:robotsservice],@config[:emitterpath],@config[:emitterinterface]
         
     | 
| 
       90 
69 
     | 
    
         
             
                @emitters["robots"] = emitter
         
     | 
| 
       91 
70 
     | 
    
         
             
              end
         
     | 
| 
       92 
71 
     | 
    
         | 
| 
       93 
72 
     | 
    
         
             
              #start a service
         
     | 
| 
       94 
     | 
    
         
            -
              def start_core_service service_name=@robotsservice
         
     | 
| 
      
 73 
     | 
    
         
            +
              def start_core_service service_name=@config[:robotsservice]
         
     | 
| 
       95 
74 
     | 
    
         
             
                bus = get_bus
         
     | 
| 
       96 
75 
     | 
    
         
             
                #first of all check if the service we want to launch is already started
         
     | 
| 
       97 
76 
     | 
    
         
             
                dlog "skipping service: #{service_name} has already been started." if running? service_name 
         
     | 
| 
         @@ -147,7 +126,7 @@ class Robot 
     | 
|
| 
       147 
126 
     | 
    
         
             
                dlog "registering callback for #{name} on path #{emitter.path}"
         
     | 
| 
       148 
127 
     | 
    
         
             
                mr = DBus::MatchRule.new
         
     | 
| 
       149 
128 
     | 
    
         
             
                mr.type = "signal"
         
     | 
| 
       150 
     | 
    
         
            -
                mr.interface =  
     | 
| 
      
 129 
     | 
    
         
            +
                mr.interface = @config[:emitterinterface]
         
     | 
| 
       151 
130 
     | 
    
         
             
                mr.path = emitter.path
         
     | 
| 
       152 
131 
     | 
    
         
             
                bus.add_match(mr) { |msg| emitter_proxy_callback msg }
         
     | 
| 
       153 
132 
     | 
    
         
             
              end
         
     | 
| 
         @@ -197,6 +176,7 @@ class Robot 
     | 
|
| 
       197 
176 
     | 
    
         
             
              #send
         
     | 
| 
       198 
177 
     | 
    
         
             
              def send_msg msg
         
     | 
| 
       199 
178 
     | 
    
         
             
                @emitters["robots"].send_message(msg) unless @emitters["robots"].nil?
         
     | 
| 
      
 179 
     | 
    
         
            +
                wlog "emitter is nil, can not send message." if @emitters["robots"].nil?
         
     | 
| 
       200 
180 
     | 
    
         
             
              end
         
     | 
| 
       201 
181 
     | 
    
         | 
| 
       202 
182 
     | 
    
         
             
              #add a listener
         
     | 
| 
         @@ -215,11 +195,11 @@ class Robot 
     | 
|
| 
       215 
195 
     | 
    
         
             
              #get the bus session, cleaner then creating new sessions all over
         
     | 
| 
       216 
196 
     | 
    
         
             
              def get_bus
         
     | 
| 
       217 
197 
     | 
    
         
             
                if @dbussession.nil?
         
     | 
| 
       218 
     | 
    
         
            -
                  @dbussession = DBus::SystemBus.instance if @sessiontype.eql? "system"
         
     | 
| 
       219 
     | 
    
         
            -
                  @dbussession = DBus::SessionBus.instance if @sessiontype.eql? "session"
         
     | 
| 
       220 
     | 
    
         
            -
                  if @sessiontype.eql? "robots"
         
     | 
| 
       221 
     | 
    
         
            -
                   DBus.const_set("SessionSocketName", @robots_socket_name) #overwrite the modules constant
         
     | 
| 
       222 
     | 
    
         
            -
                   evil_hack_remote_cookie if @remote #i need not say more,...
         
     | 
| 
      
 198 
     | 
    
         
            +
                  @dbussession = DBus::SystemBus.instance if @config[:sessiontype].eql? "system"
         
     | 
| 
      
 199 
     | 
    
         
            +
                  @dbussession = DBus::SessionBus.instance if @config[:sessiontype].eql? "session"
         
     | 
| 
      
 200 
     | 
    
         
            +
                  if @config[:sessiontype].eql? "robots"
         
     | 
| 
      
 201 
     | 
    
         
            +
                   DBus.const_set("SessionSocketName", @config[:robots_socket_name]) #overwrite the modules constant
         
     | 
| 
      
 202 
     | 
    
         
            +
                   evil_hack_remote_cookie if @config[:remote] #i need not say more,...
         
     | 
| 
       223 
203 
     | 
    
         
             
                   @dbussession = DBus::SessionBus.instance
         
     | 
| 
       224 
204 
     | 
    
         
             
                  end
         
     | 
| 
       225 
205 
     | 
    
         
             
                end
         
     | 
| 
         @@ -233,8 +213,8 @@ class Robot 
     | 
|
| 
       233 
213 
     | 
    
         | 
| 
       234 
214 
     | 
    
         
             
              #because dbus remote auth still betrays us, we need to hack it
         
     | 
| 
       235 
215 
     | 
    
         
             
              def evil_hack_remote_cookie
         
     | 
| 
       236 
     | 
    
         
            -
                if @robots_socket_name.include? "tcp:"
         
     | 
| 
       237 
     | 
    
         
            -
                  af, port, daemon_name, daemon_addr = (Socket::getaddrinfo(@daemonhost 
     | 
| 
      
 216 
     | 
    
         
            +
                if @config[:robots_socket_name].include? "tcp:"
         
     | 
| 
      
 217 
     | 
    
         
            +
                  af, port, daemon_name, daemon_addr = (Socket::getaddrinfo(@config[:daemonhost],@config[:daemonhost].to_i)).first
         
     | 
| 
       238 
218 
     | 
    
         
             
                  ilog "Trying to get/hack remote cookie from: #{daemon_name}."
         
     | 
| 
       239 
219 
     | 
    
         
             
                  begin
         
     | 
| 
       240 
220 
     | 
    
         
             
                    cookiepath = "#{ENV['HOME']}/.dbus-keyrings/org_freedesktop_general"
         
     | 
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #check if a dbus-daemon suitable for robots is running, otherwise start one
         
     | 
| 
      
 2 
     | 
    
         
            +
            def check_for_dbus_daemon
         
     | 
| 
      
 3 
     | 
    
         
            +
              unless @remote
         
     | 
| 
      
 4 
     | 
    
         
            +
                @daemonconfig = File.expand_path(@daemonconfig) #dbus-daemon won't accept otherwise
         
     | 
| 
      
 5 
     | 
    
         
            +
                #ok, no config file, not good!
         
     | 
| 
      
 6 
     | 
    
         
            +
                unless File.exist? @daemonconfig
         
     | 
| 
      
 7 
     | 
    
         
            +
                  wlog "no daemon config: #{@daemonconfig}!"
         
     | 
| 
      
 8 
     | 
    
         
            +
                  wlog "will sleep for 5 seconds,..."
         
     | 
| 
      
 9 
     | 
    
         
            +
                  sleep 5 #give the user time to realize
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
                #if the config file is there
         
     | 
| 
      
 12 
     | 
    
         
            +
                if File.exist? @daemonconfig  
         
     | 
| 
      
 13 
     | 
    
         
            +
                  @dbusdaemon = DbusDaemon.new @daemonconfig
         
     | 
| 
      
 14 
     | 
    
         
            +
                  got_twins = @dbusdaemon.got_twin_daemon? #check if a daemon like this is already running
         
     | 
| 
      
 15 
     | 
    
         
            +
                  ilog "custom dbus-daemon is already running." if got_twins #inform user
         
     | 
| 
      
 16 
     | 
    
         
            +
                  unless got_twins #no suitable dbus-daemon running, start one
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @dbusdaemon.start_daemon
         
     | 
| 
      
 18 
     | 
    
         
            +
                    ilog "custom dbus-daemon started and running, check \"ps x | grep \"dbus-daemon\", if plan a CTRL-C."
         
     | 
| 
      
 19 
     | 
    
         
            +
                    #@dbusdaemon.stop_daemon #must get called sometimes, super nasty, use " ps x | grep "dbus-daemon" "
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -17,7 +17,7 @@ class Emitter < DBus::Object 
     | 
|
| 
       17 
17 
     | 
    
         
             
              end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              #create an dbus interface
         
     | 
| 
       20 
     | 
    
         
            -
              dbus_interface "org. 
     | 
| 
      
 20 
     | 
    
         
            +
              dbus_interface "org.robots.Service.EmitterInterface" do
         
     | 
| 
       21 
21 
     | 
    
         
             
                #creates a signal in the interface:
         
     | 
| 
       22 
22 
     | 
    
         
             
                dbus_signal :newMessage, "msgbody:s"
         
     | 
| 
       23 
23 
     | 
    
         
             
                #creates an emit method in the interface:
         
     | 
    
        data/lib/robots_prototype.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: pangdudu-robots
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.2.3
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.3.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - pangdudu
         
     | 
| 
         @@ -42,6 +42,26 @@ dependencies: 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       43 
43 
     | 
    
         
             
                    version: "0"
         
     | 
| 
       44 
44 
     | 
    
         
             
                version: 
         
     | 
| 
      
 45 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 46 
     | 
    
         
            +
              name: hpricot
         
     | 
| 
      
 47 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 48 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 49 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 50 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 51 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 52 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 53 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 54 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 55 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 56 
     | 
    
         
            +
              name: builder
         
     | 
| 
      
 57 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 58 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 59 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 60 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 61 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 62 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 63 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 64 
     | 
    
         
            +
                version: 
         
     | 
| 
       45 
65 
     | 
    
         
             
            description: robots!
         
     | 
| 
       46 
66 
     | 
    
         
             
            email: pangdudu@github
         
     | 
| 
       47 
67 
     | 
    
         
             
            executables: 
         
     | 
| 
         @@ -58,6 +78,7 @@ files: 
     | 
|
| 
       58 
78 
     | 
    
         
             
            - lib/robots_infrastructure.rb
         
     | 
| 
       59 
79 
     | 
    
         
             
            - lib/robots_xml.rb
         
     | 
| 
       60 
80 
     | 
    
         
             
            - lib/robots_prototype.rb
         
     | 
| 
      
 81 
     | 
    
         
            +
            - lib/robots_daemon.rb
         
     | 
| 
       61 
82 
     | 
    
         
             
            - config/org.robots.service.conf
         
     | 
| 
       62 
83 
     | 
    
         
             
            - config/remote.session.dbus.conf
         
     | 
| 
       63 
84 
     | 
    
         
             
            - config/start_dbus_session.sh
         
     |