vim-bundler 0.2.1 → 0.3.0

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/Gemfile CHANGED
@@ -3,12 +3,22 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  gem "activesupport", ">= 3.1.0.beta1"
5
5
  gem "thor", ">= 0.14.6"
6
+ gem 'awesome_print'
6
7
 
7
8
  # Add dependencies to develop your gem here.
8
9
  # Include everything needed to run rake, tests, features, etc.
9
10
  group :development do
10
- gem "shoulda", ">= 0"
11
- gem "bundler", "~> 1.0.0"
12
- gem "jeweler", "~> 1.6.0"
13
- gem "rcov", ">= 0"
11
+ gem "bundler"
12
+ gem "jeweler"
13
+ gem "rcov"
14
+ end
15
+ group :rspec, :cucumber do
16
+ gem 'rspec'
17
+ gem 'cucumber'
18
+ gem 'spork'
19
+ gem 'guard-spork'
20
+ gem 'guard-rspec'
21
+ gem 'guard-cucumber'
22
+ gem 'rr'
23
+ gem 'rb-readline'
14
24
  end
@@ -1,17 +1,57 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.1.0.beta1)
4
+ activesupport (3.2.3)
5
+ i18n (~> 0.6)
5
6
  multi_json (~> 1.0)
7
+ awesome_print (1.0.2)
8
+ builder (3.0.0)
9
+ cucumber (1.1.9)
10
+ builder (>= 2.1.2)
11
+ diff-lcs (>= 1.1.2)
12
+ gherkin (~> 2.9.0)
13
+ json (>= 1.4.6)
14
+ term-ansicolor (>= 1.0.6)
15
+ diff-lcs (1.1.3)
16
+ ffi (1.0.11)
17
+ gherkin (2.9.3)
18
+ json (>= 1.4.6)
6
19
  git (1.2.5)
7
- jeweler (1.6.2)
20
+ guard (1.0.1)
21
+ ffi (>= 0.5.0)
22
+ thor (~> 0.14.6)
23
+ guard-cucumber (0.7.5)
24
+ cucumber (>= 0.10)
25
+ guard (>= 0.8.3)
26
+ guard-rspec (0.7.0)
27
+ guard (>= 0.10.0)
28
+ guard-spork (0.7.0)
29
+ guard (>= 0.10.0)
30
+ spork (>= 0.8.4)
31
+ i18n (0.6.0)
32
+ jeweler (1.8.3)
8
33
  bundler (~> 1.0)
9
34
  git (>= 1.2.5)
10
35
  rake
11
- multi_json (1.0.3)
12
- rake (0.9.2)
36
+ rdoc
37
+ json (1.6.6)
38
+ multi_json (1.3.2)
39
+ rake (0.9.2.2)
40
+ rb-readline (0.4.2)
13
41
  rcov (0.9.9)
14
- shoulda (2.11.3)
42
+ rdoc (3.12)
43
+ json (~> 1.4)
44
+ rr (1.0.4)
45
+ rspec (2.9.0)
46
+ rspec-core (~> 2.9.0)
47
+ rspec-expectations (~> 2.9.0)
48
+ rspec-mocks (~> 2.9.0)
49
+ rspec-core (2.9.0)
50
+ rspec-expectations (2.9.1)
51
+ diff-lcs (~> 1.1.3)
52
+ rspec-mocks (2.9.0)
53
+ spork (0.9.0)
54
+ term-ansicolor (1.0.7)
15
55
  thor (0.14.6)
16
56
 
17
57
  PLATFORMS
@@ -19,8 +59,16 @@ PLATFORMS
19
59
 
20
60
  DEPENDENCIES
21
61
  activesupport (>= 3.1.0.beta1)
22
- bundler (~> 1.0.0)
23
- jeweler (~> 1.6.0)
62
+ awesome_print
63
+ bundler
64
+ cucumber
65
+ guard-cucumber
66
+ guard-rspec
67
+ guard-spork
68
+ jeweler
69
+ rb-readline
24
70
  rcov
25
- shoulda
71
+ rr
72
+ rspec
73
+ spork
26
74
  thor (>= 0.14.6)
@@ -0,0 +1,16 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'spork', :cucumber_env => { 'RACK_ENV' => 'cucumber' }, :rspec_env => { 'RACK_ENV' => 'rspec' } do
5
+ watch('config/boot.rb')
6
+ watch('config/config.rb')
7
+ watch('spec/spec_helper.rb')
8
+ watch('Gemfile')
9
+ watch('Gemfile.lock')
10
+ watch('features/support/env.rb')
11
+ end
12
+ guard 'rspec' do
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
15
+ watch(%r{^spec/(.+)_spec\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
16
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
File without changes
@@ -1,4 +1,5 @@
1
1
  module VimBundler
2
+ autoload :CLI, 'vim-bundler/cli'
2
3
  autoload :DSL, 'vim-bundler/dsl'
3
4
  autoload :Installer, 'vim-bundler/installer'
4
5
  autoload :Git, 'vim-bundler/git'
@@ -6,6 +7,7 @@ module VimBundler
6
7
  autoload :Local, 'vim-bundler/local'
7
8
  autoload :UI, 'vim-bundler/ui'
8
9
  autoload :Actions, 'vim-bundler/actions'
10
+ autoload :Lock, 'vim-bundler/lock'
9
11
 
10
12
  class << self
11
13
  attr_accessor :ui
@@ -16,4 +18,5 @@ module VimBundler
16
18
  include Git
17
19
  include VimOrg
18
20
  include Local
21
+ include Lock
19
22
  end
@@ -1,20 +1,18 @@
1
1
  module VimBundler
2
2
  module Actions
3
- def clean(bundle)
4
- dir = File.join(@opts[:bundles_dir], bundle.name)
5
- if Dir.exists?(dir)
6
- FileUtils.rm_rf(dir)
7
- VimBundler.ui.info "#{bundle.name} removed"
3
+ def clean
4
+ if Dir.exists?(@dir)
5
+ FileUtils.rm_rf(@dir)
8
6
  else
9
- VimBundler.ui.warn "#{bundle.name} not found"
7
+ raise "not found"
10
8
  end
11
9
  end
12
- def post_action(dir, bundle)
13
- return true if bundle.block.nil?
10
+ def post_action
11
+ return true if @bundle.block.nil?
14
12
  cur_dir = FileUtils.pwd
15
- FileUtils.cd(dir)
13
+ FileUtils.cd(@dir)
16
14
  begin
17
- bundle.block.call
15
+ @bundle.block.call
18
16
  rescue
19
17
  FileUtils.cd(cur_dir)
20
18
  return false
@@ -44,9 +44,13 @@ module VimBundler
44
44
  end
45
45
  desc 'list', 'List all installed bundles'
46
46
  def list
47
- definition[:bundles].each { |k, v| puts k }
47
+ definition[:bundles].each_value { |bundle| VimBundler.ui.info prepare_name(bundle) }
48
48
  end
49
+ default_task :install
49
50
  private
51
+ def prepare_name(bundle)
52
+ bundle.name
53
+ end
50
54
  def definition
51
55
  file = File.join(FileUtils.pwd, VimBundler.default_bundles_file)
52
56
  unless File.exists? file
@@ -34,6 +34,10 @@ module VimBundler
34
34
  bundle = OpenStruct.new(args[1])
35
35
  bundle.name = args[0]
36
36
  bundle.block = block
37
+ opts = @opts
38
+ bundle.define_singleton_method :opts do
39
+ opts
40
+ end
37
41
  self.class.handlers.each do |k, v|
38
42
  if v.call(bundle)
39
43
  bundle.type = k
@@ -5,54 +5,41 @@ module VimBundler
5
5
  module Installer
6
6
  extend ActiveSupport::Concern
7
7
  include VimBundler::Actions
8
- def git_install(bundle)
9
- dir = File.join(@opts[:bundles_dir], bundle.name)
10
- if Dir.exists?(dir)
11
- VimBundler.ui.info "#{bundle.name} already installed"
12
- return
13
- end
14
- if @opts[:use_git_submodules]
15
- `#{@opts[:git_bin]} submodule add #{bundle.git} #{dir} 2>&1`
16
- else
17
- `#{@opts[:git_bin]} clone #{bundle.git} #{dir} 2>&1`
18
- end
19
- if $?.to_i == 0 && post_action(dir, bundle)
20
- VimBundler.ui.info "#{bundle.name} installed"
8
+ def git_install
9
+ if @bundle.opts[:use_git_submodules]
10
+ `#{@opts[:git_bin]} submodule add #{@bundle.git} #{@dir} 2>&1`
11
+ raise "unable to add submodule" unless $?.to_i == 0
21
12
  else
22
- VimBundler.ui.warn "#{bundle.name} not installed"
13
+ `#{@bundle.opts[:git_bin]} clone #{@bundle.git} #{@dir} 2>&1`
14
+ raise "unable to clone" unless $?.to_i == 0
23
15
  end
24
16
  end
25
- def git_update(bundle)
26
- dir = File.join(@opts[:bundles_dir], bundle.name)
27
- unless Dir.exists?(dir)
28
- VimBundler.ui.warn "#{bundle.name} not found"
29
- return
30
- end
31
- `cd #{dir} && #{@opts[:git_bin]} pull #{bundle.git} 2>&1 && cd - `
32
- if $?.to_i == 0 && post_action(dir, bundle)
33
- VimBundler.ui.info "#{bundle.name} updated"
34
- else
35
- VimBundler.ui.warn "#{bundle.name} not updated"
36
- end
17
+ def git_update
18
+ `cd #{@dir} && #{@bundle.opts[:git_bin]} pull #{@bundle.git} 2>&1 && cd - `
19
+ raise "unable to pull" unless $?.to_i == 0
37
20
  end
38
- def git_clean(bundle)
39
- clean(bundle)
40
- if @opts[:use_git_submodules]
41
- clean_config_file('.gitmodules', bundle)
42
- clean_config_file('.git/config', bundle)
43
- lines = File.readlines('.gitmodules')
44
- dir = File.join(@opts[:bundles_dir], bundle.name)
45
- `#{@opts[:git_bin]} rm --cached #{dir}`
21
+ def git_clean
22
+ begin
23
+ clean
24
+ rescue StandardError => e
25
+ raise e
26
+ ensure
27
+ if @bundle.opts[:git_bin]
28
+ clean_config_file('.gitmodules')
29
+ clean_config_file('.git/config')
30
+ lines = File.readlines('.gitmodules')
31
+ `#{@bundle.opts[:git_bin]} rm --cached #{@dir}`
32
+ end
46
33
  end
47
34
  end
48
35
  private
49
- def clean_config_file(path, bundle)
36
+ def clean_config_file(path)
50
37
  temp = []
51
38
  delete = false
52
39
  file = File.open(path, 'r') do |f|
53
40
  while (line = f.gets)
54
41
  delete = false if line.include?('[submodule')
55
- delete = true if line.include?(bundle.name) && line.include?('[submodule')
42
+ delete = true if line.include?(@bundle.name) && line.include?('[submodule')
56
43
  temp << line unless delete
57
44
  end
58
45
  end
@@ -12,31 +12,52 @@ module VimBundler
12
12
  end
13
13
  end
14
14
  define_actions :install, :update, :clean
15
- def initialize(opts)
16
- @opts = opts
15
+ def initialize(opts, bundle, type)
16
+ @opts = opts
17
+ @bundle = bundle
18
+ @type = type
19
+ @dir = File.join(@opts[:bundles_dir], @bundle.name)
17
20
  end
18
- private
19
- def self.process(installer, type, bundle)
20
- installer.run_callbacks(type.to_sym, bundle) do
21
- installer.run_callbacks(:process, bundle) do
22
- installer.send("#{bundle.type.to_s}_#{type}", bundle)
23
- end
21
+ set_callback :install, :before, :check_installed
22
+ set_callback :update, :before, :check_dir
23
+ set_callback :process, :after, :final_message
24
+ set_callback :all, :after, :all_final_message
25
+ def final_message
26
+ VimBundler.ui.info "#{@bundle.name} #{@type}ed"
27
+ end
28
+ def check_installed
29
+ if Dir.exists?(@dir)
30
+ raise "already installed"
24
31
  end
25
32
  end
26
- def self.process_all(definitions, type, name)
27
- installer = new(definitions[:opts])
28
- installer.run_callbacks(:all) do
29
- unless name.nil?
30
- bundle = definitions[:bundles][name]
31
- if(bundle.nil?)
32
- VimBundler.ui.warn "bundle #{name} not exists"
33
- else
34
- process(installer, type, definitions[:bundles][name])
33
+ def check_dir
34
+ unless Dir.exists?(@dir)
35
+ raise "not found"
36
+ end
37
+ end
38
+ def process
39
+ begin
40
+ run_callbacks :process do
41
+ run_callbacks @type do
42
+ send("#{@bundle.type.to_s}_#{@type}")
35
43
  end
44
+ end
45
+ rescue StandardError => e
46
+ VimBundler.ui.warn "#{@bundle.name} #{e.message}"
47
+ end
48
+ end
49
+ def self.process_all(definitions, type, name = nil)
50
+ FileUtils.mkdir_p(definitions[:opts][:bundles_dir])
51
+ unless name.nil?
52
+ bundle = definitions[:bundles][name]
53
+ if(bundle.nil?)
54
+ VimBundler.ui.warn "bundle #{name} not exists"
36
55
  else
37
- definitions[:bundles].each do |k, v|
38
- process(installer, type, v)
39
- end
56
+ new(definitions[:opts], bundle, type).process
57
+ end
58
+ else
59
+ definitions[:bundles].each do |k, bundle|
60
+ new(definitions[:opts], bundle, type).process
40
61
  end
41
62
  end
42
63
  VimBundler.ui.confirm "all bundles processed"
@@ -5,39 +5,15 @@ module VimBundler
5
5
  module Installer
6
6
  extend ActiveSupport::Concern
7
7
  include VimBundler::Actions
8
- def local_install(bundle)
9
- dir = File.join(@opts[:bundles_dir], bundle.name)
10
- if Dir.exists?(dir)
11
- VimBundler.ui.info "#{bundle.name} already installed"
12
- return
13
- end
14
- `ln -s #{bundle.local} #{dir}`
15
- if $?.to_i == 0 && post_action(dir, bundle)
16
- VimBundler.ui.info "#{bundle.name} installed"
17
- else
18
- VimBundler.ui.warn "#{bundle.name} not installed"
19
- end
8
+ def local_install
9
+ `ln -s #{@bundle.local} #{@dir}`
10
+ raise "unable to make symlink" unless $?.to_i == 0
20
11
  end
21
- def local_update(bundle)
22
- dir = File.join(@opts[:bundles_dir], bundle.name)
23
- unless Dir.exists?(dir)
24
- VimBundler.ui.warn "#{bundle.name} not found"
25
- return
26
- end
27
- if post_action(dir, bundle)
28
- VimBundler.ui.info "#{bundle.name} updated"
29
- else
30
- VimBundler.ui.warn "#{bundle.name} not updated"
31
- end
12
+ def local_update
32
13
  end
33
- def local_clean(bundle)
34
- dir = File.join(@opts[:bundles_dir], bundle.name)
35
- if Dir.exists?(dir)
36
- `unlink #{dir}`
37
- VimBundler.ui.info "#{bundle.name} removed"
38
- else
39
- VimBundler.ui.warn "#{bundle.name} not found"
40
- end
14
+ def local_clean
15
+ `unlink #{@dir}`
16
+ raise "unable to make unlink" unless $?.to_i == 0
41
17
  end
42
18
  end
43
19
  module DSL
@@ -0,0 +1,71 @@
1
+ # encoding: UTF-8
2
+ require 'active_support/concern'
3
+ require 'yaml'
4
+ module VimBundler
5
+ module Lock
6
+ def self.default_lock_file
7
+ file = File.join(FileUtils.pwd, VimBundler.default_bundles_file) + ".lock"
8
+ end
9
+ def self.merge_lock!(definitions)
10
+ data = {}
11
+ file = VimBundler::Lock.default_lock_file
12
+ data = YAML.load_file(file) if File.exists?(file)
13
+ data.each do |k, v|
14
+ v[:name] = k
15
+ v[:block] = nil
16
+ v[:installed] = true
17
+ bundle = OpenStruct.new(v)
18
+ bundle.define_singleton_method :opts do
19
+ v[:opts]
20
+ end
21
+ data[k] = bundle
22
+ end
23
+ definitions[:bundles].merge! data
24
+ definitions
25
+ end
26
+ extend ActiveSupport::Concern
27
+ module Installer
28
+ extend ActiveSupport::Concern
29
+ def write_to_lock
30
+ file = VimBundler::Lock.default_lock_file
31
+ data = {}
32
+ data = YAML.load_file(file) if File.exists?(file)
33
+ hash = @bundle.marshal_dump
34
+ hash[:opts] = @bundle.opts
35
+ data[hash[:name].to_s] = hash.select { |k, v| not [:name, :block].include? k }
36
+ File.open(file, 'w') { |f| f.write(data.to_yaml) }
37
+ end
38
+ def remove_from_lock
39
+ file = VimBundler::Lock.default_lock_file
40
+ data = {}
41
+ data = YAML.load_file(file) if File.exists?(file)
42
+ data.delete(@bundle.name.to_s)
43
+ File.open(file, 'w') { |f| f.write(data.to_yaml) }
44
+ end
45
+ included do
46
+ set_callback :install, :after, :write_to_lock
47
+ set_callback :clean, :after, :remove_from_lock
48
+ YAML::ENGINE.yamler = 'syck'
49
+ end
50
+ end
51
+ module CLI
52
+ extend ActiveSupport::Concern
53
+ private
54
+ def definition_with_lock
55
+ VimBundler::Lock.merge_lock!(definition_without_lock)
56
+ end
57
+ def prepare_name_with_lock(bundle)
58
+ suffix = bundle.installed.nil? ? " (not installed)" : ""
59
+ bundle.name + suffix
60
+ end
61
+ included do
62
+ alias_method_chain :definition, :lock
63
+ alias_method_chain :prepare_name, :lock
64
+ end
65
+ end
66
+ included do
67
+ VimBundler::Installer.send(:include, VimBundler::Lock::Installer)
68
+ VimBundler::CLI.send(:include, VimBundler::Lock::CLI)
69
+ end
70
+ end
71
+ end
@@ -6,14 +6,9 @@ module VimBundler
6
6
  module Installer
7
7
  extend ActiveSupport::Concern
8
8
  include VimBundler::Actions
9
- def vim_org_install(bundle)
10
- dir = File.join(@opts[:bundles_dir], bundle.name)
11
- if Dir.exists?(dir)
12
- VimBundler.ui.info "#{bundle.name} already installed"
13
- return
14
- end
15
- FileUtils.mkdir_p(dir)
16
- f = open("http://www.vim.org/scripts/download_script.php?src_id=#{bundle.vim_script_id}")
9
+ def vim_org_install
10
+ FileUtils.mkdir_p(@dir)
11
+ f = open("http://www.vim.org/scripts/download_script.php?src_id=#{@bundle.vim_script_id}")
17
12
  local_file = f.meta["content-disposition"].gsub(/attachment; filename=/,"")
18
13
 
19
14
  # if local_file.end_with? 'tar.gz'
@@ -23,20 +18,19 @@ module VimBundler
23
18
  # `tar xvfz #{data.path}`
24
19
  # end
25
20
  if local_file.end_with? 'vim'
26
- as = bundle.respond_to?(:as) ? bundle.as.to_s : 'plugin'
27
- FileUtils.mkdir_p(File.join(dir, as))
28
- data = open(File.join(dir, as, local_file), 'w')
21
+ as = @bundle.respond_to?(:as) ? @bundle.as.to_s : 'plugin'
22
+ FileUtils.mkdir_p(File.join(@dir, as))
23
+ data = open(File.join(@dir, as, local_file), 'w')
29
24
  data.write f.read
30
25
  data.close
31
26
  end
32
- VimBundler.ui.info "#{bundle.name} installed"
33
27
  end
34
- def vim_org_update(bundle)
35
- clean(bundle)
36
- vim_org_install(bundle)
28
+ def vim_org_update
29
+ clean
30
+ vim_org_install
37
31
  end
38
- def vim_org_clean(bundle)
39
- clean(bundle)
32
+ def vim_org_clean
33
+ clean
40
34
  end
41
35
  end
42
36
  module DSL
@@ -0,0 +1,91 @@
1
+ require 'spec_helper.rb'
2
+ describe VimBundler::Git::Installer do
3
+ context "when don't use submodule" do
4
+ before :each do
5
+ `rm -rf bundle`
6
+ `rm -rf vim_bundles.lock`
7
+ end
8
+ let :dsl do
9
+ dsl = VimBundler::DSL.new
10
+ end
11
+ let :definitions do
12
+ dsl.bundle "snipmate", :git => "git://github.com/msanders/snipmate.vim.git"
13
+ dsl.to_definition
14
+ end
15
+ context "when #install" do
16
+ before do
17
+ VimBundler::Installer.process_all definitions, :install
18
+ end
19
+ it "loads bundle from git repo" do
20
+ `git status bundle/snipmate`.should ~ /branch\smaster/
21
+ end
22
+ end
23
+ context "when #update" do
24
+ before do
25
+ VimBundler::Installer.process_all definitions, :install
26
+ VimBundler::Installer.process_all definitions, :update
27
+ end
28
+ it "updates git repo" do
29
+ pending "don't know how to check update"
30
+ end
31
+ end
32
+ context "when #clean" do
33
+ before do
34
+ VimBundler::Installer.process_all definitions, :install
35
+ VimBundler::Installer.process_all definitions, :clean
36
+ end
37
+ it "deletes bundle folder" do
38
+ File.exists?("bundle/snipmate").should_not be_true
39
+ end
40
+ end
41
+ end
42
+ context "when use submodule" do
43
+ before :each do
44
+ `rm -rf bundle`
45
+ `rm -rf vim_bundles.lock`
46
+ `rm -rf .gitmodules`
47
+ `git rm --cached bundle/snipmate`
48
+ end
49
+ let :dsl do
50
+ dsl = VimBundler::DSL.new
51
+ dsl.use_git_submodules true
52
+ dsl
53
+ end
54
+ let :definitions do
55
+ dsl.bundle "snipmate", :git => "git://github.com/msanders/snipmate.vim.git"
56
+ dsl.to_definition
57
+ end
58
+ context "when #install" do
59
+ before do
60
+ VimBundler::Installer.process_all definitions, :install
61
+ end
62
+ it "adds new submodule" do
63
+ string = File.open('.gitmodules', 'rb') { |file| file.read }
64
+ string.should ~ /snipmate/
65
+ end
66
+ end
67
+ context "when #update" do
68
+ before do
69
+ VimBundler::Installer.process_all definitions, :install
70
+ VimBundler::Installer.process_all definitions, :update
71
+ end
72
+ it "updates submodule" do
73
+ pending "don't know how to check update"
74
+ end
75
+ end
76
+ context "when #clean" do
77
+ before do
78
+ VimBundler::Installer.process_all definitions, :install
79
+ VimBundler::Installer.process_all definitions, :clean
80
+ end
81
+ it "deletes bundle folder" do
82
+ File.exists?("bundle/snipmate").should_not be_true
83
+ end
84
+ it "removes submodule" do
85
+ string = File.open('.gitmodules', 'rb') { |file| file.read }
86
+ string.should_not ~ /snipmate/
87
+ end
88
+ end
89
+
90
+ end
91
+ end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper.rb'
2
+ describe VimBundler::Local::Installer do
3
+ before :each do
4
+ `rm -rf bundle`
5
+ `rm -rf vim_bundles.lock`
6
+ end
7
+ let :dsl do
8
+ dsl = VimBundler::DSL.new
9
+ end
10
+ let :definitions do
11
+ dsl.bundle 'spec', :local => "spec"
12
+ dsl.to_definition
13
+ end
14
+ context "when #install" do
15
+ before do
16
+ VimBundler::Installer.process_all definitions, :install
17
+ end
18
+ it "creates symlink" do
19
+ `ls -al bundle/spec`.should ~ /-> spec/
20
+ end
21
+ end
22
+ context "when #update" do
23
+ before do
24
+ VimBundler::Installer.process_all definitions, :install
25
+ VimBundler::Installer.process_all definitions, :update
26
+ end
27
+ it "does nothing" do
28
+ `ls -al bundle/spec`.should ~ /-> spec/
29
+ end
30
+ end
31
+ context "when #clean" do
32
+ before do
33
+ VimBundler::Installer.process_all definitions, :install
34
+ VimBundler::Installer.process_all definitions, :clean
35
+ end
36
+ it "unlinks folder" do
37
+ `ls -al bundle/spec 2>/dev/null`.should be_empty
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,58 @@
1
+ require 'spec_helper.rb'
2
+ describe VimBundler::VimOrg::Installer do
3
+ before :each do
4
+ `rm -rf bundle`
5
+ `rm -rf vim_bundles.lock`
6
+ end
7
+ let :dsl do
8
+ dsl = VimBundler::DSL.new
9
+ end
10
+ let :definitions do
11
+ dsl.bundle 'indexed-search', :vim_script_id => 7062
12
+ dsl.to_definition
13
+ end
14
+ context "when #install" do
15
+ before do
16
+ VimBundler::Installer.process_all definitions, :install
17
+ end
18
+ it "loads bundle vim.org" do
19
+ File.exists?("bundle/indexed-search").should be_true
20
+ end
21
+ end
22
+ context "when #update" do
23
+ before do
24
+ VimBundler::Installer.process_all definitions, :install
25
+ VimBundler::Installer.process_all definitions, :update
26
+ end
27
+ it "updates bundle" do
28
+ pending "don't know how to check update"
29
+ end
30
+ end
31
+ context "when #clean" do
32
+ before do
33
+ VimBundler::Installer.process_all definitions, :install
34
+ VimBundler::Installer.process_all definitions, :clean
35
+ end
36
+ it "deletes bundle folder" do
37
+ File.exists?("bundle/indexed-search").should_not be_true
38
+ end
39
+ end
40
+ context "when use as option" do
41
+ let :dsl do
42
+ dsl = VimBundler::DSL.new
43
+ end
44
+ let :definitions do
45
+ dsl.bundle 'vrackets', :vim_script_id => 16753, :as => :plugin
46
+ dsl.to_definition
47
+ end
48
+ context "when #install" do
49
+ before do
50
+ VimBundler::Installer.process_all definitions, :install
51
+ end
52
+ it "loads bundle vim.org" do
53
+ File.exists?("bundle/vrackets/plugin").should be_true
54
+ end
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,63 @@
1
+ require 'rubygems'
2
+ require 'spork'
3
+ require 'rr'
4
+
5
+
6
+ Spork.prefork do
7
+ RUBY_HEAP_MIN_SLOTS=500000
8
+ RUBY_HEAP_SLOTS_INCREMENT=500000
9
+ RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
10
+ RUBY_GC_MALLOC_LIMIT=100000000
11
+ RUBY_HEAP_FREE_MIN=500000
12
+ # require "rails/application"
13
+ # Spork.trap_method(Rails::Application, :reload_routes!)
14
+ # require 'rails/mongoid'
15
+ # Spork.trap_class_method(Rails::Mongoid, :load_models)
16
+ ENV['RACK_ENV'] ||= "rspec"
17
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/vim-bundler")
18
+ # require File.expand_path("../../config/environment", __FILE__)
19
+ # require 'rspec/rails'
20
+
21
+ # # Requires supporting ruby files with custom matchers and macros, etc,
22
+ # # in spec/support/ and its subdirectories.
23
+ # Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
24
+
25
+ RSpec.configure do |config|
26
+ config.backtrace_clean_patterns = [
27
+ /\/lib\d*\/ruby\//,
28
+ /bin\//,
29
+ #/gems/,
30
+ /spec\/spec_helper\.rb/,
31
+ /lib\/rspec\/(core|expectations|matchers|mocks)/
32
+ ]
33
+ # == Mock Framework
34
+ #
35
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
36
+ #
37
+ # config.mock_with :mocha
38
+ # config.mock_with :flexmock
39
+ config.mock_with :rr
40
+ # config.mock_with :rspec
41
+
42
+
43
+
44
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
45
+ # config.fixture_path = "#{::Rails.root}/spec/fixtures"
46
+
47
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
48
+ # examples within a transaction, remove the following line or assign false
49
+ # instead of true.
50
+ # config.use_transactional_fixtures = true
51
+ # require 'database_cleaner'
52
+ #
53
+ end
54
+
55
+ end
56
+
57
+ Spork.each_run do
58
+ RSpec.configure do |config|
59
+ config.before(:each) do
60
+ VimBundler.ui = VimBundler::UI.new(stub!.say.subject)
61
+ end
62
+ end
63
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{vim-bundler}
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Pavel Tatarsky}]
12
- s.date = %q{2012-04-12}
12
+ s.date = %q{2012-04-25}
13
13
  s.description = %q{This gem provides a simple way to manage your vim bundles (aka plugins).
14
14
  If you are familiar with ruby gem bundler - you are familar with vim-bundler.}
15
15
  s.email = %q{fazzzenda@mail.ru}
@@ -22,6 +22,7 @@ If you are familiar with ruby gem bundler - you are familar with vim-bundler.}
22
22
  ".document",
23
23
  "Gemfile",
24
24
  "Gemfile.lock",
25
+ "GuardFile",
25
26
  "LICENSE.txt",
26
27
  "README.rdoc",
27
28
  "Rakefile",
@@ -34,10 +35,13 @@ If you are familiar with ruby gem bundler - you are familar with vim-bundler.}
34
35
  "lib/vim-bundler/git.rb",
35
36
  "lib/vim-bundler/installer.rb",
36
37
  "lib/vim-bundler/local.rb",
38
+ "lib/vim-bundler/lock.rb",
37
39
  "lib/vim-bundler/ui.rb",
38
40
  "lib/vim-bundler/vim_org.rb",
39
- "test/helper.rb",
40
- "test/test_vim-bundler.rb",
41
+ "spec/lib/vim-bundler/git_spec.rb",
42
+ "spec/lib/vim-bundler/local_spec.rb",
43
+ "spec/lib/vim-bundler/vim_org_spec.rb",
44
+ "spec/spec_helper.rb",
41
45
  "vim-bundler.gemspec"
42
46
  ]
43
47
  s.homepage = %q{http://github.com/vintikzzz/vim-bundler}
@@ -52,24 +56,24 @@ If you are familiar with ruby gem bundler - you are familar with vim-bundler.}
52
56
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
57
  s.add_runtime_dependency(%q<activesupport>, [">= 3.1.0.beta1"])
54
58
  s.add_runtime_dependency(%q<thor>, [">= 0.14.6"])
55
- s.add_development_dependency(%q<shoulda>, [">= 0"])
56
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
57
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
59
+ s.add_runtime_dependency(%q<awesome_print>, [">= 0"])
60
+ s.add_development_dependency(%q<bundler>, [">= 0"])
61
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
58
62
  s.add_development_dependency(%q<rcov>, [">= 0"])
59
63
  else
60
64
  s.add_dependency(%q<activesupport>, [">= 3.1.0.beta1"])
61
65
  s.add_dependency(%q<thor>, [">= 0.14.6"])
62
- s.add_dependency(%q<shoulda>, [">= 0"])
63
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
- s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
66
+ s.add_dependency(%q<awesome_print>, [">= 0"])
67
+ s.add_dependency(%q<bundler>, [">= 0"])
68
+ s.add_dependency(%q<jeweler>, [">= 0"])
65
69
  s.add_dependency(%q<rcov>, [">= 0"])
66
70
  end
67
71
  else
68
72
  s.add_dependency(%q<activesupport>, [">= 3.1.0.beta1"])
69
73
  s.add_dependency(%q<thor>, [">= 0.14.6"])
70
- s.add_dependency(%q<shoulda>, [">= 0"])
71
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
72
- s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
74
+ s.add_dependency(%q<awesome_print>, [">= 0"])
75
+ s.add_dependency(%q<bundler>, [">= 0"])
76
+ s.add_dependency(%q<jeweler>, [">= 0"])
73
77
  s.add_dependency(%q<rcov>, [">= 0"])
