dandelion 0.4.9 → 0.4.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8b48742a49e8ef3d40974070b049932ee2dc8c5
4
- data.tar.gz: 8a974424baa966a9629eaf84930d8343d032717a
3
+ metadata.gz: d80fc2861138ce9058efaf8ab53e71b854314b4b
4
+ data.tar.gz: a32ec46d1ad6f00daf7f078b3002e4f28513ae46
5
5
  SHA512:
6
- metadata.gz: ba4f6eed19ba61a5dc56a9f3faa07b75ac9c5371870efbfb89199184eda4be17535e047aeb0c8d6c4a191cd41ab3673d6cf7ce08a6f4e85d9a7b1b13535f728e
7
- data.tar.gz: b801aa985142bfd07214bad9db56835f6590c0ac91d814fa1811cd927e5acec5bb22a45428d0769e1a32b8b500c7c88ae307a00af1fbe6018eddb862f7e3d873
6
+ metadata.gz: 6282aff815d0c4017adb1c8e17c1b1f292b501e8a333efdff233e353c3725cb2277d9a0b64039e92688b205e9f03e480b943ae1362c92e6750b8c6a3b4b260c7
7
+ data.tar.gz: a323d6165bfedb74f9f3f46be3decc42df8518b847c2af322bff2ae383fcfc61fea89279dfa3806f1feba41f18ff3fa6463351f54b76e3f9b44d7d0a61b7f5fa
@@ -1,7 +1,7 @@
1
1
  module Dandelion
2
2
  class Changeset
3
3
  include Enumerable
4
-
4
+
5
5
  def initialize(tree, commit, options = {})
6
6
  @tree = tree
7
7
  @commit = commit
@@ -33,18 +33,22 @@ module Dandelion
33
33
 
34
34
  private
35
35
 
36
+ def expand_path(path)
37
+ File.expand_path(path).to_s
38
+ end
39
+
36
40
  def local_path
37
- @options[:local_path] || ''
41
+ expand_path(@options[:local_path] || '')
38
42
  end
39
43
 
40
44
  def applicable?(path)
41
- path.start_with?(local_path)
45
+ expand_path(path).start_with?(expand_path(local_path))
42
46
  end
43
47
 
44
48
  def transform_path(path)
45
- trimmed = path[local_path.length..-1]
49
+ trimmed = expand_path(path)[expand_path(local_path).length..-1]
46
50
  trimmed = trimmed[1..-1] if trimmed[0] == File::SEPARATOR
47
51
  trimmed
48
52
  end
49
53
  end
50
- end
54
+ end
@@ -46,19 +46,19 @@ module Dandelion
46
46
  end
47
47
 
48
48
  def execute!
49
- parse!(@parser)
50
-
51
49
  if @args.length == 0
52
50
  @options[:help] = true
53
51
  end
52
+
53
+ parse!(@parser)
54
54
 
55
- if @options[:help]
56
- display_help
55
+ if @options[:version]
56
+ log.info("Dandelion #{Dandelion::VERSION}")
57
57
  exit
58
58
  end
59
59
 
60
- if @options[:version]
61
- log.info("Dandelion #{Dandelion::VERSION}")
60
+ if @options[:help]
61
+ display_help
62
62
  exit
63
63
  end
64
64
 
@@ -1,3 +1,3 @@
1
1
  module Dandelion
2
- VERSION = '0.4.9'
2
+ VERSION = '0.4.10'
3
3
  end
@@ -27,7 +27,7 @@ describe Dandelion::Changeset do
27
27
  end
28
28
 
29
29
  context 'non-empty local path' do
30
- let(:changeset) { test_changeset(local_path: 'baz') }
30
+ let(:changeset) { test_changeset(local_path: './baz') }
31
31
 
32
32
  describe '#enumerable' do
33
33
  let(:changes) { changeset.to_a }
@@ -53,7 +53,7 @@ describe Dandelion::Changeset do
53
53
 
54
54
  context 'empty diff' do
55
55
  let(:changeset) { test_changeset }
56
- before(:each) { changeset.stub(:diff).and_return([]) }
56
+ before(:each) { allow(changeset).to receive(:diff) { [] } }
57
57
 
58
58
  describe '#enumerable' do
59
59
  let(:changes) { changeset.to_a }
@@ -70,4 +70,4 @@ describe Dandelion::Changeset do
70
70
  end
71
71
  end
72
72
  end
73
- end
73
+ end
@@ -22,7 +22,7 @@ describe Dandelion::Command::Deploy do
22
22
  describe '#deployer_adapter' do
23
23
  it 'returns workspace adapter' do
24
24
  adapter = double('adapter')
25
- workspace.should_receive(:adapter).and_return(adapter)
25
+ expect(workspace).to receive(:adapter).and_return(adapter)
26
26
  expect(command.deployer_adapter).to eq adapter
27
27
  end
28
28
 
@@ -31,18 +31,18 @@ describe Dandelion::Command::Deploy do
31
31
 
32
32
  it 'uses no-op adapter' do
33
33
  noop = double('no-op adapter')
34
- Dandelion::Adapter::NoOpAdapter.should_receive(:new).with(command.config).and_return(noop)
34
+ expect(Dandelion::Adapter::NoOpAdapter).to receive(:new).with(command.config).and_return(noop)
35
35
  expect(command.deployer_adapter).to eq noop
36
36
  end
37
37
  end
38
38
  end
39
39
 
40
40
  describe '#deployer' do
41
- before(:each) { command.stub(:adapter).and_return(double('adapter')) }
41
+ before(:each) { allow(command).to receive(:adapter).and_return(double('adapter')) }
42
42
 
43
43
  it 'creates deployer for adapter, and config' do
44
44
  deployer = double('deployer')
45
- Dandelion::Deployer.should_receive(:new).with(command.deployer_adapter, command.config).and_return(deployer)
45
+ expect(Dandelion::Deployer).to receive(:new).with(command.deployer_adapter, command.config).and_return(deployer)
46
46
  expect(command.deployer).to eq deployer
47
47
  end
48
48
  end
@@ -63,49 +63,49 @@ describe Dandelion::Command::Deploy do
63
63
  let(:changeset) { double('changeset') }
64
64
 
65
65
  before(:each) do
66
- workspace.stub(:changeset).and_return(changeset)
67
- command.stub(:deployer).and_return(deployer)
66
+ allow(workspace).to receive(:changeset) { changeset }
67
+ allow(command).to receive(:deployer) { deployer }
68
68
  end
69
69
 
70
70
  context 'empty changeset' do
71
- before(:each) { changeset.stub(:empty?).and_return(true) }
71
+ before(:each) { allow(changeset).to receive(:empty?) { true } }
72
72
 
73
73
  it 'does nothing' do
74
- deployer.should_not_receive(:deploy!)
74
+ expect(deployer).to_not receive(:deploy!)
75
75
  end
76
76
  end
77
77
 
78
78
  context 'non-empty changeset' do
79
79
  before(:each) do
80
- deployer.stub(:deploy_changeset!)
81
- changeset.stub(:empty?).and_return(false)
80
+ allow(deployer).to receive(:deploy_changeset!)
81
+ allow(changeset).to receive(:empty?) { false }
82
82
  end
83
83
 
84
84
  it 'deploys changeset' do
85
- deployer.should_receive(:deploy_changeset!).with(changeset)
85
+ expect(deployer).to receive(:deploy_changeset!).with(changeset)
86
86
  command.execute!
87
87
  end
88
88
 
89
89
  it 'sets remote revision to local revision' do
90
- workspace.should_receive(:remote_commit=).with(workspace.local_commit)
90
+ expect(workspace).to receive(:remote_commit=).with(workspace.local_commit)
91
91
  command.execute!
92
92
  end
93
93
  end
94
94
 
95
95
  context 'non-empty additional files' do
96
96
  before(:each) do
97
- changeset.stub(:empty?).and_return(true)
97
+ allow(changeset).to receive(:empty?) { true }
98
98
  end
99
99
 
100
100
  before(:each) do
101
- deployer.stub(:deploy_files!)
101
+ allow(deployer).to receive(:deploy_files!)
102
102
  config[:additional] = ['foo']
103
103
  end
104
104
 
105
105
  it 'deploys files' do
106
- deployer.should_receive(:deploy_files!).with(['foo'])
106
+ expect(deployer).to receive(:deploy_files!).with(['foo'])
107
107
  command.execute!
108
108
  end
109
109
  end
110
110
  end
111
- end
111
+ end
@@ -11,7 +11,7 @@ describe Dandelion::Command::Init do
11
11
  before { command.setup([revision]) }
12
12
 
13
13
  it 'sets remote revision to specified revision' do
14
- workspace.should_receive(:remote_commit=).with(workspace.lookup(revision))
14
+ expect(workspace).to receive(:remote_commit=).with(workspace.lookup(revision))
15
15
  command.execute!
16
16
  end
17
17
  end
@@ -10,7 +10,7 @@ describe Dandelion::Config do
10
10
 
11
11
  before(:each) do
12
12
  ENV['BAZ'] = 'qux'
13
- IO.should_receive(:read).with('foo').and_return(yaml)
13
+ expect(IO).to receive(:read).with('foo').and_return(yaml)
14
14
  end
15
15
 
16
16
  let(:config) { Dandelion::Config.new(path: 'foo') }
@@ -22,4 +22,4 @@ describe Dandelion::Config do
22
22
  it 'parses ERB' do
23
23
  expect(config[:baz]).to eq 'qux'
24
24
  end
25
- end
25
+ end
@@ -12,9 +12,9 @@ describe Dandelion::Deployer do
12
12
  ]}
13
13
 
14
14
  it 'perfoms writes and deletions on adapter' do
15
- adapter.should_receive(:write).with('foo', 'bar')
16
- adapter.should_receive(:write).with('bar/baz', 'baz')
17
- adapter.should_receive(:delete).with('qux')
15
+ expect(adapter).to receive(:write).with('foo', 'bar')
16
+ expect(adapter).to receive(:write).with('bar/baz', 'baz')
17
+ expect(adapter).to receive(:delete).with('qux')
18
18
 
19
19
  deployer.deploy_changeset!(changeset)
20
20
  end
@@ -23,8 +23,8 @@ describe Dandelion::Deployer do
23
23
  let(:deployer) { Dandelion::Deployer.new(adapter, exclude: ['foo']) }
24
24
 
25
25
  it 'perfoms writes and deletions on adapter' do
26
- adapter.should_receive(:write).with('bar/baz', 'baz')
27
- adapter.should_receive(:delete).with('qux')
26
+ expect(adapter).to receive(:write).with('bar/baz', 'baz')
27
+ expect(adapter).to receive(:delete).with('qux')
28
28
 
29
29
  deployer.deploy_changeset!(changeset)
30
30
  end
@@ -33,18 +33,18 @@ describe Dandelion::Deployer do
33
33
 
34
34
  describe '#deploy_files!' do
35
35
  before(:each) do
36
- IO.stub(:binread).with('a.txt').and_return('A')
37
- IO.stub(:binread).with('b.txt').and_return('B')
38
- IO.stub(:binread).with('c/a.txt').and_return('cA')
39
- IO.stub(:binread).with('c/b.txt').and_return('cB')
36
+ allow(IO).to receive(:binread).with('a.txt').and_return('A')
37
+ allow(IO).to receive(:binread).with('b.txt').and_return('B')
38
+ allow(IO).to receive(:binread).with('c/a.txt').and_return('cA')
39
+ allow(IO).to receive(:binread).with('c/b.txt').and_return('cB')
40
40
  end
41
41
 
42
42
  context 'local paths' do
43
43
  let(:files) { ['a.txt', 'b.txt'] }
44
44
 
45
45
  it 'performs writes on adapter' do
46
- adapter.should_receive(:write).with('a.txt', 'A')
47
- adapter.should_receive(:write).with('b.txt', 'B')
46
+ expect(adapter).to receive(:write).with('a.txt', 'A')
47
+ expect(adapter).to receive(:write).with('b.txt', 'B')
48
48
 
49
49
  deployer.deploy_files!(files)
50
50
  end
@@ -57,8 +57,8 @@ describe Dandelion::Deployer do
57
57
  ]}
