Sha256: 2929db658b940c159b119933612e5b7dff89472e5ccbdf881cda23b7f9c079d7

Contents?: true

Size: 1.14 KB

Versions: 13

Compression:

Stored size: 1.14 KB

Contents

module Spider
    
    class SetupTask
        attr_reader :path, :version
        
        class <<self
            def tasks
                @tasks ||= {}
            end
            
            def inherited(subclass)
                @last_class = subclass
            end
            
            def load(path)
                crit = Thread.critical
                Thread.critical = true unless crit
                Kernel.load(path)
                obj = @last_class.new(path)
#                Kernel.send(:remove_const, @last_class.name)
                @last_class = nil
                Thread.critical = crit
                return obj
            end
        end
        
        def initialize(path)
            @path = path
            name = File.basename(path, '.rb')
            if (name =~ /^((?:\d\.?){1,3})/)
                version = $1
                version = version[0..-2] if version[-1].chr == '.'
                desc = name[(version.length+1)..-1]
            else
                version = name
                desc = nil
            end
            @version = Gem::Version.new(version)
            @desc = desc
        end

    end
    
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spiderfw-0.5.13 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.12 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.11 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.10 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.9 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.7 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.6 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.5 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.4 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.3 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.2 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5.1 lib/spiderfw/setup/setup_task.rb
spiderfw-0.5 lib/spiderfw/setup/setup_task.rb