74
78
  end
75
79
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vim-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-12 00:00:00.000000000 Z
12
+ date: 2012-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70189720029180 !ruby/object:Gem::Requirement
16
+ requirement: &70228374993600 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0.beta1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70189720029180
24
+ version_requirements: *70228374993600
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &70189720028660 !ruby/object:Gem::Requirement
27
+ requirement: &70228377060360 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,43 +32,43 @@ dependencies:
32
32
  version: 0.14.6
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70189720028660
35
+ version_requirements: *70228377060360
36
36
  - !ruby/object:Gem::Dependency
37
- name: shoulda
38
- requirement: &70189720028060 !ruby/object:Gem::Requirement
37
+ name: awesome_print
38
+ requirement: &70228377059600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
- type: :development
44
+ type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70189720028060
46
+ version_requirements: *70228377059600
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70189720027460 !ruby/object:Gem::Requirement
49
+ requirement: &70228377058920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ~>
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.0
54
+ version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70189720027460
57
+ version_requirements: *70228377058920
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70189720026940 !ruby/object:Gem::Requirement
60
+ requirement: &70228377058160 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
- - - ~>
63
+ - - ! '>='
64
64
  - !ruby/object:Gem::Version
65
- version: 1.6.0
65
+ version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70189720026940
68
+ version_requirements: *70228377058160
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &70189720026320 !ruby/object:Gem::Requirement
71
+ requirement: &70228377057480 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70189720026320
79
+ version_requirements: *70228377057480
80
80
  description: ! 'This gem provides a simple way to manage your vim bundles (aka plugins).