58
58
 
59
59
  it 'performs writes on adapter' do
60
- adapter.should_receive(:write).with('files/a.txt', 'A')
61
- adapter.should_receive(:write).with('files/b.txt', 'B')
60
+ expect(adapter).to receive(:write).with('files/a.txt', 'A')
61
+ expect(adapter).to receive(:write).with('files/b.txt', 'B')
62
62
 
63
63
  deployer.deploy_files!(files)
64
64
  end
@@ -70,18 +70,18 @@ describe Dandelion::Deployer do
70
70
  ]}
71
71
 
72
72
  before(:each) do
73
- File.stub(:directory?).with('c/').and_return(true)
74
- File.stub(:directory?).with('c/a.txt').and_return(false)
75
- File.stub(:directory?).with('c/b.txt').and_return(false)
76
- Dir.stub(:glob).with('c/**/*').and_return(['c/a.txt', 'c/b.txt'])
73
+ allow(File).to receive(:directory?).with('c/').and_return(true)
74
+ allow(File).to receive(:directory?).with('c/a.txt').and_return(false)
75
+ allow(File).to receive(:directory?).with('c/b.txt').and_return(false)
76
+ allow(Dir).to receive(:glob).with('c/**/*').and_return(['c/a.txt', 'c/b.txt'])
77
77
  end
78
78
 
79
79
  it 'performs writes on adapter' do
80
- adapter.should_receive(:write).with('C/a.txt', 'cA')
81
- adapter.should_receive(:write).with('C/b.txt', 'cB')
80
+ expect(adapter).to receive(:write).with('C/a.txt', 'cA')
81
+ expect(adapter).to receive(:write).with('C/b.txt', 'cB')
82
82
 
83
83
  deployer.deploy_files!(files)
84
84
  end
85
85
  end
86
86
  end
87
- end
87
+ end
@@ -55,7 +55,7 @@ describe Dandelion::Workspace do
55
55
 
56
56
  describe '#remote_commit' do
57
57
  before(:each) do
58
- adapter.stub(:read).with('.revision').and_return(initial_revision)
58
+ allow(adapter).to receive(:read).with('.revision').and_return(initial_revision)
59
59
  end
60
60
 
61
61
  it 'returns commit for revision read from adapter' do
@@ -65,7 +65,7 @@ describe Dandelion::Workspace do
65
65
 
66
66
  describe '#remote_commit=' do
67
67
  it 'writes commit revision to adapter' do
68
- adapter.should_receive(:write).with('.revision', head_revision)
68
+ allow(adapter).to receive(:write).with('.revision', head_revision)
69
69
  workspace.remote_commit = workspace.local_commit
70
70
  end
71
71
  end
@@ -73,7 +73,7 @@ describe Dandelion::Workspace do
73
73
  describe '#tree' do
74
74
  it 'returns tree for repo and local commit' do
75
75
  tree = double()
76
- Dandelion::Tree.should_receive(:new).with(test_repo, workspace.local_commit).and_return(tree)
76
+ expect(Dandelion::Tree).to receive(:new).with(test_repo, workspace.local_commit).and_return(tree)
77
77
  expect(workspace.tree).to eq tree
78
78
  end
79
79
  end
@@ -84,12 +84,12 @@ describe Dandelion::Workspace do
84
84
  tree = double('tree')
85
85
  remote_commit = double('remote_commit')
86
86
 
87
- workspace.stub(:tree).and_return(tree)
88
- workspace.stub(:remote_commit).and_return(remote_commit)
87
+ allow(workspace).to receive(:tree).and_return(tree)
88
+ allow(workspace).to receive(:remote_commit).and_return(remote_commit)
89
89
 
90
- Dandelion::Changeset.should_receive(:new).with(tree, remote_commit, workspace.config).and_return(changeset)
90
+ allow(Dandelion::Changeset).to receive(:new).with(tree, remote_commit, workspace.config).and_return(changeset)
91
91
 
92
92
  expect(workspace.changeset).to eq changeset
93
93
  end
94
94
  end
95
- end
95
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dandelion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 0.4.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Nelson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-19 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rugged