kioku 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -11,6 +11,7 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
+
14
15
  require 'jeweler'
15
16
  Jeweler::Tasks.new do |gem|
16
17
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
data/kioku.gemspec CHANGED
@@ -4,14 +4,15 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "kioku"
8
- s.version = "0.0.2"
7
+ s.name = %q{kioku}
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Maximilian Stroh"]
12
- s.date = "2012-01-12"
13
- s.description = "A leightweight key-value store solution written in pure Ruby.\n See the Homepage for more Informations!"
14
- s.email = "Fox56@gmx.de"
11
+ s.authors = [%q{Maximilian Stroh}]
12
+ s.date = %q{2012-01-17}
13
+ s.description = %q{A leightweight key-value store solution written in pure Ruby.
14
+ See the Homepage for more Informations!}
15
+ s.email = %q{Fox56@gmx.de}
15
16
  s.extra_rdoc_files = [
16
17
  "LICENSE.txt",
17
18
  "README.rdoc"
@@ -28,15 +29,15 @@ Gem::Specification.new do |s|
28
29
  "lib/kioku.rb",
29
30
  "test/bindata.bz2",
30
31
  "test/helper.rb",
32
+ "test/sample.msh",
31
33
  "test/sample.yml",
32
- "test/test_gui.rb",
33
34
  "test/test_kioku_basics.rb"
34
35
  ]
35
- s.homepage = "http://github.com/Anonyfox/kioku"
36
- s.licenses = ["MIT"]
37
- s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.10"
39
- s.summary = "A leightweight key-value store solution written in pure Ruby."
36
+ s.homepage = %q{http://github.com/Anonyfox/kioku}
37
+ s.licenses = [%q{MIT}]
38
+ s.require_paths = [%q{lib}]
39
+ s.rubygems_version = %q{1.8.6}
40
+ s.summary = %q{A leightweight key-value store solution written in pure Ruby.}
40
41
 
41
42
  if s.respond_to? :specification_version then
42
43
  s.specification_version = 3
data/lib/kioku.rb CHANGED
@@ -7,8 +7,9 @@ class Kioku
7
7
 
8
8
  # opens up a database file and loads the content,
9
9
  # or creates one first if it doesn't exist yet
10
- def initialize filepath
10
+ def initialize filepath, serialization_type='yaml'
11
11
  @filepath = filepath
12
+ @serialization_type = serialization_type
12
13
  @data_base = {}
13
14
  init_database
14
15
  end
@@ -52,6 +53,8 @@ class Kioku
52
53
  # so it can't be used anymore
53
54
  def destroy
54
55
  File.delete @filepath
56
+ @data_base = nil
57
+ @data_base.freeze
55
58
  self.freeze
56
59
  end
57
60
 
@@ -72,6 +75,20 @@ class Kioku
72
75
  private
73
76
 
74
77
  def init_database
78
+ #self.send("init_database_#{@serialization_type}")
79
+ init_database_yaml
80
+ end
81
+
82
+ def update_database
83
+ #self.send("update_database_#{@serialization_type}")
84
+ update_database_yaml
85
+ end
86
+
87
+ #############################################
88
+ ### other serialization formats
89
+ #############################################
90
+
91
+ def init_database_yaml
75
92
  if File.exists? @filepath
76
93
  f = File.open @filepath, 'r'
77
94
  @data_base = YAML.load_file @filepath
@@ -82,16 +99,12 @@ private
82
99
  end
83
100
  end
84
101
 
85
- def update_database
102
+ def update_database_yaml
86
103
  f = File.new @filepath, 'w'
87
104
  f << @data_base.to_yaml
88
105
  f.close
89
106
  end
90
107
 
91
- #############################################
92
- ### other serialization formats
93
- #############################################
94
-
95
108
  def init_database_marshal
96
109
  f = File.open @filepath, 'rb'
97
110
  @data_base = Marshal.load f.read
data/test/sample.msh ADDED
File without changes
@@ -56,4 +56,10 @@ class TestKiokuBasics < Test::Unit::TestCase
56
56
  assert_equal( @k.search("bin"), ["bin"] )
57
57
  assert_equal( @k.search("höhö"), ["höhö"])
58
58
  end
59
+
60
+ def test_marshalling
61
+ #@k = Kioku.new "sample.msh", "marshal"
62
+ #@k["entry"] = "Blablabla"
63
+ #assert_equal( "Blablabla", @k["entry"])
64
+ end
59
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kioku
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-12 00:00:00.000000000Z
12
+ date: 2012-01-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yard
16
- requirement: &22231540 !ruby/object:Gem::Requirement
16
+ requirement: &19004420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.6.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *22231540
24
+ version_requirements: *19004420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &22230560 !ruby/object:Gem::Requirement
27
+ requirement: &19003120 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *22230560
35
+ version_requirements: *19003120
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &22229800 !ruby/object:Gem::Requirement
38
+ requirement: &19001860 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *22229800
46
+ version_requirements: *19001860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rcov
49
- requirement: &22228960 !ruby/object:Gem::Requirement
49
+ requirement: &19000440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *22228960
57
+ version_requirements: *19000440
58
58
  description: ! "A leightweight key-value store solution written in pure Ruby.\n See
59
59
  the Homepage for more Informations!"
60
60
  email: Fox56@gmx.de
@@ -75,8 +75,8 @@ files:
75
75
  - lib/kioku.rb
76
76
  - test/bindata.bz2
77
77
  - test/helper.rb
78
+ - test/sample.msh
78
79
  - test/sample.yml
79
- - test/test_gui.rb
80
80
  - test/test_kioku_basics.rb
81
81
  homepage: http://github.com/Anonyfox/kioku
82
82
  licenses:
@@ -93,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
93
  version: '0'
94
94
  segments:
95
95
  - 0
96
- hash: 4136768825215228497
96
+ hash: 2772667992776346341
97
97
  required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  none: false
99
99
  requirements:
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 1.8.10
105
+ rubygems_version: 1.8.6
106
106
  signing_key:
107
107
  specification_version: 3
108
108
  summary: A leightweight key-value store solution written in pure Ruby.
data/test/test_gui.rb DELETED
@@ -1,22 +0,0 @@
1
- #encoding: utf-8
2
-
3
- require './helper'
4
-
5
- Shoes.app do
6
- stack do
7
-
8
- # input line
9
- flow do
10
- @in_key = edit_line
11
- @in_val = edit_line
12
- @in_go = button("add")
13
- end
14
-
15
- # elements
16
- @k = Kioku.new "./sample.yml"
17
- @k.get_all.each do {|key|
18
- para "#{key}: #{@k[key]}", size: 9
19
- }
20
-
21
- end
22
- end