quick_store 0.2.0 → 1.0.0
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 +5 -5
- data/.travis.yml +7 -4
- data/lib/quick_store.rb +2 -3
- data/lib/quick_store/exceptions.rb +19 -0
- data/lib/quick_store/store.rb +2 -7
- data/lib/quick_store/version.rb +1 -1
- data/quick_store.gemspec +3 -3
- data/spec/quick_store/store_spec.rb +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1c8c592e0594dbe3c9f8c329fc5ef0dc6efc1c18c2c7d11f5484c5489bcaf46c
|
4
|
+
data.tar.gz: 6ca10ae6855746edc688d987261df8fd76ff91fe6dd7f5a113a90e3e65e97436
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 336b5c67efe98a838d629dfe8c4edf39d267425523802d704b58816c4f0ad6ad335b1b393fb4f5622e8da9367c0bfd2a10b6800dee0f60f15cdb7fec17facb0b
|
7
|
+
data.tar.gz: c9a529a07667a1d90bbd155b32d372eb1ecbd7a928d39a95e1f5b2a3962e91eab2999edc656f7144a90583ddf0d32b1040cbaa352375da0b0a2082d3ad203fd2
|
data/.travis.yml
CHANGED
@@ -2,11 +2,14 @@ language: ruby
|
|
2
2
|
cache: bundler
|
3
3
|
|
4
4
|
rvm:
|
5
|
-
- 1.9.3
|
6
|
-
- 2.0.0
|
7
5
|
- 2.2.0
|
8
6
|
- 2.3.0
|
7
|
+
- 2.4.0
|
8
|
+
- 2.5.0
|
9
|
+
- 2.6.0
|
10
|
+
- 2.7.0
|
9
11
|
- ruby-head
|
10
12
|
- jruby-19mode
|
11
|
-
- jruby-9.
|
12
|
-
- jruby-9.
|
13
|
+
- jruby-9.1.0.0
|
14
|
+
- jruby-9.2.0.0
|
15
|
+
- jruby-head
|
data/lib/quick_store.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'quick_store/version'
|
2
|
+
require 'quick_store/exceptions'
|
2
3
|
require 'quick_store/configuration'
|
3
4
|
require 'quick_store/store'
|
4
5
|
|
5
6
|
# Allows configuring a YAML store and accessing the configured YAML store
|
6
7
|
# through the .store method.
|
7
8
|
module QuickStore
|
8
|
-
NO_FILE_PATH_CONFIGURED = 'Please configure a file_path for your QuickStore!'.freeze
|
9
|
-
|
10
9
|
class << self
|
11
10
|
attr_accessor :configuration
|
12
11
|
end
|
@@ -19,7 +18,7 @@ module QuickStore
|
|
19
18
|
# end
|
20
19
|
def self.configure
|
21
20
|
yield(config) if block_given?
|
22
|
-
raise
|
21
|
+
raise FilePathNotConfiguredError unless config.file_path
|
23
22
|
config
|
24
23
|
end
|
25
24
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module QuickStore
|
2
|
+
class Error < StandardError; end
|
3
|
+
|
4
|
+
class FilePathNotConfiguredError < Error
|
5
|
+
def initialize
|
6
|
+
super('Please configure a file_path for your QuickStore!')
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class NotAllowedKeyError < Error
|
11
|
+
def initialize(key, forbidden_names)
|
12
|
+
super(
|
13
|
+
"There is a \"#{key.to_s.chop}\" instance method already " \
|
14
|
+
'defined. This will lead to problems while getting values ' \
|
15
|
+
"from the store. Please use another key than #{forbidden_names}."
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/quick_store/store.rb
CHANGED
@@ -51,18 +51,13 @@ module QuickStore
|
|
51
51
|
|
52
52
|
def ensure_not_singleton_method!(key)
|
53
53
|
return unless singleton_methods.include?(key.to_s.chop.to_sym)
|
54
|
-
|
55
|
-
raise "There is a \"#{key.to_s.chop}\" instance method already " \
|
56
|
-
'defined. This will lead to problems while getting values ' \
|
57
|
-
'from the store. Please use another key than ' \
|
58
|
-
"#{singleton_methods.map(&:to_s)}."
|
54
|
+
raise NotAllowedKeyError.new(key, singleton_methods.map(&:to_s))
|
59
55
|
end
|
60
56
|
end
|
61
57
|
|
62
58
|
def initialize
|
63
59
|
@file = QuickStore.config.file_path
|
64
|
-
|
65
|
-
raise(QuickStore::NO_FILE_PATH_CONFIGURED) unless @file
|
60
|
+
raise FilePathNotConfiguredError unless @file
|
66
61
|
|
67
62
|
directory = File.dirname(@file)
|
68
63
|
FileUtils.makedirs(directory) unless Dir.exist?(directory)
|
data/lib/quick_store/version.rb
CHANGED
data/quick_store.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'quick_store/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'quick_store'
|
8
8
|
spec.version = QuickStore::VERSION
|
9
|
-
spec.required_ruby_version = '>=
|
9
|
+
spec.required_ruby_version = '>= 2.2.0'
|
10
10
|
spec.authors = ['Paul Götze']
|
11
11
|
spec.email = ['paul.christoph.goetze@gmail.com']
|
12
12
|
spec.summary = 'Simple local key-value store based on YAML::Store.'
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_development_dependency 'bundler', '
|
23
|
-
spec.add_development_dependency 'rake', '~>
|
22
|
+
spec.add_development_dependency 'bundler', '>= 1.7.13'
|
23
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
25
|
end
|
@@ -12,7 +12,7 @@ describe QuickStore::Store do
|
|
12
12
|
.to receive(:file_path)
|
13
13
|
.and_return(nil)
|
14
14
|
|
15
|
-
expect { QuickStore::Store.send(:new) }.to raise_error
|
15
|
+
expect { QuickStore::Store.send(:new) }.to raise_error QuickStore::FilePathNotConfiguredError
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'creates the store file in the given directory on access' do
|
@@ -144,6 +144,6 @@ describe QuickStore::Store do
|
|
144
144
|
end
|
145
145
|
|
146
146
|
it 'raises an error if the related getter for a setter is already defined' do
|
147
|
-
expect { QuickStore::Store.clone = 'defined' }.to raise_error
|
147
|
+
expect { QuickStore::Store.clone = 'defined' }.to raise_error QuickStore::NotAllowedKeyError
|
148
148
|
end
|
149
149
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quick_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Götze
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.7.13
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.7.13
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,7 @@ files:
|
|
66
66
|
- Rakefile
|
67
67
|
- lib/quick_store.rb
|
68
68
|
- lib/quick_store/configuration.rb
|
69
|
+
- lib/quick_store/exceptions.rb
|
69
70
|
- lib/quick_store/store.rb
|
70
71
|
- lib/quick_store/version.rb
|
71
72
|
- quick_store.gemspec
|
@@ -86,15 +87,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
87
|
requirements:
|
87
88
|
- - ">="
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
90
|
+
version: 2.2.0
|
90
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
92
|
requirements:
|
92
93
|
- - ">="
|
93
94
|
- !ruby/object:Gem::Version
|
94
95
|
version: '0'
|
95
96
|
requirements: []
|
96
|
-
|
97
|
-
rubygems_version: 2.5.1
|
97
|
+
rubygems_version: 3.1.3
|
98
98
|
signing_key:
|
99
99
|
specification_version: 4
|
100
100
|
summary: Simple local key-value store based on YAML::Store.
|