rubolite 0.0.3 → 0.0.4
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/rubolite/admin.rb +10 -0
- data/lib/rubolite/client.rb +9 -0
- data/lib/rubolite/version.rb +1 -1
- data/spec/lib/rubolite/admin_spec.rb +34 -0
- data/spec/lib/rubolite/client_spec.rb +35 -0
- metadata +2 -2
data/lib/rubolite/admin.rb
CHANGED
@@ -12,6 +12,16 @@ module Rubolite
|
|
12
12
|
@path = path if path && valid_path?(path)
|
13
13
|
end
|
14
14
|
|
15
|
+
def reset!
|
16
|
+
@parser = nil
|
17
|
+
@writer = nil
|
18
|
+
@git = nil
|
19
|
+
@repo_origin = nil
|
20
|
+
@client = nil
|
21
|
+
|
22
|
+
self
|
23
|
+
end
|
24
|
+
|
15
25
|
def path=(new_path)
|
16
26
|
valid_path?(new_path)
|
17
27
|
@path = new_path
|
data/lib/rubolite/client.rb
CHANGED
@@ -29,12 +29,14 @@ module Rubolite
|
|
29
29
|
|
30
30
|
def save!
|
31
31
|
admin.writer.write!
|
32
|
+
reset!
|
32
33
|
end
|
33
34
|
|
34
35
|
def save_ssh_keys!
|
35
36
|
ssh_keys.each do |user, key|
|
36
37
|
key.write_for user, "#{admin.path}/keydir"
|
37
38
|
end
|
39
|
+
reset!
|
38
40
|
end
|
39
41
|
|
40
42
|
def commit!
|
@@ -52,5 +54,12 @@ module Rubolite
|
|
52
54
|
commit!
|
53
55
|
push!
|
54
56
|
end
|
57
|
+
|
58
|
+
def reset!
|
59
|
+
admin.reset!
|
60
|
+
@repos = nil
|
61
|
+
@groups = nil
|
62
|
+
@ssh_keys = {}
|
63
|
+
end
|
55
64
|
end
|
56
65
|
end
|
data/lib/rubolite/version.rb
CHANGED
@@ -7,6 +7,40 @@ describe Rubolite::Admin do
|
|
7
7
|
expect(subject.client).to be_kind_of Rubolite::Client
|
8
8
|
end
|
9
9
|
|
10
|
+
context "reset!" do
|
11
|
+
let(:admin) { Rubolite::Admin.new("./spec/support/gitolite-admin") }
|
12
|
+
|
13
|
+
it "resets the parser" do
|
14
|
+
parser = admin.parser
|
15
|
+
admin.reset!
|
16
|
+
expect(admin.parser).not_to eq(parser)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "resets the writer" do
|
20
|
+
writer = admin.writer
|
21
|
+
admin.reset!
|
22
|
+
expect(admin.writer).not_to eq(writer)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "resets git" do
|
26
|
+
git = admin.git
|
27
|
+
admin.reset!
|
28
|
+
expect(admin.git).not_to eq(git)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "resets repo_origin" do
|
32
|
+
repo_origin = admin.repo_origin
|
33
|
+
admin.reset!
|
34
|
+
expect(admin.repo_origin).not_to eq(repo_origin)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "resets the client" do
|
38
|
+
client = admin.client
|
39
|
+
admin.reset!
|
40
|
+
expect(admin.client).not_to eq(client)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
10
44
|
context "location" do
|
11
45
|
it "sets a location on initialization if given" do
|
12
46
|
admin = Rubolite::Admin.new("./spec/support/gitolite-admin")
|
@@ -72,5 +72,40 @@ describe Rubolite::Client do
|
|
72
72
|
subject.should_receive(:push!)
|
73
73
|
subject.save_and_push!
|
74
74
|
end
|
75
|
+
|
76
|
+
it "resets and reparses after save is called" do
|
77
|
+
subject.should_receive(:reset!)
|
78
|
+
subject.save!
|
79
|
+
end
|
80
|
+
|
81
|
+
it "resets and reparses after save_ssh_keys is called" do
|
82
|
+
subject.should_receive(:reset!)
|
83
|
+
subject.save_ssh_keys!
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context "resetting" do
|
88
|
+
it "resets the admin" do
|
89
|
+
subject.admin.should_receive(:reset!)
|
90
|
+
subject.reset!
|
91
|
+
end
|
92
|
+
|
93
|
+
it "resets it's repos" do
|
94
|
+
repos = subject.repos
|
95
|
+
subject.reset!
|
96
|
+
expect(subject.repos).not_to eq(repos)
|
97
|
+
end
|
98
|
+
|
99
|
+
it "resets it's groups" do
|
100
|
+
groups = subject.groups.object_id
|
101
|
+
subject.reset!
|
102
|
+
expect(subject.groups.object_id).not_to eq(groups)
|
103
|
+
end
|
104
|
+
|
105
|
+
it "resets it's ssh keys" do
|
106
|
+
ssh_keys = subject.ssh_keys.object_id
|
107
|
+
subject.reset!
|
108
|
+
expect(subject.ssh_keys.object_id).not_to eq(ssh_keys)
|
109
|
+
end
|
75
110
|
end
|
76
111
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubolite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|