skeevy 0.0.1 → 0.0.2

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: 60dbb058fbd64464e26b03c882c45c4b2db40de1
4
- data.tar.gz: 5590acba53788fcb6bff72a29541748c839138d4
3
+ metadata.gz: 56219e553136787ef81221e9d1c30198ce3c456e
4
+ data.tar.gz: 41318a6e7228958f487258630c11373930523a59
5
5
  SHA512:
6
- metadata.gz: f664d159edf898beb72fb627f2f7d4b4d094137fb2092ebbe6546111b73418ec524fd818b4732b6cfff412a113af8b2b7ccc5be30058d59c98c8e99da49ce6c0
7
- data.tar.gz: fdfc302598f411e23c598f63b96deaa9563ba2683d030ff8fd92cb8a752cd801efac25351a49664df52ccc5988f9f1e4550085df696ffa2af1b450ac5a011ccd
6
+ metadata.gz: 8de217cf5b58469ee7bea8f55653d23da85184e017a0b320e30419c6d78fd63f9b6b9f3e866b4b31642b7fd66c3a0badc7fe9b9e7ba52600d19ab5dcf3d6a191
7
+ data.tar.gz: 7509329ca813f8ec828d18cb4bfa32719cba9b184c508ae97534d0d2e9651e2afb8e90acf5fa8b2db8d3e1ab1403d532f9ec879a8c009635d76a25b1b238ff94
@@ -4,7 +4,7 @@ module Skeevy
4
4
  include Skeevy::Engine
5
5
  require 'fileutils'
6
6
 
7
- def initialize(instance:, base_dir:, delimiter:, encoding: 'UTF-8')
7
+ def initialize(instance: nil, base_dir:, delimiter:, encoding: 'UTF-8')
8
8
  raise ArgumentError,
9
9
  "Instance passed was not a Skeevy::Instance" unless
10
10
  instance.is_a?(Skeevy::Instance) || instance.nil?
@@ -3,7 +3,7 @@ module Skeevy
3
3
  class SymbolicHash
4
4
  include Skeevy::Engine
5
5
 
6
- def initialize(instance:)
6
+ def initialize(instance: nil)
7
7
  raise ArgumentError,
8
8
  "Instance passed was not a Skeevy::Instance" unless
9
9
  instance.is_a?(Skeevy::Instance) || instance.nil?
@@ -7,10 +7,12 @@ module Skeevy
7
7
  engine: nil,
8
8
  cutter: nil)
9
9
  raise(ArgumentError, "identifier must be a Symbol") unless identifier.is_a?(Symbol)
10
- raise(ArgumentError, "engine is not a Skeevy Engine!") unless @engine.is_a?(Skeevy::Engine) || engine.nil?
11
- raise(ArgumentError, "cutter is not a Skeevy Cutter!") unless @cutter.is_a?(Skeevy::Cutter) || cutter.nil?
10
+ raise(ArgumentError, "engine #{engine} is not a Skeevy Engine!") unless engine.is_a?(Skeevy::Engine) || engine.nil?
11
+ raise(ArgumentError, "cutter #{cutter} is not a Skeevy Cutter!") unless cutter.is_a?(Skeevy::Cutter) || cutter.nil?
12
12
  @cutter = cutter || Skeevy::Cutters::StandardKey.new(instance: self)
13
13
  @engine = engine || Skeevy::Engines::SymbolicHash.new(instance: self)
14
+ @cutter.instance ||= self
15
+ @engine.instance ||= self
14
16
  @identifier = identifier
15
17
  end
16
18
 
data/skeevy.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'skeevy'
3
- s.version = '0.0.1'
4
- s.date = '2014-12-19'
3
+ s.version = '0.0.2'
4
+ s.date = '2014-12-30'
5
5
  s.summary = "Skeevy"
6
6
  s.description = "A simple key-value store for objects"
7
7
  s.authors = ["Craig Waterman"]
@@ -16,10 +16,10 @@ RSpec.describe :directory_file do
16
16
  it 'rejects missing keywords' do
17
17
  expect {
18
18
  the_engine_class.new(delimiter: '-')
19
- }.to raise_error(ArgumentError, /missing keywords/)
19
+ }.to raise_error(ArgumentError, /missing keyword/)
20
20
  expect {
21
21
  the_engine_class.new(base_dir: 'tmp')
22
- }.to raise_error(ArgumentError, /missing keywords/)
22
+ }.to raise_error(ArgumentError, /missing keyword/)
23
23
  end
24
24
  end
25
25
 
@@ -22,7 +22,6 @@ RSpec.describe :skeevy do
22
22
  end
23
23
 
24
24
  describe 'default instantiation' do
25
-
26
25
  it 'creates a default instance with only an identifier' do
27
26
  expect(default_instance).to be_instance_of(Skeevy::Instance)
28
27
  end
@@ -43,9 +42,20 @@ RSpec.describe :skeevy do
43
42
  it 'ensures [] is equivalent to .instance' do
44
43
  expect(Skeevy.instance(:default)).to equal(Skeevy[:default])
45
44
  end
45
+ end
46
46
 
47
+ describe 'instantiation with injected dependencies' do
48
+ context 'with an engine' do
49
+ let(:my_engine) { Skeevy::Engines::DirectoryFile.new(base_dir: 'tmp', delimiter: '-') }
50
+ it 'registers with the instance' do
51
+ expect(Skeevy.register!(identifier: :with_engine,
52
+ engine: my_engine)).to be_instance_of(Skeevy::Instance)
53
+ end
54
+ end
47
55
  end
48
56
 
57
+
58
+
49
59
  describe '.inspect' do
50
60
  it 'outputs the proper string' do
51
61
  expect(Skeevy.inspect).to eq "Skeevy #{Skeevy::VERSION}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skeevy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Waterman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-19 00:00:00.000000000 Z
11
+ date: 2014-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec