vimpack 0.0.1 → 0.0.1.1

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/.bundle/config ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ DISSABLE_SHARED_GEMS: '1'
3
+ BUNDLE_PATH: .bundle/bundle
4
+ BUNDLE_DISABLE_SHARED_GEMS: '1'
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
- .bundle
1
+ .bundle/bundle
2
2
  *.swp
3
3
  tmp/*
4
4
  coverage/*
5
5
  Gemfile.lock
6
6
  cassette_library/*.yml
7
+ pkg/*
data/.rbenv-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.2-p290
@@ -48,3 +48,14 @@ Feature: Install a vim script
48
48
  """
49
49
  And the exit status should be 1
50
50
 
51
+ Scenario: Install a script from a github repo directly
52
+ Given an initialized vimpack in "test_vimpack"
53
+ When I run `vimpack -e development install https://github.com/tpope/vim-rails.git`
54
+ Then the output should contain:
55
+ """
56
+ * installing vim-rails
57
+ vim-rails (38b54e3a192197b0d4383e3783ff93e0de2b3d41) installed!
58
+ """
59
+ And a directory named "test_vimpack/.vimpack/scripts/github/tpope/vim-rails" should exist and be a git submodule of "test_vimpack/.vimpack"
60
+ And a symlink named "test_vimpack/.vimpack/vim/bundle/vim-rails" should exist and link to "test_vimpack/.vimpack/scripts/github/tpope/vim-rails"
61
+ And the exit status should be 0
@@ -13,9 +13,11 @@ module Vimpack
13
13
  attr_reader :name, :type, :version, :version_date, :author, :author_email
14
14
  # From Github
15
15
  attr_reader :url, :description
16
+ # From awesomeness
17
+ attr_reader :repo_owner
16
18
 
17
19
  SCRIPT_TYPES = [ 'utility', 'color scheme', 'syntax', 'ftplugin',
18
- 'indent', 'game', 'plugin', 'patch' ]
20
+ 'indent', 'game', 'plugin', 'patch', 'github' ]
19
21
 
20
22
  def initialize(attrs={})
21
23
  set_attributes_from_input(attrs)
@@ -29,8 +31,8 @@ module Vimpack
29
31
  end
30
32
 
31
33
  def set_attributes_from_github
32
- url = "vim-scripts/#{name}"
33
- @repo = self.class.repo("vim-scripts/#{name}")
34
+ url = "#{repo_owner}/#{name}"
35
+ @repo = self.class.repo(url)
34
36
  [ :url, :description ].each { |attr| instance_variable_set("@#{attr}".to_sym, @repo[attr]) }
35
37
  set_version_from_github
36
38
  end
@@ -43,7 +45,11 @@ module Vimpack
43
45
 
44
46
  def set_version_from_github
45
47
  last_commit = commits.last
46
- @version = last_commit.message[0..10].gsub(/Version /, '')
48
+ if type == 'github'
49
+ @version = last_commit.id
50
+ else
51
+ @version = last_commit.message[0..10].gsub(/Version /, '')
52
+ end
47
53
  @version_date = last_commit.authored_date
48
54
  end
49
55
 
@@ -54,9 +60,23 @@ module Vimpack
54
60
  end
55
61
 
56
62
  def self.get(name)
57
- vimscript = get_vimscript(name)
58
- raise ScriptNotFound.new(name) if vimscript.nil?
59
- Script.new(vimscript)
63
+ # If the name has a slash in it, then it's URLy and it's a straight github repo
64
+ _type = (name =~ /\//) ? :github : :vimscript
65
+ case _type
66
+ when :github
67
+ repo_key = name.split("/")[-2..-1].join("/").split(".").first # wut demeter?
68
+ repo = repository(repo_key)
69
+ script_hash =
70
+ { :name => repo.name, :type => 'github',
71
+ :description => repo.description, :script_version => '',
72
+ :author => repo.owner, :author_email => '',
73
+ :repo_owner => repo.owner
74
+ }
75
+ when :vimscript
76
+ script_hash = get_vimscript(name)
77
+ raise ScriptNotFound.new(name) if script_hash.nil?
78
+ end
79
+ Script.new(script_hash)
60
80
  end
61
81
 
62
82
  def self.info(name)
@@ -66,7 +86,12 @@ module Vimpack
66
86
  def install!(link_to_bundle=true)
67
87
  Repo.raise_unless_initialized!
68
88
  raise AlreadyInstalled.new(name) if installed?
69
- Repo.add_submodule(url, type.gsub(' ', '_'), name)
89
+ case type
90
+ when 'github'
91
+ Repo.add_submodule(url, type.gsub(' ', '_'), repo_owner, name)
92
+ else
93
+ Repo.add_submodule(url, type.gsub(' ', '_'), name)
94
+ end
70
95
  if link_to_bundle
71
96
  Repo.create_link(install_path, bundle_path)
72
97
  end
@@ -90,7 +115,12 @@ module Vimpack
90
115
  end
91
116
 
92
117
  def install_path
93
- Repo.script_path.join(type.gsub(' ', '_'), name)
118
+ case type
119
+ when 'github'
120
+ Repo.script_path.join(type.gsub(' ', '_'), repo_owner, name)
121
+ else
122
+ Repo.script_path.join(type.gsub(' ', '_'), name)
123
+ end
94
124
  end
95
125
 
96
126
  def bundle_path
@@ -20,7 +20,7 @@ module Vimpack
20
20
  Results.new(child)
21
21
  end
22
22
 
23
- def wait_for_child(child, timeout=30)
23
+ def wait_for_child(child, timeout=240)
24
24
  child.process.poll_for_exit(timeout.to_f)
25
25
  child.process.stop unless child.process.exited?
26
26
  child.process.io.stdout.close
@@ -54,7 +54,8 @@ module Vimpack
54
54
  def normalize_vimscript(script)
55
55
  { :name => script['n'], :type => script['t'],
56
56
  :description => script['s'], :script_version => script['rv'],
57
- :author => script['ra'], :author_email => script['re']
57
+ :author => script['ra'], :author_email => script['re'],
58
+ :repo_owner => 'vim-scripts'
58
59
  }
59
60
  end
60
61
 
@@ -1,4 +1,4 @@
1
1
  module Vimpack
2
2
  # FIXME: shouldn't have to have this unless statement
3
- VERSION = "0.0.1" unless const_defined?('VERSION')
3
+ VERSION = "0.0.1.1" unless const_defined?('VERSION')
4
4
  end
metadata CHANGED
@@ -1,228 +1,226 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vimpack
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.1
4
5
  prerelease:
5
- version: 0.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Bram Swenson
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-20 00:00:00 -07:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-22 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: bundler
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &17939000 !ruby/object:Gem::Requirement
20
17
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
24
21
  version: 1.0.13
25
22
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: trollop
29
23
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *17939000
25
+ - !ruby/object:Gem::Dependency
26
+ name: trollop
27
+ requirement: &17937320 !ruby/object:Gem::Requirement
31
28
  none: false
32
- requirements:
29
+ requirements:
33
30
  - - ~>
34
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
35
32
  version: 1.16.2
36
33
  type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: rainbow
40
34
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *17937320
36
+ - !ruby/object:Gem::Dependency
37
+ name: rainbow
38
+ requirement: &17933900 !ruby/object:Gem::Requirement
42
39
  none: false
43
- requirements:
40
+ requirements:
44
41
  - - ~>
45
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
46
43
  version: 1.1.1
47
44
  type: :runtime
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: childprocess
51
45
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *17933900
47
+ - !ruby/object:Gem::Dependency
48
+ name: childprocess
49
+ requirement: &17932080 !ruby/object:Gem::Requirement
53
50
  none: false
54
- requirements:
51
+ requirements:
55
52
  - - ~>
56
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
57
54
  version: 0.1.8
58
55
  type: :runtime
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: activemodel
62
56
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *17932080
58
+ - !ruby/object:Gem::Dependency
59
+ name: activemodel
60
+ requirement: &17930820 !ruby/object:Gem::Requirement
64
61
  none: false
65
- requirements:
62
+ requirements:
66
63
  - - ~>
67
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
68
65
  version: 3.0.4
69
66
  type: :runtime
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: yajl-ruby
73
67
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *17930820
69
+ - !ruby/object:Gem::Dependency
70
+ name: yajl-ruby
71
+ requirement: &17929780 !ruby/object:Gem::Requirement
75
72
  none: false
76
- requirements:
73
+ requirements:
77
74
  - - ~>
78
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
79
76
  version: 0.8.1
80
77
  type: :runtime
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: enviro
84
78
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *17929780
80
+ - !ruby/object:Gem::Dependency
81
+ name: enviro
82
+ requirement: &17928920 !ruby/object:Gem::Requirement
86
83
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
90
87
  version: 0.0.4
91
88
  type: :runtime
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: nokogiri
95
89
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *17928920
91
+ - !ruby/object:Gem::Dependency
92
+ name: nokogiri
93
+ requirement: &17927920 !ruby/object:Gem::Requirement
97
94
  none: false
98
- requirements:
95
+ requirements:
99
96
  - - ~>
100
- - !ruby/object:Gem::Version
97
+ - !ruby/object:Gem::Version
101
98
  version: 1.4.4
102
99
  type: :runtime
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: octokit
106
100
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *17927920
102
+ - !ruby/object:Gem::Dependency
103
+ name: octokit
104
+ requirement: &17927060 !ruby/object:Gem::Requirement
108
105
  none: false
109
- requirements:
106
+ requirements:
110
107
  - - ~>
111
- - !ruby/object:Gem::Version
108
+ - !ruby/object:Gem::Version
112
109
  version: 0.6.3
113
110
  type: :runtime
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
116
- name: vcr
117
111
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *17927060
113
+ - !ruby/object:Gem::Dependency
114
+ name: vcr
115
+ requirement: &17926500 !ruby/object:Gem::Requirement
119
116
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
124
121
  type: :development
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
127
- name: webmock
128
122
  prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
123
+ version_requirements: *17926500
124
+ - !ruby/object:Gem::Dependency
125
+ name: webmock
126
+ requirement: &17923380 !ruby/object:Gem::Requirement
130
127
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
135
132
  type: :development
136
- version_requirements: *id011
137
- - !ruby/object:Gem::Dependency
138
- name: cucumber
139
133
  prerelease: false
140
- requirement: &id012 !ruby/object:Gem::Requirement
134
+ version_requirements: *17923380
135
+ - !ruby/object:Gem::Dependency
136
+ name: cucumber
137
+ requirement: &17922100 !ruby/object:Gem::Requirement
141
138
  none: false
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: "0"
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
146
143
  type: :development
147
- version_requirements: *id012
148
- - !ruby/object:Gem::Dependency
149
- name: rspec
150
144
  prerelease: false
151
- requirement: &id013 !ruby/object:Gem::Requirement
145
+ version_requirements: *17922100
146
+ - !ruby/object:Gem::Dependency
147
+ name: rspec
148
+ requirement: &17921460 !ruby/object:Gem::Requirement
152
149
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: "0"
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
157
154
  type: :development
158
- version_requirements: *id013
159
- - !ruby/object:Gem::Dependency
160
- name: aruba
161
155
  prerelease: false
162
- requirement: &id014 !ruby/object:Gem::Requirement
156
+ version_requirements: *17921460
157
+ - !ruby/object:Gem::Dependency
158
+ name: aruba
159
+ requirement: &17920380 !ruby/object:Gem::Requirement
163
160
  none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: "0"
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
168
165
  type: :development
169
- version_requirements: *id014
170
- - !ruby/object:Gem::Dependency
171
- name: autotest-standalone
172
166
  prerelease: false
173
- requirement: &id015 !ruby/object:Gem::Requirement
167
+ version_requirements: *17920380
168
+ - !ruby/object:Gem::Dependency
169
+ name: autotest-standalone
170
+ requirement: &17919100 !ruby/object:Gem::Requirement
174
171
  none: false
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: "0"
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
179
176
  type: :development
180
- version_requirements: *id015
181
- - !ruby/object:Gem::Dependency
182
- name: autotest-growl
183
177
  prerelease: false
184
- requirement: &id016 !ruby/object:Gem::Requirement
178
+ version_requirements: *17919100
179
+ - !ruby/object:Gem::Dependency
180
+ name: autotest-growl
181
+ requirement: &17917620 !ruby/object:Gem::Requirement
185
182
  none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- version: "0"
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
190
187
  type: :development
191
- version_requirements: *id016
192
- - !ruby/object:Gem::Dependency
193
- name: simplecov
194
188
  prerelease: false
195
- requirement: &id017 !ruby/object:Gem::Requirement
189
+ version_requirements: *17917620
190
+ - !ruby/object:Gem::Dependency
191
+ name: simplecov
192
+ requirement: &17916680 !ruby/object:Gem::Requirement
196
193
  none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: "0"
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
201
198
  type: :development
202
- version_requirements: *id017
203
- - !ruby/object:Gem::Dependency
204
- name: ruby-debug19
205
199
  prerelease: false
206
- requirement: &id018 !ruby/object:Gem::Requirement
200
+ version_requirements: *17916680
201
+ - !ruby/object:Gem::Dependency
202
+ name: ruby-debug19
203
+ requirement: &17912620 !ruby/object:Gem::Requirement
207
204
  none: false
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- version: "0"
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
212
209
  type: :development
213
- version_requirements: *id018
214
- description: " Vim Script Package Manager based on pathogen.vim by Tim Pope "
215
- email:
210
+ prerelease: false
211
+ version_requirements: *17912620
212
+ description: ! ' Vim Script Package Manager based on pathogen.vim by Tim Pope '
213
+ email:
216
214
  - bram@craniumisajar.com
217
- executables:
215
+ executables:
218
216
  - vimpack
219
217
  extensions: []
220
-
221
218
  extra_rdoc_files: []
222
-
223
- files:
219
+ files:
224
220
  - .autotest
221
+ - .bundle/config
225
222
  - .gitignore
223
+ - .rbenv-version
226
224
  - .rspec
227
225
  - .rvmrc
228
226
  - Gemfile
@@ -282,52 +280,34 @@ files:
282
280
  - tasks/rspec.rake
283
281
  - templates/vimrc.erb
284
282
  - vimpack.gemspec
285
- has_rdoc: true
286
- homepage: ""
283
+ homepage: ''
287
284
  licenses: []
288
-
289
285
  post_install_message:
290
286
  rdoc_options: []
291
-
292
- require_paths:
287
+ require_paths:
293
288
  - lib
294
- required_ruby_version: !ruby/object:Gem::Requirement
289
+ required_ruby_version: !ruby/object:Gem::Requirement
295
290
  none: false
296
- requirements:
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- version: "0"
300
- required_rubygems_version: !ruby/object:Gem::Requirement
291
+ requirements:
292
+ - - ! '>='
293
+ - !ruby/object:Gem::Version
294
+ version: '0'
295
+ segments:
296
+ - 0
297
+ hash: 2910229080418397065
298
+ required_rubygems_version: !ruby/object:Gem::Requirement
301
299
  none: false
302
- requirements:
303
- - - ">="
304
- - !ruby/object:Gem::Version
305
- version: "0"
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ segments:
305
+ - 0
306
+ hash: 2910229080418397065
306
307
  requirements: []
307
-
308
308
  rubyforge_project: vimpack
309
- rubygems_version: 1.6.1
309
+ rubygems_version: 1.8.10
310
310
  signing_key:
311
311
  specification_version: 3
312
312
  summary: Vim Script Package Manager
313
- test_files:
314
- - features/commands/environments.feature
315
- - features/commands/git.feature
316
- - features/commands/info.feature
317
- - features/commands/init.feature
318
- - features/commands/install.feature
319
- - features/commands/list.feature
320
- - features/commands/search.feature
321
- - features/commands/uninstall.feature
322
- - features/step_definitions/environment_steps.rb
323
- - features/step_definitions/file_utils_steps.rb
324
- - features/step_definitions/initialize_steps.rb
325
- - features/step_definitions/output_steps.rb
326
- - features/step_definitions/vimpack_git_steps.rb
327
- - features/support/env.rb
328
- - features/support/executable_paths.rb
329
- - spec/spec_helper.rb
330
- - spec/vimpack/models/repo_spec.rb
331
- - spec/vimpack/models/script_spec.rb
332
- - spec/vimpack/utils/github_spec.rb
333
- - spec/vimpack/utils/vimscripts_spec.rb
313
+ test_files: []