metastore 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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