scriptorium 0.0.2 → 0.0.3
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 +4 -4
- data/lib/scriptorium/engine.rb +22 -0
- data/lib/scriptorium/exceptions.rb +5 -0
- data/lib/scriptorium/version.rb +1 -1
- data/lib/scriptorium.rb +34 -2
- data/lib/skeleton.rb +4 -1
- data/test/engine/unit.rb +44 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd8976bc35d478aa3db8436bb05812014abcc09f4b9a36ee20b14b2190468d98
|
4
|
+
data.tar.gz: 6745ebaf60ccb3f5bfdf60b80b8931725218d27a03a66f852d133cd5a5573ea1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 061bf84937fe3de2727328300d0308bc14de9fdab705e4fed1c81b5a06c6622d16d55cd3c9399230d4af1d09c3ee1e2ff8fe69020add4a660b17d818c6594863
|
7
|
+
data.tar.gz: 4e923d45513ab03f8c438f9673a3bf37646e381eb1d45a144f28deec95f29a37a71481b1e9213316c8796d9bd3bc60bff2e974f9774cce9b404b8894783ab242
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Scriptorium::Engine
|
2
|
+
|
3
|
+
include Scriptorium::Exceptions
|
4
|
+
|
5
|
+
def repo_exists?
|
6
|
+
Dir.exist?(@dir)
|
7
|
+
end
|
8
|
+
|
9
|
+
def create_new_repo
|
10
|
+
Dir.mkdir(@dir)
|
11
|
+
Dir.chdir(@dir) do
|
12
|
+
subs = %w[config views]
|
13
|
+
subs.each {|sub| Dir.mkdir(sub) }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def destroy_repo
|
18
|
+
raise TestModeOnly unless Scriptorium.testing
|
19
|
+
system("rm -rf #@dir")
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/lib/scriptorium/version.rb
CHANGED
data/lib/scriptorium.rb
CHANGED
@@ -1,10 +1,42 @@
|
|
1
1
|
require_relative "skeleton"
|
2
2
|
|
3
|
+
require_relative "scriptorium/engine"
|
4
|
+
require_relative "scriptorium/exceptions"
|
5
|
+
|
6
|
+
require 'singleton'
|
7
|
+
|
8
|
+
###
|
9
|
+
|
3
10
|
class Scriptorium
|
4
11
|
|
12
|
+
include Singleton
|
13
|
+
|
14
|
+
include Exceptions
|
15
|
+
include Engine
|
16
|
+
|
17
|
+
# Class instance vars...
|
18
|
+
@testing = $testing # good/bad idea?
|
19
|
+
@blog = nil
|
20
|
+
|
21
|
+
class << self
|
22
|
+
attr_accessor :testing
|
23
|
+
alias blog instance
|
24
|
+
end
|
25
|
+
|
26
|
+
# Instance attrs/methods
|
27
|
+
|
28
|
+
attr_reader :name, :dir
|
29
|
+
|
5
30
|
def initialize
|
6
|
-
|
7
|
-
|
31
|
+
@testing = self.class.testing
|
32
|
+
@home = ENV['HOME']
|
33
|
+
if @testing
|
34
|
+
@name = "TEST-ONLY BLOG REPO"
|
35
|
+
@dir = "#@home/test-scriptorium"
|
36
|
+
else
|
37
|
+
@name = "Scriptorium repository"
|
38
|
+
@dir = "#@home/Scriptorium"
|
39
|
+
end
|
8
40
|
end
|
9
41
|
|
10
42
|
end
|
data/lib/skeleton.rb
CHANGED
data/test/engine/unit.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
|
3
|
+
require_relative '../../lib/scriptorium'
|
4
|
+
|
5
|
+
class TestScriptoriumEngine < MiniTest::Test
|
6
|
+
|
7
|
+
TestModeOnly = Scriptorium::TestModeOnly
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@blog = Scriptorium.blog
|
11
|
+
Scriptorium.testing = true
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
Scriptorium.testing = true
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_singleton
|
19
|
+
refute_nil @blog, "blog accessor was nil"
|
20
|
+
assert_raises(NoMethodError) { y = Scriptorium.new }
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_repo_create_destroy
|
24
|
+
t0 = @blog.repo_exists?
|
25
|
+
refute t0, "Repo should not exist yet"
|
26
|
+
|
27
|
+
@blog.create_new_repo
|
28
|
+
|
29
|
+
t1 = @blog.repo_exists?
|
30
|
+
assert t1, "Repo should exist"
|
31
|
+
|
32
|
+
@blog.destroy_repo
|
33
|
+
|
34
|
+
t2 = @blog.repo_exists?
|
35
|
+
refute t2, "Repo should have been destroyed"
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_illegal_destroy
|
39
|
+
Scriptorium.testing = false
|
40
|
+
assert_raises(TestModeOnly) { @blog.destroy_repo }
|
41
|
+
# @blog.destroy_repo
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scriptorium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
@@ -102,8 +102,11 @@ files:
|
|
102
102
|
- "./scriptorium.gemspec"
|
103
103
|
- bin/sblog
|
104
104
|
- lib/scriptorium.rb
|
105
|
+
- lib/scriptorium/engine.rb
|
106
|
+
- lib/scriptorium/exceptions.rb
|
105
107
|
- lib/scriptorium/version.rb
|
106
108
|
- lib/skeleton.rb
|
109
|
+
- test/engine/unit.rb
|
107
110
|
homepage: https://github.com/Hal9000/scriptorium
|
108
111
|
licenses:
|
109
112
|
- Ruby
|