metastore 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 17185ce2d6da4fd3375df8d3e7c51eec1875b146
4
- data.tar.gz: 5dcfcbce2626843877613757859193a108d4efb9
3
+ metadata.gz: 5be19bae4d620c925ea02c9562e72a5a2e649715
4
+ data.tar.gz: c8eee6b3efd7de1dec331f9bbdc34636b11b4165
5
5
  SHA512:
6
- metadata.gz: 04cacb72808ab9a1938a99ac1c5b718afef87b61929d2d80bf327aba5c4b2b095f9fb8f77445eb43a89839f96d9960fafd6e0c79dbd6744a2dc380063407b503
7
- data.tar.gz: 473ce35a7281f94fb605d13c509a1133aa396eca495ac02b8e060244d7efb05a13fbbb75bb596cfce3e9dee2f06739e666a26081ab652d24ed749c61b9acfa15
6
+ metadata.gz: 5c4adda84e9bfd03099e271e04a8516669e78c8747d0ca0b1867321a4e89002daac836cea93fee09af45615690127411fd58fe77d6a419006f8cbe71f13db635
7
+ data.tar.gz: 2d2c40c82d668acb4ddf883ba5f38eba66d7124b62f610df4d36d9ff906ba5f037106ae380ca231ebb7272f5c1b915c2d350b07443764874e74558e910540278
@@ -0,0 +1,27 @@
1
+ Style/SpaceInsideBrackets:
2
+ Enabled: false
3
+
4
+ Style/EmptyLinesAroundClassBody:
5
+ Enabled: false
6
+
7
+ Style/Documentation:
8
+ Enabled: false
9
+
10
+ Style/IndentationConsistency:
11
+ Enabled: false
12
+
13
+ Style/FormatString:
14
+ Enabled: false
15
+
16
+ Metrics/LineLength:
17
+ Enabled: false
18
+
19
+ Style/GlobalVars:
20
+ Enabled: false
21
+
22
+ Metrics/MethodLength:
23
+ Max: 20
24
+
25
+ AllCops:
26
+ Exclude:
27
+ - 'spec/**/*'
@@ -1,8 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.1
3
4
  - 2.2
5
+ - 2.3.0
4
6
  branches:
5
7
  only:
6
8
  - master
7
9
  - wip
8
- script: bundle exec rake spec
10
+ script: bundle exec rake
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Metastore
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/metastore.svg)](http://badge.fury.io/rb/metastore)
4
- [![Build Status](https://travis-ci.org/ashmckenzie/metastore.svg?branch=wip)](https://travis-ci.org/ashmckenzie/metastore)
4
+ [![Build Status](https://travis-ci.org/ashmckenzie/metastore.svg?branch=master)](https://travis-ci.org/ashmckenzie/metastore)
5
5
  [![Code Climate](https://codeclimate.com/github/ashmckenzie/metastore/badges/gpa.svg)](https://codeclimate.com/github/ashmckenzie/metastore)
6
6
  [![Test Coverage](https://codeclimate.com/github/ashmckenzie/metastore/badges/coverage.svg)](https://codeclimate.com/github/ashmckenzie/metastore)
7
7
  [![Dependency Status](https://gemnasium.com/ashmckenzie/metastore.svg)](https://gemnasium.com/ashmckenzie/metastore)
data/Rakefile CHANGED
@@ -1,4 +1,8 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
3
4
 
4
- RSpec::Core::RakeTask.new('spec')
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new
7
+
8
+ task default: [ :rubocop, :spec ]
@@ -4,13 +4,16 @@ require 'pathname'
4
4
  module Metastore
5
5
  class Cabinet
6
6
 
7
- def initialize(file, storage_type: :yaml)
7
+ def initialize(file, separators: %w(. /), storage_type: :yaml)
8
8
  @file = Pathname.new(file).expand_path
9
+ @separators = separators.map { |x| "\\#{x}" }.join('|')
9
10
  @storage_type = storage_type
10
11
  end
11
12
 
12
13
  def get(key)
13
- split_key(key).inject(contents) { |c, k| c.is_a?(Hash) ? c[k] : nil }
14
+ split_key(key).inject(contents) do |c, k|
15
+ c.is_a?(Hash) ? c[k] : nil
16
+ end
14
17
  end
15
18
 
16
19
  def set(key, value)
@@ -27,19 +30,19 @@ module Metastore
27
30
  storage.contents || {}
28
31
  end
29
32
 
30
- alias_method :[], :get
31
- alias_method :[]=, :set
33
+ alias [] :get
34
+ alias []= :set
32
35
 
33
36
  private
34
37
 
35
- attr_reader :file, :storage_type
38
+ attr_reader :file, :separators, :storage_type
36
39
 
37
40
  def storage
38
41
  @store || StorageFactory.from_sym(storage_type).new(file)
39
42
  end
40
43
 
41
44
  def split_key(key)
42
- key.to_s.split('.')
45
+ key.to_s.split(Regexp.new(separators))
43
46
  end
44
47
 
45
48
  def set_key_and_value(input, key, value)
@@ -75,8 +78,7 @@ module Metastore
75
78
  storage.save!(new_values)
76
79
  true
77
80
  rescue => e
78
- raise Errors::CabinetCannotSet.new(e.message)
81
+ raise Errors::CabinetCannotSet, e.message
79
82
  end
80
-
81
83
  end
82
84
  end
@@ -24,10 +24,9 @@ module Metastore
24
24
  raise NotImplementedError
25
25
  end
26
26
 
27
- def to_write(values)
27
+ def to_write(_)
28
28
  raise NotImplementedError
29
29
  end
30
-
31
30
  end
32
31
  end
33
32
  end
@@ -5,7 +5,7 @@ module Metastore
5
5
  klass = symbol.to_s.upcase
6
6
  Storage.const_get(klass)
7
7
  rescue NameError => e
8
- raise Errors::UnknownStorageType.new(e.message)
8
+ raise Errors::UnknownStorageType, e.message
9
9
  end
10
10
  end
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module Metastore
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'.freeze
3
3
  end
@@ -1,24 +1,26 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
4
5
  require 'metastore/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "metastore"
8
+ spec.name = 'metastore'
8
9
  spec.version = Metastore::VERSION
9
- spec.authors = ["Ash McKenzie"]
10
- spec.email = ["ash@the-rebellion.net"]
10
+ spec.authors = ['Ash McKenzie']
11
+ spec.email = ['ash@the-rebellion.net']
11
12
 
12
- spec.summary = %q{Store and retrieve meta information with ease}
13
- spec.homepage = "https://github.com/ashmckenzie/metastore"
14
- spec.license = "MIT"
13
+ spec.summary = 'Store and retrieve meta information with ease'
14
+ spec.homepage = 'https://github.com/ashmckenzie/metastore'
15
+ spec.license = 'MIT'
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.require_paths = ["lib"]
18
+ spec.require_paths = ['lib']
18
19
 
19
- spec.add_development_dependency 'bundler', '~> 1.7'
20
+ spec.add_development_dependency 'bundler', '~> 1.0'
20
21
  spec.add_development_dependency 'rake', '~> 10.0'
21
- spec.add_development_dependency 'rspec', '~> 3.2'
22
- spec.add_development_dependency 'simplecov', '~> 0.9'
23
- spec.add_development_dependency 'fakefs', '~> 0.6'
22
+ spec.add_development_dependency 'rspec', '~> 3.0'
23
+ spec.add_development_dependency 'rubocop', '~> 0.0'
24
+ spec.add_development_dependency 'simplecov', '~> 0.0'
25
+ spec.add_development_dependency 'fakefs', '~> 0.0'
24
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metastore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ash McKenzie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '1.0'
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: '1.7'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,42 +44,56 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.2'
47
+ version: '3.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.2'
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: simplecov
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '0.9'
75
+ version: '0.0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '0.9'
82
+ version: '0.0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: fakefs
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0.6'
89
+ version: '0.0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0.6'
96
+ version: '0.0'
83
97
  description:
84
98
  email:
85
99
  - ash@the-rebellion.net
@@ -89,6 +103,7 @@ extra_rdoc_files: []
89
103
  files:
90
104
  - ".gitignore"
91
105
  - ".rspec"
106
+ - ".rubocop.yml"
92
107
  - ".travis.yml"
93
108
  - CODE_OF_CONDUCT.md
94
109
  - Gemfile
@@ -125,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
140
  version: '0'
126
141
  requirements: []
127
142
  rubyforge_project:
128
- rubygems_version: 2.4.5
143
+ rubygems_version: 2.5.1
129
144
  signing_key:
130
145
  specification_version: 4
131
146
  summary: Store and retrieve meta information with ease