cabi 0.1.4 → 0.1.5
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/README.md +2 -0
- data/bin/cabi +24 -9
- data/cabi.gemspec +1 -1
- data/lib/data.rb +5 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee85570e4d09d5212cdd2987e00f584522ce5a15
|
4
|
+
data.tar.gz: 720e2a6061641df78035b8bc576460fac1f0a52c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 357e04fc69b7accafb5c53e7a8df59af0f7905a3526910db1f3d13c9001c872aa9de83b453ca170963cfb53b932aafad3bc419f21cd358dc7dbfc95d63e76b39
|
7
|
+
data.tar.gz: 60865bf4a8e4db0a4ec30d52080f92d1210108d125efa768ae806fe6de017fcd10182203aa375d49f847c18bdc8b00e982e14affb34ae85ede1645c5387bae07
|
data/README.md
CHANGED
@@ -60,7 +60,9 @@ Cabi.read('**/*').length # 9
|
|
60
60
|
|
61
61
|
# Selection within YAML files
|
62
62
|
Cabi.read('pages:about:meta:foo:bar') # contents of ['foo']['bar'] in page/about/meta.yml hash
|
63
|
+
Cabi.read('pages:about:meta.yml:foo:bar') # same as above
|
63
64
|
Cabi.read('info:foo:bar:baz') # contents of ['foo']['bar']['baz'] in info.yml hash
|
65
|
+
Cabi.read('info.yml:foo:bar:baz') # same as above
|
64
66
|
```
|
65
67
|
|
66
68
|
### Custom Data Directory
|
data/bin/cabi
CHANGED
@@ -6,6 +6,9 @@ require File.join( File.expand_path("../..", __FILE__), "lib", "cabi")
|
|
6
6
|
|
7
7
|
class CabiCLI < Thor
|
8
8
|
|
9
|
+
# -----------------------------------------------------------------------------------------------------------
|
10
|
+
# Init Task
|
11
|
+
# -----------------------------------------------------------------------------------------------------------
|
9
12
|
desc "init", "Initialize Cabi data directory (use --mock to create fake data, use --target to specify your own directory)"
|
10
13
|
method_options :mock => :boolean, :target => :string
|
11
14
|
def init
|
@@ -18,22 +21,34 @@ class CabiCLI < Thor
|
|
18
21
|
`tar -xf #{f} --strip-components=1 -C #{target}`
|
19
22
|
end
|
20
23
|
|
21
|
-
puts "
|
24
|
+
puts "** Cabi data created in #{target}"
|
22
25
|
end
|
23
26
|
|
27
|
+
# -----------------------------------------------------------------------------------------------------------
|
28
|
+
# Clean Task
|
29
|
+
# -----------------------------------------------------------------------------------------------------------
|
24
30
|
desc "clean", "Remove Cabi data directory"
|
25
31
|
method_options :force => :boolean
|
26
32
|
def clean
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
end
|
33
|
+
puts "\n** Trying to clean Cabi data folder."
|
34
|
+
|
35
|
+
current_dir = File.expand_path(Dir.pwd) == Cabi.data_dir({ quiet: true })
|
36
|
+
|
37
|
+
if current_dir
|
38
|
+
puts "** Cabi data folder is the same as the current folder -- not cleaning!"
|
34
39
|
else
|
35
|
-
|
40
|
+
if options[:force]
|
41
|
+
begin
|
42
|
+
FileUtils.rm_rf( Cabi.data_dir )
|
43
|
+
puts " ** Cleaned cabi data"
|
44
|
+
rescue Exception => e
|
45
|
+
end
|
46
|
+
else
|
47
|
+
puts "** Not cleaning cabi data folder without --force"
|
48
|
+
end
|
36
49
|
end
|
50
|
+
|
51
|
+
|
37
52
|
end
|
38
53
|
|
39
54
|
end
|
data/cabi.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'cabi'
|
3
|
-
s.version = '0.1.
|
3
|
+
s.version = '0.1.5'
|
4
4
|
s.summary = "A simple, flat-file datastore for Ruby."
|
5
5
|
|
6
6
|
s.description = "Cabi is a flat-file datastore where data is stored by directory stucture and accessed by colon-delimited strings."
|
data/lib/data.rb
CHANGED
@@ -29,10 +29,13 @@ module Cabi
|
|
29
29
|
end
|
30
30
|
|
31
31
|
# Helpers for setting/getting data dir.
|
32
|
-
def self.data_dir
|
32
|
+
def self.data_dir(opts={})
|
33
33
|
dir = Data.user_data_dir || CABI_DATA_DIR
|
34
34
|
@@data_dir = File.expand_path(dir)
|
35
|
-
|
35
|
+
|
36
|
+
return nil if !File.exists?(@@data_dir) and opts[:quiet]
|
37
|
+
raise LoadError.new "Could not find cabi data folder!" if !File.exists? @@data_dir
|
38
|
+
|
36
39
|
@@data_dir
|
37
40
|
end
|
38
41
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cabi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Gonzalez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|