Sha256: 5eb19b59261c2352698edae880626288d444d85b12ddac7c6ee6a6ed6d8873e7

Contents?: true

Size: 789 Bytes

Versions: 4

Compression:

Stored size: 789 Bytes

Contents

module Space
  module Model
    class Repo
      class Bundle
        include Source

        commands check: 'bundle check --no-lock',
                 list:  'bundle list'

        watch 'Gemfile',
              'Gemfile.lock'

        attr_reader :repos

        def initialize(repo, repos)
          @repo = repo
          @repos = repos
          super(repo.path)
        end

        def clean?
          info =~ /dependencies are satisfied/
        end

        def info
          result(:check).split("\n").first || ''
        end

        def deps
          result(:list).scan(/\* ([\w-]+) \(.* ([\d|\w]+)\)/).map do |name, ref|
            Dependency.new(repos.find_by_name(name), ref) if repos.names.include?(name)
          end.compact
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
space-0.0.9 lib/space/model/repo/bundle.rb
space-0.0.8 lib/space/model/repo/bundle.rb
space-0.0.7 lib/space/model/repo/bundle.rb
space-0.0.6 lib/space/model/repo/bundle.rb