Sha256: 220959ede282b29f6b032a4e4779ba5a536abc8449529375948dee16d88c93cb

Contents?: true

Size: 1.44 KB

Versions: 8

Compression:

Stored size: 1.44 KB

Contents

require 'grit'

module Spider; module AppServer
    
    class GitApp < App
        attr_reader :repo
        attr_reader :branches
        
        def initialize(path)
            super
            repo = Grit::Repo.new(path)
            spec = nil
            repo_branches = repo.heads.map{ |h| h.name }
            @branches = repo_branches
            @repo = repo
            read_spec
        end

        def read_spec(branch='master')
            @repo.tree(branch).blobs.each do |blob|
                next unless blob.basename =~ /\.appspec$/
                spec = blob.data
                @spec = Spider::App::AppSpec.eval(spec)
                @spec.branch = branch
                if repo_base = Spider.conf.get('app_server.git_repo_base')
                    unless @spec.git_repo
                        @spec.git_repo(repo_base+'/'+@spec.id)
                    end
                end
                if repo_base_rw = Spider.conf.get('app_server.git_repo_rw_base')
                    unless @spec.git_repo_rw
                        @spec.git_repo_rw(repo_base_rw+'/'+@spec.id)
                    end
                end
                @last_modified = repo.commits.first.authored_date # FIXME
                @spec.app_server ||= AppServer::AppServerController.http_url
                break
            end
            @repo = repo
            @spec
        end
        
        def package
            
        end
        
    end
    
end; end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spiderfw-0.6.33 apps/app_server/lib/git_app.rb
spiderfw-0.6.32 apps/app_server/lib/git_app.rb
spiderfw-0.6.31 apps/app_server/lib/git_app.rb
spiderfw-0.6.30 apps/app_server/lib/git_app.rb
spiderfw-0.6.29 apps/app_server/lib/git_app.rb
spiderfw-0.6.28 apps/app_server/lib/git_app.rb
spiderfw-0.6.27 apps/app_server/lib/git_app.rb
spiderfw-0.6.26 apps/app_server/lib/git_app.rb