keyp 0.0.5 → 0.0.6
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 +1 -1
- data/lib/keyp/bag.rb +7 -6
- data/lib/keyp/version.rb +1 -1
- data/spec/bag_spec.rb +51 -6
- data/spec/keyp_spec.rb +3 -9
- 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: bff8c5655d1b350b28208c20add4b0b3cf884fd2
|
4
|
+
data.tar.gz: 53a122d43fda4ec7267bd77aea3626dc2e16dba6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf0bbf2bc59d7a578afd69641032677ab6ff61f7d78331603a63e30fab9bd3dfd68e88756e9c74d0566f189d438bf92ebe91c9ad43ee7bef74b9379d5dac793b
|
7
|
+
data.tar.gz: baddf04bce4de7c751da7acf783a9527d00c31690cfa7d1a7697c402509c5cd912a9f2d1b4266d95d9f0eec08e79438b4628c2b1e3fd155559d04ef1797b2cc1
|
data/README.md
CHANGED
data/lib/keyp/bag.rb
CHANGED
@@ -47,7 +47,7 @@ module Keyp
|
|
47
47
|
# not the most efficient thing, but simpler and safe enough for now
|
48
48
|
|
49
49
|
unless File.exist? keypfile
|
50
|
-
puts "
|
50
|
+
puts "Bag.initialize, create_bag #{keypfile}"
|
51
51
|
Keyp::create_bag(name)
|
52
52
|
end
|
53
53
|
file_data = load(keypfile)
|
@@ -78,8 +78,10 @@ module Keyp
|
|
78
78
|
# TODO: check if data has been modified
|
79
79
|
# maybe there is a way hash tells us its been modified. If not then
|
80
80
|
# just check if key,val is already in hash and matches
|
81
|
-
@data[key]
|
82
|
-
|
81
|
+
unless @data.key?(key) && @data[key] == value
|
82
|
+
@data[key] = value
|
83
|
+
@dirty = true
|
84
|
+
end
|
83
85
|
else
|
84
86
|
raise "Bag #{@name} is read only"
|
85
87
|
end
|
@@ -134,9 +136,8 @@ module Keyp
|
|
134
136
|
overwrite = options[:overwrite] || false
|
135
137
|
pattern = options[:sysvar] if options.key?(:sysvar)
|
136
138
|
|
137
|
-
pattern ||=
|
138
|
-
|
139
|
-
bag.data.each do |key,value|
|
139
|
+
pattern ||= /(...)/
|
140
|
+
@data.each do |key,value|
|
140
141
|
if pattern.match(key)
|
141
142
|
# TODO: add overwrite checking
|
142
143
|
ENV[key] = value
|
data/lib/keyp/version.rb
CHANGED
data/spec/bag_spec.rb
CHANGED
@@ -23,6 +23,7 @@ describe Keyp::Bag do
|
|
23
23
|
@bag = Keyp::Bag.new 'grue_eats_you'
|
24
24
|
@bag['LIGHTS'] = 'out'
|
25
25
|
end
|
26
|
+
|
26
27
|
it "should return a non-empty hash" do
|
27
28
|
@bag.data.size.should > 0
|
28
29
|
end
|
@@ -31,12 +32,10 @@ describe Keyp::Bag do
|
|
31
32
|
context "environment variables" do
|
32
33
|
before (:each) do
|
33
34
|
# TODO: pseudo random bag name generation to a helper
|
34
|
-
bag_name = "grue_eats_you_when_it_is_dark_#{Time.now.strftime("%Y%m%d%H%M")}"
|
35
|
+
bag_name = "grue_eats_you_when_it_is_dark_#{Time.now.strftime("%Y%m%d%H%M%S%L")}"
|
35
36
|
@bag = Keyp::Bag.new bag_name
|
36
37
|
end
|
37
|
-
it "should copy all vars"
|
38
|
-
=begin
|
39
|
-
do
|
38
|
+
it "should copy all vars" do
|
40
39
|
testvars = {
|
41
40
|
'ALPHA' => 'First in the phonetic alphabet',
|
42
41
|
'BRAVO' => 'Second in the phonetic alphabet',
|
@@ -45,12 +44,58 @@ describe Keyp::Bag do
|
|
45
44
|
|
46
45
|
testvars.each { |key, value| @bag[key] = value }
|
47
46
|
|
48
|
-
@bag.add_to_env
|
47
|
+
added = @bag.add_to_env
|
49
48
|
testvars.each do |key, value|
|
50
49
|
ENV[key].should_not == nil
|
51
50
|
ENV[key].should == value
|
52
51
|
end
|
53
52
|
end
|
54
|
-
=end
|
55
53
|
end
|
54
|
+
|
55
|
+
context "bag state" do
|
56
|
+
|
57
|
+
before (:each) do
|
58
|
+
# TODO: pseudo random bag name generation to a helper
|
59
|
+
bag_name = "grue_eats_you_when_it_is_dark_#{Time.now.strftime("%Y%m%d%H%M%S%L")}"
|
60
|
+
@bag = Keyp::Bag.new bag_name
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should not set the dirty flag when no items are in the bag' do
|
64
|
+
@bag.empty?.should == true
|
65
|
+
@bag.dirty.should == false
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should set the dirty flag if a new key is created' do
|
69
|
+
@bag['KEY1'] = 'value1'
|
70
|
+
@bag.empty?.should == false
|
71
|
+
@bag.dirty.should == true
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'should not set the dirty flag after save' do
|
76
|
+
@bag.empty?.should == true
|
77
|
+
@bag['KEY1'] = 'value1'
|
78
|
+
@bag.save
|
79
|
+
@bag.dirty.should == false
|
80
|
+
end
|
81
|
+
it 'should set the dirty flag if a key is given a new value' do
|
82
|
+
@bag.empty?.should == true
|
83
|
+
@bag['KEY1'] = 'value1'
|
84
|
+
@bag.dirty.should == true
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should not set the dirty flag if a key is assigned a value equal to its existing value' do
|
88
|
+
@bag.empty?.should == true
|
89
|
+
@bag['KEY1'] = 'value1'
|
90
|
+
@bag.save
|
91
|
+
@bag.dirty.should == false
|
92
|
+
@bag['KEY1'] = 'value1'
|
93
|
+
@bag.dirty.should == false
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'should return a key with data member'
|
98
|
+
it 'should return a key acting as a hash'
|
99
|
+
it 'should allow assigning a key if not read only'
|
100
|
+
it 'should not allow assigning a key if read only'
|
56
101
|
end
|
data/spec/keyp_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Keyp do
|
|
5
5
|
context "CONSTANTS" do
|
6
6
|
it 'should return correct version string' do
|
7
7
|
#Keyp.version_string.should == "Keyp version #{Keyp::VERSION}"
|
8
|
-
Keyp::VERSION.should == '0.0.
|
8
|
+
Keyp::VERSION.should == '0.0.6'
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should specify default store' do
|
@@ -44,20 +44,14 @@ describe Keyp do
|
|
44
44
|
|
45
45
|
it "should say a bag does not exist" do
|
46
46
|
# TODO: add bag name generation to a helper
|
47
|
-
bag_name = "grue_eats_you_when_it_is_dark_#{Time.now.strftime("%Y%m%d%H%M")}"
|
47
|
+
bag_name = "grue_eats_you_when_it_is_dark_#{Time.now.strftime("%Y%m%d%H%M%S%L")}"
|
48
48
|
Keyp.exist?(bag_name).should_not == true
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
52
52
|
|
53
53
|
|
54
|
-
|
55
|
-
it 'should return a key acting as a hash'
|
56
|
-
it 'should allow assigning a key if not read only'
|
57
|
-
it 'should not allow assigning a key if read only'
|
58
|
-
it 'should set the dirty flag if a new key is created'
|
59
|
-
it 'should set the dirty flag if a key is given a new value'
|
60
|
-
it 'should not set the dirty flag if a key is assigned a value equal to its existing value'
|
54
|
+
|
61
55
|
|
62
56
|
# Braindump of tests
|
63
57
|
# Should show no keys if empty bag
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: keyp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Baldwin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gli
|