81
81
 
82
82
  If you are familiar with ruby gem bundler - you are familar with vim-bundler.'
@@ -91,6 +91,7 @@ files:
91
91
  - .document
92
92
  - Gemfile
93
93
  - Gemfile.lock
94
+ - GuardFile
94
95
  - LICENSE.txt
95
96
  - README.rdoc
96
97
  - Rakefile
@@ -103,10 +104,13 @@ files:
103
104
  - lib/vim-bundler/git.rb
104
105
  - lib/vim-bundler/installer.rb
105
106
  - lib/vim-bundler/local.rb
107
+ - lib/vim-bundler/lock.rb
106
108
  - lib/vim-bundler/ui.rb
107
109
  - lib/vim-bundler/vim_org.rb
108
- - test/helper.rb
109
- - test/test_vim-bundler.rb
110
+ - spec/lib/vim-bundler/git_spec.rb
111
+ - spec/lib/vim-bundler/local_spec.rb
112
+ - spec/lib/vim-bundler/vim_org_spec.rb
113
+ - spec/spec_helper.rb
110
114
  - vim-bundler.gemspec
111
115
  homepage: http://github.com/vintikzzz/vim-bundler
112
116
  licenses:
@@ -123,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
127
  version: '0'
124
128
  segments:
125
129
  - 0
126
- hash: -1478265139794191694
130
+ hash: -2008285335090375143
127
131
  required_rubygems_version: !ruby/object:Gem::Requirement
128
132
  none: false
129
133
  requirements:
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'vim-bundler'
16
-
17
- class Test::Unit::TestCase
18
- end
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestVimBundler < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end