mortar 0.7.7 → 0.7.8

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/lib/mortar/git.rb CHANGED
@@ -119,7 +119,7 @@ module Mortar
119
119
  #
120
120
 
121
121
  def mortar_snapshot_pathlist()
122
- ensure_mortar_project_manifest_exists()
122
+ ensure_valid_mortar_project_manifest()
123
123
 
124
124
  snapshot_pathlist = File.read('.mortar-project-manifest').split("\n")
125
125
  snapshot_pathlist << ".git"
@@ -136,8 +136,24 @@ module Mortar
136
136
  #
137
137
  # Create a snapshot whitelist file if it doesn't already exist
138
138
  #
139
- def ensure_mortar_project_manifest_exists()
140
- unless File.exists? '.mortar-project-manifest'
139
+ def ensure_valid_mortar_project_manifest()
140
+ if File.exists? '.mortar-project-manifest'
141
+ File.open('.mortar-project-manifest', 'r+') do |manifest|
142
+ contents = manifest.read()
143
+ manifest.seek(0, IO::SEEK_END)
144
+
145
+ # `contents` in ruby 1.8.7 is array with entries of the
146
+ # type Fixnum which isn't semantically comparable with
147
+ # the \n char, but the ascii code 10 is
148
+ unless (contents[-1] == "\n" or contents[-1] == 10)
149
+ manifest.puts "" # ensure file ends with a newline
150
+ end
151
+
152
+ if File.directory?('controlscripts') and not contents.include?('controlscripts')
153
+ manifest.puts "controlscripts"
154
+ end
155
+ end
156
+ else
141
157
  create_mortar_project_manifest('.')
142
158
  end
143
159
  end
@@ -16,5 +16,5 @@
16
16
 
17
17
  module Mortar
18
18
  # see http://semver.org/
19
- VERSION = "0.7.7"
19
+ VERSION = "0.7.8"
20
20
  end
data/spec/spec_helper.rb CHANGED
@@ -33,6 +33,7 @@ require "mortar/cli"
33
33
  require "mortar/git"
34
34
  require "rspec"
35
35
  require "rr"
36
+ require "fakefs/dir"
36
37
  require "fakefs/safe"
37
38
  require 'tmpdir'
38
39
 
@@ -297,6 +298,17 @@ end
297
298
 
298
299
  require "support/display_message_matcher"
299
300
 
301
+ # Dir.exists? wasn't added until ruby 1.9.x, but FakeFS includes this
302
+ # method regardless of ruby version. Monkey patching it away for now to
303
+ # prevent false positive test passes.
304
+ if RUBY_VERSION == "1.8.7"
305
+ module FakeFS
306
+ class <<Dir
307
+ remove_method :exists?
308
+ end
309
+ end
310
+ end
311
+
300
312
  RSpec.configure do |config|
301
313
  config.mock_with :rr
302
314
  config.color_enabled = true
metadata CHANGED
@@ -1,164 +1,167 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mortar
3
- version: !ruby/object:Gem::Version
4
- hash: 13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.8
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 7
9
- - 7
10
- version: 0.7.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Mortar Data
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-04-23 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-05-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: mortar-api-ruby
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 1
29
- segments:
30
- - 0
31
- - 6
32
- - 3
20
+ - !ruby/object:Gem::Version
33
21
  version: 0.6.3
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: netrc
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
40
25
  none: false
41
- requirements:
26
+ requirements:
42
27
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 5
45
- segments:
46
- - 0
47
- - 7
48
- version: "0.7"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.6.3
30
+ - !ruby/object:Gem::Dependency
31
+ name: netrc
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.7'
49
38
  type: :runtime
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: launchy
53
39
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
55
41
  none: false
56
- requirements:
42
+ requirements:
57
43
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 1
60
- segments:
61
- - 2
62
- - 1
63
- version: "2.1"
44
+ - !ruby/object:Gem::Version
45
+ version: '0.7'
46
+ - !ruby/object:Gem::Dependency
47
+ name: launchy
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.1'
64
54
  type: :runtime
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: excon
68
55
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.1'
62
+ - !ruby/object:Gem::Dependency
63
+ name: excon
64
+ requirement: !ruby/object:Gem::Requirement
70
65
  none: false
71
- requirements:
66
+ requirements:
72
67
  - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 21
75
- segments:
76
- - 0
77
- - 15
78
- version: "0.15"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.15'
79
70
  type: :development
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: fakefs
83
71
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '0.15'
78
+ - !ruby/object:Gem::Dependency
79
+ name: fakefs
80
+ requirement: !ruby/object:Gem::Requirement
85
81
  none: false
86
- requirements:
82
+ requirements:
87
83
  - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 11
90
- segments:
91
- - 0
92
- - 4
93
- - 2
84
+ - !ruby/object:Gem::Version
94
85
  version: 0.4.2
95
86
  type: :development
96
- version_requirements: *id005
97
- - !ruby/object:Gem::Dependency
98
- name: gem-release
99
87
  prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
101
89
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.4.2
94
+ - !ruby/object:Gem::Dependency
95
+ name: gem-release
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
109
102
  type: :development
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: rake
113
103
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rake
112
+ requirement: !ruby/object:Gem::Requirement
115
113
  none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
123
118
  type: :development
124
- version_requirements: *id007
125
- - !ruby/object:Gem::Dependency
126
- name: rr
127
119
  prerelease: false
128
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rr
128
+ requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 3
134
- segments:
135
- - 0
136
- version: "0"
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
137
134
  type: :development
138
- version_requirements: *id008
139
- - !ruby/object:Gem::Dependency
140
- name: rspec
141
135
  prerelease: false
142
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
143
137
  none: false
144
- requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- hash: 3
148
- segments:
149
- - 0
150
- version: "0"
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: rspec
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
151
150
  type: :development
152
- version_requirements: *id009
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
153
158
  description: Client library and command-line tool to interact with the Mortar service.
154
159
  email: support@mortardata.com
155
- executables:
160
+ executables:
156
161
  - mortar
157
162
  extensions: []
158
-
159
163
  extra_rdoc_files: []
160
-
161
- files:
164
+ files:
162
165
  - README.md
163
166
  - bin/mortar
164
167
  - css/illustrate.css
@@ -249,38 +252,26 @@ files:
249
252
  - spec/support/display_message_matcher.rb
250
253
  homepage: http://mortardata.com/
251
254
  licenses: []
252
-
253
255
  post_install_message:
254
256
  rdoc_options: []
255
-
256
- require_paths:
257
+ require_paths:
257
258
  - lib
258
- required_ruby_version: !ruby/object:Gem::Requirement
259
+ required_ruby_version: !ruby/object:Gem::Requirement
259
260
  none: false
260
- requirements:
261
- - - ">="
262
- - !ruby/object:Gem::Version
263
- hash: 57
264
- segments:
265
- - 1
266
- - 8
267
- - 7
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
268
264
  version: 1.8.7
269
- required_rubygems_version: !ruby/object:Gem::Requirement
265
+ required_rubygems_version: !ruby/object:Gem::Requirement
270
266
  none: false
271
- requirements:
272
- - - ">="
273
- - !ruby/object:Gem::Version
274
- hash: 3
275
- segments:
276
- - 0
277
- version: "0"
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
278
271
  requirements: []
279
-
280
272
  rubyforge_project:
281
- rubygems_version: 1.8.24
273
+ rubygems_version: 1.8.23
282
274
  signing_key:
283
275
  specification_version: 3
284
276
  summary: Client library and CLI to interact with the Mortar service.
285
277
  test_files: []
286
-