From d6604af808f6dff6ad4cfd5225836e20f2f5b090 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Mon, 2 Apr 2012 02:00:59 +0200 Subject: [PATCH] stuff --- lib/space/helpers.rb | 46 +++++++++------------------- lib/space/screen.rb | 5 ---- lib/space/templates/config.erb | 1 - lib/space/templates/repo.erb | 2 +- spec/models/bundler_spec.rb | 55 ---------------------------------- 5 files changed, 15 insertions(+), 94 deletions(-) delete mode 100644 lib/space/templates/config.erb delete mode 100644 spec/models/bundler_spec.rb diff --git a/lib/space/helpers.rb b/lib/space/helpers.rb index d09358a..7fb9fe7 100644 --- a/lib/space/helpers.rb +++ b/lib/space/helpers.rb @@ -1,29 +1,32 @@ # encoding: UTF-8 require 'ansi/core' -require 'ansi/terminal' require 'core_ext/string' module Space module Helpers - include ANSI::Terminal - def project_title "Project: #{name}".ansi(:bold) end - def local_repos - format_list(project.local_repos, :width => terminal_width - 2, :prefix => 'Local: ') + "\n" unless project.local_repos.empty? - end - def tableize(string) string.split(' ') project.local_repos.join(', ') end - def repo_title - title = "#{repo.name.ansi(:bold)} [#{git.branch}, #{git.commit}] [#{repo.number}]" - title += " *" if repo_selected? - title + def repo_name + repo.name.ansi(:bold) + end + + def repo_status + [repo_local, git.branch, git.commit].compact.join(', ') + end + + def repo_local + 'L'.ansi(:bold, :red) if repo_local? + end + + def repo_local? + project.local_repos.include?(repo.name) end def repo_selected? @@ -54,27 +57,6 @@ def format_boolean(value) value ? '✔'.ansi(:green, :bold) : '⚡'.ansi(:red, :bold) end - def format_list(list, options = {}) - width = options[:width] || terminal_width - result = "#{options[:prefix]}#{list.join(', ')}" - if result.size <= width - result - else - result = wrap_list(list, width).map { |line| i(line) } - result.unshift(options[:prefix]) - result.join("\n") - end - end - - def wrap_list(list, width) - result = [''] - list.each do |item| - result << '' if (result.last + item).size + 1 > width - result.last << "#{item}#{', ' unless list.last == item}" - end - result.map(&:strip) - end - def i(string, width = 2) lines = string.split("\n") lines = lines.map { |line| line.wrap(80).split("\n") }.flatten diff --git a/lib/space/screen.rb b/lib/space/screen.rb index 6de73fe..f63474e 100644 --- a/lib/space/screen.rb +++ b/lib/space/screen.rb @@ -16,7 +16,6 @@ def clear def render(options = {}) clear - puts render_config repos.scope.self_and_dependencies.each do |repo| puts render_repo(repo) end @@ -29,10 +28,6 @@ def render_project view.render(:project, name: name, project: project) end - def render_config - view.render(:config, project: project) - end - def render_repo(repo) view.render(:repo, repos: repos, repo: repo, git: repo.git, bundle: repo.bundle) end diff --git a/lib/space/templates/config.erb b/lib/space/templates/config.erb deleted file mode 100644 index e32cc7b..0000000 --- a/lib/space/templates/config.erb +++ /dev/null @@ -1 +0,0 @@ -<%= local_repos %> diff --git a/lib/space/templates/repo.erb b/lib/space/templates/repo.erb index c846ca1..c1208e7 100644 --- a/lib/space/templates/repo.erb +++ b/lib/space/templates/repo.erb @@ -1,4 +1,4 @@ -<%= repo_title %> +<%= repo.number %> <%= repo_name %>: <%= repo_status %><%= ' *' if repo_selected? %> <%=i git_status %> <%= bundle_status %> <%=i bundle.clean? ? bundle_deps : bundle_info %> diff --git a/spec/models/bundler_spec.rb b/spec/models/bundler_spec.rb deleted file mode 100644 index 2dd0655..0000000 --- a/spec/models/bundler_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -require 'spec_helper' - -describe Space::Bundler do - let(:app) { stub('app', name: 'travis') } - let(:repo) { stub('repo', name: 'travis-ci') } - let(:repos) { stub('repos') } - let(:bundler) { Space::Bundler.new('travis', repos, 'path/to/repo') } - - before :each do - app.stubs(:repos).returns([repo]) - App.stubs(:name).returns('travis') - end - - describe 'clean?' do - it 'returns true if info includes "dependencies are satisfied"' do - bundler.stubs(:info).returns("The Gemfile's dependencies are satisfied") - bundler.clean?.should be_true - end - - it 'returns false if info does not include "dependencies are satisfied"' do - bundler.stubs(:info).returns("Your Gemfile's dependencies could not be satisfied") - bundler.clean?.should be_false - end - end - - describe 'info' do - it 'returns the first line from `bundle check`' do - bundler.stubs(:result).with(:check).returns("first line\nsecond line") - bundler.info.should == 'first line' - end - end - - describe 'deps' do - it 'returns dependencies listend in `bundle list` that match the app name' do - bundler.stubs(:result).with(:list, name: 'travis').returns(" * travis-ci (0.0.1 123456)") - dep = bundler.deps.first - [dep.name, dep.ref].should == ['travis-ci', '123456'] - end - end - - # describe 'local_repos' do - # it 'returns local repositories as defined in the bundle config' do - # bundler.stubs(:config).returns('foo' => 'bar', 'local.travis-core' => 'path/to/travis-core') - # bundler.local_repos.first.should == 'travis-core' - # end - # end - - # describe 'config' do - # it 'returns a hash of config key value pairs as defined in `bundle config``' do - # bundler.stubs(:result).with(:config).returns("Settings are listed in order of priority. The top value will be used.\\n\\nlocal.travis-core\\nSet for the current user (path/to/config): \\"path/to/travis-core\\"") - # bundler.config.should == { 'local.travis-core' => 'path/to/travis-core' } - # end - # end -end -