ducktrap 0.0.1 → 0.0.2

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.devtools +19 -23
  3. data/ducktrap.gemspec +7 -7
  4. data/lib/ducktrap.rb +1 -1
  5. data/lib/ducktrap/nary.rb +2 -2
  6. data/lib/ducktrap/node/primitive.rb +1 -1
  7. data/lib/ducktrap/registry.rb +2 -2
  8. data/spec/support/let_mock_helper.rb +4 -9
  9. data/spec/unit/ducktrap/builder/class_methods/new_spec.rb +1 -1
  10. data/spec/unit/ducktrap/builder/new_spec.rb +1 -1
  11. data/spec/unit/ducktrap/evaluator/assert_successful_spec.rb +2 -2
  12. data/spec/unit/ducktrap/evaluator/invalid/output_spec.rb +2 -2
  13. data/spec/unit/ducktrap/evaluator/noop/output_spec.rb +2 -2
  14. data/spec/unit/ducktrap/evaluator/output_spec.rb +3 -3
  15. data/spec/unit/ducktrap/evaluator/successful_predicate_spec.rb +3 -3
  16. data/spec/unit/ducktrap/failed_transformation_error/message_spec.rb +2 -2
  17. data/spec/unit/ducktrap/formatter/name_spec.rb +1 -1
  18. data/spec/unit/ducktrap/formatter/nest_spec.rb +2 -2
  19. data/spec/unit/ducktrap/mapper/builder/dumper_spec.rb +4 -4
  20. data/spec/unit/ducktrap/mapper/builder/loader_spec.rb +4 -4
  21. data/spec/unit/ducktrap/mapper/builder/object_spec.rb +5 -5
  22. data/spec/unit/ducktrap/mapper/class_methods/build_spec.rb +3 -3
  23. data/spec/unit/ducktrap/nary/class_methods/build_spec.rb +2 -2
  24. data/spec/unit/ducktrap/nary/evaluator/output_spec.rb +5 -5
  25. data/spec/unit/ducktrap/node/anima/dump/evaluator/output_spec.rb +2 -2
  26. data/spec/unit/ducktrap/node/anima/dump/inverse_spec.rb +1 -1
  27. data/spec/unit/ducktrap/node/anima/evaluator/output_spec.rb +2 -2
  28. data/spec/unit/ducktrap/node/anima/load/evaluator/output_spec.rb +1 -1
  29. data/spec/unit/ducktrap/node/anima/load/inverse_spec.rb +1 -1
  30. data/spec/unit/ducktrap/node/block/evaluator/output_spec.rb +5 -5
  31. data/spec/unit/ducktrap/node/call_spec.rb +1 -1
  32. data/spec/unit/ducktrap/node/custom/call_spec.rb +4 -4
  33. data/spec/unit/ducktrap/node/custom/class_methods/build_spec.rb +2 -2
  34. data/spec/unit/ducktrap/node/forward/evaluator/output_spec.rb +2 -2
  35. data/spec/unit/ducktrap/node/guard_nil/evaluator/output_spec.rb +3 -3
  36. data/spec/unit/ducktrap/node/hash/transform/evaluator/output_spec.rb +1 -1
  37. data/spec/unit/ducktrap/node/invalid/call_spec.rb +3 -3
  38. data/spec/unit/ducktrap/node/inverse/call_spec.rb +1 -1
  39. data/spec/unit/ducktrap/node/key/add/call_spec.rb +6 -6
  40. data/spec/unit/ducktrap/node/key/add/evaluator/call_spec.rb +6 -6
  41. data/spec/unit/ducktrap/node/key/add/inverse_spec.rb +2 -2
  42. data/spec/unit/ducktrap/node/key/delete/call_spec.rb +3 -3
  43. data/spec/unit/ducktrap/node/key/delete/evaluator/call_spec.rb +3 -3
  44. data/spec/unit/ducktrap/node/key/delete/inverse_spec.rb +2 -2
  45. data/spec/unit/ducktrap/node/key/dump/evaluator/output_spec.rb +4 -4
  46. data/spec/unit/ducktrap/node/key/dump/inverse_spec.rb +1 -1
  47. data/spec/unit/ducktrap/node/key/evaluator/key_spec.rb +3 -3
  48. data/spec/unit/ducktrap/node/key/fetch/evaluator/output_spec.rb +3 -3
  49. data/spec/unit/ducktrap/node/key/fetch/inverse_spec.rb +1 -1
  50. data/spec/unit/ducktrap/node/map/evaluator/output_spec.rb +1 -1
  51. data/spec/unit/ducktrap/node/noop/call_spec.rb +1 -1
  52. data/spec/unit/ducktrap/node/primitive/inverse_spec.rb +2 -3
  53. data/spec/unit/ducktrap/node/run_spec.rb +2 -2
  54. data/spec/unit/ducktrap/node/static/call_spec.rb +3 -3
  55. data/spec/unit/ducktrap/node/static/inverse_spec.rb +2 -2
  56. data/spec/unit/ducktrap/registry/lookup_spec.rb +3 -3
  57. data/spec/unit/ducktrap/registry/register_spec.rb +2 -2
  58. data/spec/unit/ducktrap/unary/evaluator/output2_spec.rb +3 -3
  59. data/spec/unit/ducktrap/unary/evaluator/output_spec.rb +4 -4
  60. metadata +14 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce1ef7dfbebc6e9566fe5e796951010cfd5df998
4
- data.tar.gz: 8336cedd94c054c8d3df0605eed5977139a162b6
3
+ metadata.gz: abf74921a4fd96233b746a958969e8445071d285
4
+ data.tar.gz: 07ee183763f64286f40fd20d828559a0528c53bf
5
5
  SHA512:
6
- metadata.gz: c3717df9b47329ec0f7fcb8ef2ef6e95d24152410fc66c9b11b17c9f5aeab04a116c79fb472cb12dc390075ea08ddcd5996220a1b4cd861e1dfac7436106b6de
7
- data.tar.gz: 6838b3609b8f4f3054c8a7dc3b3bf4558fb068b69e5556ec3f113a28d3669280be6ba93579cd84da708012b493cf5d911dedb0c67fd298580933cd6fc7196cfa
6
+ metadata.gz: 46a7d51c7a5ecc80c53eda3c5fb1d4e3fef122f1599517deb324812d1032c9da9bc49cdfee52f6913c6ae6bed70400fcfc0ba06f79dea1072486564e7e9cc0f7
7
+ data.tar.gz: 680028cc151267272c7ef85fb0322cf0bb2caaa8dc2e55b94914599ff0f137698e49f05fd8aca0eb6cb615101e9c29ca794da83414f9c8ebfdcdbe2251b513a8
@@ -2,49 +2,45 @@
2
2
 
3
3
  group :development do
4
4
  gem 'rake', '~> 10.1.0'
5
- gem 'rspec', '~> 2.13.0'
6
- gem 'yard', '~> 0.8.6.2'
5
+ gem 'rspec', '~> 2.14.1'
6
+ gem 'yard', '~> 0.8.7'
7
7
  end
8
8
 
9
9
  group :yard do
10
- gem 'kramdown', '~> 1.1.0'
10
+ gem 'kramdown', '~> 1.2.0'
11
11
  end
12
12
 
13
13
  group :guard do
14
14
  gem 'guard', '~> 1.8.1'
15
15
  gem 'guard-bundler', '~> 1.0.0'
16
16
  gem 'guard-rspec', '~> 3.0.2'
17
+ gem 'guard-rubocop', '~> 0.2.0'
18
+ gem 'guard-mutant', '~> 0.0.1'
17
19
 
18
20
  # file system change event handling
19
- gem 'listen', '~> 1.2.2'
20
- gem 'rb-fchange', '~> 0.0.6', :require => false
21
- gem 'rb-fsevent', '~> 0.9.3', :require => false
22
- gem 'rb-inotify', '~> 0.9.0', :require => false
21
+ gem 'listen', '~> 1.3.0'
22
+ gem 'rb-fchange', '~> 0.0.6', require: false
23
+ gem 'rb-fsevent', '~> 0.9.3', require: false
24
+ gem 'rb-inotify', '~> 0.9.0', require: false
23
25
 
24
26
  # notification handling
25
- gem 'libnotify', '~> 0.8.0', :require => false
26
- gem 'rb-notifu', '~> 0.0.4', :require => false
27
- gem 'terminal-notifier-guard', '~> 1.5.3', :require => false
27
+ gem 'libnotify', '~> 0.8.0', require: false
28
+ gem 'rb-notifu', '~> 0.0.4', require: false
29
+ gem 'terminal-notifier-guard', '~> 1.5.3', require: false
28
30
  end
29
31
 
30
32
  group :metrics do
31
33
  gem 'coveralls', '~> 0.6.7'
32
- gem 'flay', '~> 2.3.0'
33
- gem 'flog', '~> 4.1.0'
34
- gem 'reek', '~> 1.3.1', :git => 'https://github.com/troessner/reek.git'
34
+ gem 'flay', '~> 2.4.0'
35
+ gem 'flog', '~> 4.1.1'
36
+ gem 'reek', '~> 1.3.2'
37
+ gem 'rubocop', '~> 0.13.0'
35
38
  gem 'simplecov', '~> 0.7.1'
36
- gem 'yardstick', '~> 0.9.6'
37
-
38
- platforms :ruby_19 do
39
- gem 'yard-spellcheck', '~> 0.1.5'
40
- end
39
+ gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
41
40
 
42
41
  platforms :ruby_19, :ruby_20 do
43
- gem 'mutant', '~> 0.3.0.beta8'
44
- end
45
-
46
- platforms :rbx do
47
- gem 'pelusa', '~> 0.2.2'
42
+ gem 'mutant', git: 'https://github.com/mbj/mutant.git'
43
+ gem 'yard-spellcheck', '~> 0.1.5'
48
44
  end
49
45
  end
50
46
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = 'ducktrap'
5
- gem.version = '0.0.1'
5
+ gem.version = '0.0.2'
6
6
  gem.authors = [ 'Markus Schirp' ]
7
7
  gem.email = [ 'mbj@schir-dso.com' ]
8
8
  gem.description = 'Invertible data filter/mutator on data structures'
@@ -14,10 +14,10 @@ Gem::Specification.new do |gem|
14
14
  gem.test_files = `git ls-files -- spec`.split("\n")
15
15
  gem.extra_rdoc_files = %w[TODO]
16
16
 
17
- gem.add_runtime_dependency('adamantium', '~> 0.0.10')
18
- gem.add_runtime_dependency('equalizer', '~> 0.0.5')
19
- gem.add_runtime_dependency('abstract_type', '~> 0.0.5')
20
- gem.add_runtime_dependency('anima', '~> 0.0.6')
21
- gem.add_runtime_dependency('addressable', '~> 2.3.2')
22
- gem.add_runtime_dependency('concord', '~> 0.1.1')
17
+ gem.add_runtime_dependency('adamantium', '~> 0.1.0')
18
+ gem.add_runtime_dependency('equalizer', '~> 0.0.7')
19
+ gem.add_runtime_dependency('abstract_type', '~> 0.0.6')
20
+ gem.add_runtime_dependency('anima', '~> 0.1.1')
21
+ gem.add_runtime_dependency('addressable', '~> 2.3.5')
22
+ gem.add_runtime_dependency('concord', '~> 0.1.4')
23
23
  end
@@ -24,7 +24,7 @@ module Ducktrap
24
24
  memoize :message
25
25
 
26
26
  end
27
-
27
+
28
28
  # Build ducktrap
29
29
  #
30
30
  # @return [Node]
@@ -1,10 +1,10 @@
1
1
  module Ducktrap
2
2
  # Mixin for Nary ducktraps
3
- module Nary
3
+ module Nary
4
4
 
5
5
  # Builder for nary ducktraps
6
6
  class Builder < Ducktrap::Builder
7
-
7
+
8
8
  # Add ducktrap argument
9
9
  #
10
10
  # @param [Ducktrap] ducktrap
@@ -44,7 +44,7 @@ module Ducktrap
44
44
  output.name(self)
45
45
  output.attribute(:primitive, primitive)
46
46
  end
47
-
47
+
48
48
  class << self
49
49
 
50
50
  # Build node
@@ -14,7 +14,7 @@ module Ducktrap
14
14
  #
15
15
  def register(name, ducktrap)
16
16
  if @index.key?(name)
17
- raise "name: #{name.inspect} does already exist"
17
+ raise "name: #{name.inspect} does already exist"
18
18
  end
19
19
 
20
20
  @index[name] = ducktrap
@@ -32,7 +32,7 @@ module Ducktrap
32
32
  # @return [self]
33
33
  # otherwise
34
34
  #
35
- # @yield
35
+ # @yield
36
36
  # if no ducktrap found for name
37
37
  #
38
38
  # @api private
@@ -1,13 +1,8 @@
1
1
  module LetMockHelper
2
- def let_mock(name,&block)
3
- let(name) do
4
- stubs =
5
- if block
6
- instance_exec(mock,&block)
7
- else
8
- {}
9
- end
10
- mock(name.to_s.capitalize,stubs)
2
+ def let_mock(name, &block)
3
+ let(name) do
4
+ stubs = block ? instance_exec(double, &block) : {}
5
+ double(name.to_s.capitalize, stubs)
11
6
  end
12
7
  end
13
8
  end
@@ -7,7 +7,7 @@ describe Ducktrap::Builder, '.new' do
7
7
  Class.new(described_class)
8
8
  end
9
9
 
10
- let(:klass) { mock('Class') }
10
+ let(:klass) { double('Class') }
11
11
 
12
12
  subject { object.new(klass, &block) }
13
13
 
@@ -7,7 +7,7 @@ describe Ducktrap::Builder, '.new' do
7
7
  Class.new(described_class)
8
8
  end
9
9
 
10
- let(:klass) { mock('Class') }
10
+ let(:klass) { double('Class') }
11
11
 
12
12
  subject { object.new(klass, &block) }
13
13
 
@@ -2,9 +2,9 @@ require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Evaluator, '#assert_successful' do
4
4
  let(:object) { class_under_test.new(context, input) }
5
-
5
+
6
6
  let(:context) { Ducktrap::Node::Noop.instance }
7
- let(:input) { mock('Input') }
7
+ let(:input) { double('Input') }
8
8
 
9
9
  subject { object.assert_successful }
10
10
 
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
  describe Ducktrap::Evaluator::Invalid, '#output' do
4
4
  let(:object) { described_class.new(context, input) }
5
5
 
6
- let(:context) { mock('Context') }
7
- let(:input) { mock('Input') }
6
+ let(:context) { double('Context') }
7
+ let(:input) { double('Input') }
8
8
 
9
9
  subject { object.output }
10
10
 
@@ -5,8 +5,8 @@ describe Ducktrap::Evaluator::Noop, '#output' do
5
5
 
6
6
  subject { object.output }
7
7
 
8
- let(:context) { mock('Context') }
9
- let(:input) { mock('Input') }
8
+ let(:context) { double('Context') }
9
+ let(:input) { double('Input') }
10
10
 
11
11
  it { should be(input) }
12
12
 
@@ -5,12 +5,12 @@ describe Ducktrap::Evaluator, '#output' do
5
5
 
6
6
  subject { object.output }
7
7
 
8
- let(:context) { mock('Context') }
9
- let(:input) { mock('Input') }
8
+ let(:context) { double('Context') }
9
+ let(:input) { double('Input') }
10
10
 
11
11
  context 'when using nested error' do
12
12
 
13
- let(:inner) { mock('Inner') }
13
+ let(:inner) { double('Inner') }
14
14
 
15
15
  let(:class_under_test) do
16
16
  inner = self.inner
@@ -2,9 +2,9 @@ require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Evaluator, '#successful?' do
4
4
  let(:object) { class_under_test.new(context, input) }
5
-
6
- let(:context) { mock('Context') }
7
- let(:input) { mock('Input') }
5
+
6
+ let(:context) { double('Context') }
7
+ let(:input) { double('Input') }
8
8
 
9
9
  subject { object.successful? }
10
10
 
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
  describe Ducktrap::FailedTransformationError, '#message' do
4
4
  subject { object.message }
5
5
 
6
- let(:evaluator) { mock('Evaluator', :pretty_inspect => 'blah') }
7
- let(:object) { described_class.new(evaluator) }
6
+ let(:evaluator) { double('Evaluator', :pretty_inspect => 'blah') }
7
+ let(:object) { described_class.new(evaluator) }
8
8
 
9
9
  it { should eql('blah') }
10
10
  end
@@ -14,7 +14,7 @@ describe Ducktrap::Formatter, '#name' do
14
14
  before { subject }
15
15
 
16
16
  let(:target) do
17
- mock(:class => mock(:name => 'Target'))
17
+ double(:class => double(:name => 'Target'))
18
18
  end
19
19
 
20
20
  it 'should print name of targets class' do
@@ -4,7 +4,7 @@ describe Ducktrap::Formatter, '#nest' do
4
4
  subject { object.nest(label, nested) }
5
5
 
6
6
  let(:label) { 'the-label' }
7
- let(:nested) { mock }
7
+ let(:nested) { double }
8
8
 
9
9
  let(:object) { described_class.new(io) }
10
10
  let(:io) { StringIO.new }
@@ -17,7 +17,7 @@ describe Ducktrap::Formatter, '#nest' do
17
17
  io.rewind
18
18
  io.read
19
19
  end
20
-
20
+
21
21
  let(:string) { 'the-string' }
22
22
 
23
23
  before { subject }
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Mapper::Builder, '#dumper' do
4
- subject do
4
+ subject do
5
5
  block = self.block
6
6
  described_class.new(Ducktrap::Mapper) do |mapper|
7
7
  mapper.dumper(&block).should be(mapper)
@@ -9,10 +9,10 @@ describe Ducktrap::Mapper::Builder, '#dumper' do
9
9
  end
10
10
 
11
11
  let(:block) { dumper = self.dumper; proc { add(dumper) } }
12
- let(:dumper) { mock('Dumper', :inverse => loader, :frozen? => true) }
13
- let(:loader) { mock('Loader') }
12
+ let(:dumper) { double('Dumper', :inverse => loader, :frozen? => true) }
13
+ let(:loader) { double('Loader') }
14
14
 
15
- its(:object) do
15
+ its(:object) do
16
16
  loader = Ducktrap::Node::Block.new([self.loader])
17
17
  dumper = Ducktrap::Node::Block.new([self.dumper])
18
18
  should eql(Ducktrap::Mapper.new(loader, dumper))
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Mapper::Builder, '#loader' do
4
- subject do
4
+ subject do
5
5
  block = self.block
6
6
  described_class.new(Ducktrap::Mapper) do |mapper|
7
7
  mapper.loader(&block).should be(mapper)
@@ -9,10 +9,10 @@ describe Ducktrap::Mapper::Builder, '#loader' do
9
9
  end
10
10
 
11
11
  let(:block) { loader = self.loader; proc { add(loader) } }
12
- let(:loader) { mock('Loader', :inverse => dumper, :frozen? => true) }
13
- let(:dumper) { mock('Dumper') }
12
+ let(:loader) { double('Loader', :inverse => dumper, :frozen? => true) }
13
+ let(:dumper) { double('Dumper') }
14
14
 
15
- its(:object) do
15
+ its(:object) do
16
16
  loader = Ducktrap::Node::Block.new([self.loader])
17
17
  dumper = Ducktrap::Node::Block.new([self.dumper])
18
18
  should eql(Ducktrap::Mapper.new(loader, dumper))
@@ -7,8 +7,8 @@ describe Ducktrap::Mapper::Builder, '#object' do
7
7
 
8
8
  subject { object.object }
9
9
 
10
- let(:loader) { mock('Loader', :frozen? => true) }
11
- let(:dumper) { mock('Dumper', :frozen? => true) }
10
+ let(:loader) { double('Loader', :frozen? => true) }
11
+ let(:dumper) { double('Dumper', :frozen? => true) }
12
12
 
13
13
  context 'with loader' do
14
14
  let(:block) do
@@ -24,7 +24,7 @@ describe Ducktrap::Mapper::Builder, '#object' do
24
24
  loader.stub(:inverse => dumper)
25
25
  end
26
26
 
27
- specify do
27
+ specify do
28
28
  loader = Ducktrap::Node::Block.new([self.loader])
29
29
  dumper = Ducktrap::Node::Block.new([self.dumper])
30
30
  should eql(Ducktrap::Mapper.new(loader, dumper))
@@ -45,7 +45,7 @@ describe Ducktrap::Mapper::Builder, '#object' do
45
45
  dumper.stub(:inverse => loader)
46
46
  end
47
47
 
48
- specify do
48
+ specify do
49
49
  loader = Ducktrap::Node::Block.new([self.loader])
50
50
  dumper = Ducktrap::Node::Block.new([self.dumper])
51
51
  should eql(Ducktrap::Mapper.new(loader, dumper))
@@ -72,7 +72,7 @@ describe Ducktrap::Mapper::Builder, '#object' do
72
72
  loader.stub(:inverse => dumper)
73
73
  end
74
74
 
75
- specify do
75
+ specify do
76
76
  loader = Ducktrap::Node::Block.new([self.loader])
77
77
  dumper = Ducktrap::Node::Block.new([self.dumper])
78
78
  should eql(Ducktrap::Mapper.new(loader, dumper))
@@ -3,12 +3,12 @@ require 'spec_helper'
3
3
  describe Ducktrap::Mapper do
4
4
 
5
5
  let(:object) { described_class }
6
-
6
+
7
7
  subject { described_class.build(&block) }
8
8
 
9
9
  let(:block) { proc {} }
10
- let(:builder) { mock('Builder', :object => mapper) }
11
- let(:mapper) { mock('Mapper') }
10
+ let(:builder) { double('Builder', :object => mapper) }
11
+ let(:mapper) { double('Mapper') }
12
12
 
13
13
  it 'should call Ducktrap::Mapper::Builder' do
14
14
  Ducktrap::Mapper::Builder.should_receive(:new).with(described_class) do |&block|
@@ -7,7 +7,7 @@ describe Ducktrap::Nary::ClassMethods, '#build' do
7
7
 
8
8
  let(:block) { proc {} }
9
9
 
10
- let(:output) { mock('Output') }
10
+ let(:output) { double('Output') }
11
11
 
12
12
  it 'should delegate to nary builder' do
13
13
  Ducktrap::Nary::Builder.should_receive(:new) do |first, second, third, &block|
@@ -15,7 +15,7 @@ describe Ducktrap::Nary::ClassMethods, '#build' do
15
15
  second.should be(:foo)
16
16
  third.should be(:bar)
17
17
  block.should be(self.block)
18
- mock(:object => output)
18
+ double(:object => output)
19
19
  end
20
20
  subject.should be(output)
21
21
  end
@@ -8,7 +8,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
8
8
  let(:input) { :input }
9
9
 
10
10
  def mymock(name, attributes={})
11
- mock(name, attributes.merge(:frozen? => true))
11
+ double(name, attributes.merge(:frozen? => true))
12
12
  end
13
13
 
14
14
  context 'without elements in block' do
@@ -27,7 +27,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
27
27
  let(:trap_b) { Ducktrap::Node::Noop.instance }
28
28
 
29
29
  it { should be(input) }
30
-
30
+
31
31
  it_should_behave_like 'an idempotent method'
32
32
  end
33
33
 
@@ -35,7 +35,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
35
35
  let(:trap_a) { Ducktrap::Node::Static.new(:forward, :inverse) }
36
36
  let(:trap_b) { Ducktrap::Node::Invalid.instance }
37
37
 
38
- its(:pretty_inspect) do
38
+ its(:pretty_inspect) do
39
39
  should eql(strip(<<-STR))
40
40
  Ducktrap::Error
41
41
  input: :input
@@ -55,9 +55,9 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
55
55
 
56
56
  context 'with early failure' do
57
57
  let(:trap_a) { Ducktrap::Node::Invalid.instance }
58
- let(:trap_b) { mock('Late Node') }
58
+ let(:trap_b) { double('Late Node') }
59
59
 
60
- its(:pretty_inspect) do
60
+ its(:pretty_inspect) do
61
61
  should eql(strip(<<-STR))
62
62
  Ducktrap::Error
63
63
  input: :input
@@ -7,8 +7,8 @@ describe Ducktrap::Node::Anima::Dump::Evaluator, '#output' do
7
7
  include Anima.new(:foo)
8
8
  end
9
9
  end
10
- let(:context) { mock('Context', :model => model) }
11
- let(:input) { model.new(:foo => :bar) }
10
+ let(:context) { double('Context', :model => model) }
11
+ let(:input) { model.new(:foo => :bar) }
12
12
 
13
13
  subject { object.output }
14
14
 
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Node::Anima::Dump, '#inverse' do
4
4
  let(:object) { described_class.new(model) }
5
- let(:model) { mock('Model') }
5
+ let(:model) { double('Model') }
6
6
 
7
7
  subject { object.inverse }
8
8
 
@@ -7,8 +7,8 @@ describe Ducktrap::Node::Anima::Dump::Evaluator, '#output' do
7
7
  include Anima.new(:foo)
8
8
  end
9
9
  end
10
- let(:context) { mock('Context', :model => model) }
11
- let(:input) { model.new(:foo => :bar) }
10
+ let(:context) { double('Context', :model => model) }
11
+ let(:input) { model.new(:foo => :bar) }
12
12
 
13
13
  subject { object.output }
14
14
 
@@ -10,7 +10,7 @@ describe Ducktrap::Node::Anima::Load::Evaluator, '#output' do
10
10
  end
11
11
  end
12
12
 
13
- let(:context) { mock('Context', :model => model) }
13
+ let(:context) { double('Context', :model => model) }
14
14
 
15
15
  subject { object.output }
16
16
 
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Node::Anima::Load, '#inverse' do
4
4
  let(:object) { described_class.new(model) }
5
- let(:model) { mock('Model') }
5
+ let(:model) { double('Model') }
6
6
 
7
7
  subject { object.inverse }
8
8
 
@@ -8,7 +8,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
8
8
  let(:input) { :input }
9
9
 
10
10
  def mymock(name, attributes={})
11
- mock(name, attributes.merge(:frozen? => true))
11
+ double(name, attributes.merge(:frozen? => true))
12
12
  end
13
13
 
14
14
  context 'without elements in block' do
@@ -27,7 +27,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
27
27
  let(:trap_b) { Ducktrap::Node::Noop.instance }
28
28
 
29
29
  it { should be(input) }
30
-
30
+
31
31
  it_should_behave_like 'an idempotent method'
32
32
  end
33
33
 
@@ -35,7 +35,7 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
35
35
  let(:trap_a) { Ducktrap::Node::Static.new(:forward, :inverse) }
36
36
  let(:trap_b) { Ducktrap::Node::Invalid.instance }
37
37
 
38
- its(:pretty_inspect) do
38
+ its(:pretty_inspect) do
39
39
  should eql(strip(<<-STR))
40
40
  Ducktrap::Error
41
41
  input: :input
@@ -55,9 +55,9 @@ describe Ducktrap::Node::Block::Evaluator, '#output' do
55
55
 
56
56
  context 'with early failure' do
57
57
  let(:trap_a) { Ducktrap::Node::Invalid.instance }
58
- let(:trap_b) { mock('Late Node') }
58
+ let(:trap_b) { double('Late Node') }
59
59
 
60
- its(:pretty_inspect) do
60
+ its(:pretty_inspect) do
61
61
  should eql(strip(<<-STR))
62
62
  Ducktrap::Error
63
63
  input: :input
@@ -15,7 +15,7 @@ describe Ducktrap::Node, '#call' do
15
15
  end
16
16
  end
17
17
 
18
- let(:input) { mock('Input') }
18
+ let(:input) { double('Input') }
19
19
 
20
20
  it { should eql(class_under_test::Evaluator.new(object, input)) }
21
21
  end
@@ -1,15 +1,15 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Ducktrap::Node::Custom, '#call' do
3
+ describe Ducktrap::Node::Custom, '#call' do
4
4
  let(:object) { described_class.new(forward, inverse) }
5
5
 
6
- let(:input) { mock('Input') }
7
- let(:output) { mock('Output') }
6
+ let(:input) { double('Input') }
7
+ let(:output) { double('Output') }
8
8
 
9
9
  let(:arguments) { [] }
10
10
 
11
11
  let(:forward) { lambda { |input| arguments << input; output } }
12
- let(:inverse) { mock('Inverse') }
12
+ let(:inverse) { double('Inverse') }
13
13
 
14
14
  subject { object.call(input) }
15
15
 
@@ -7,12 +7,12 @@ describe Ducktrap::Node::Custom, '.build' do
7
7
 
8
8
  let(:block) { proc {} }
9
9
 
10
- let(:result) { mock('Result') }
10
+ let(:result) { double('Result') }
11
11
 
12
12
  it 'should call custom builder and return its object' do
13
13
  Ducktrap::Node::Custom::Builder.should_receive(:new) do |&block|
14
14
  block.should be(self.block)
15
- mock(:object => result)
15
+ double(:object => result)
16
16
  end
17
17
  should be(result)
18
18
  end
@@ -3,9 +3,9 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Forward::Evaluator, '#output' do
4
4
  let(:object) { described_class.new(context, input) }
5
5
 
6
- let(:context) { mock('Context', :operand => operand) }
6
+ let(:context) { double('Context', :operand => operand) }
7
7
  let(:operand) { Ducktrap::Node::Static.new(:forward, :inverse) }
8
- let(:input) { mock('Input') }
8
+ let(:input) { double('Input') }
9
9
 
10
10
  subject { object.output }
11
11
 
@@ -3,12 +3,12 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::GuardNil::Evaluator, '#output' do
4
4
  let(:object) { described_class.new(context, input) }
5
5
 
6
- let(:context) { mock('Context', :operand => operand) }
6
+ let(:context) { double('Context', :operand => operand) }
7
7
 
8
8
  subject { object.output }
9
9
 
10
10
  context 'when input is nil' do
11
- let(:operand) { mock('Operand') }
11
+ let(:operand) { double('Operand') }
12
12
  let(:input) { nil }
13
13
 
14
14
  it { should be(nil) }
@@ -18,7 +18,7 @@ describe Ducktrap::Node::GuardNil::Evaluator, '#output' do
18
18
 
19
19
  context 'when input is not nil' do
20
20
  let(:operand) { Ducktrap::Node::Noop.instance }
21
- let(:input) { mock('Input', :frozen? => true) }
21
+ let(:input) { double('Input', :frozen? => true) }
22
22
 
23
23
  it { should be(input) }
24
24
 
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Hash::Transform::Evaluator, '#output' do
4
4
  let(:object) { described_class.new(context, input) }
5
5
 
6
- let(:context) { mock('Context', :body => body) }
6
+ let(:context) { double('Context', :body => body) }
7
7
 
8
8
  let(:noop) { Ducktrap::Node::Noop.instance }
9
9
 
@@ -3,9 +3,9 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Invalid, '#call' do
4
4
  let(:object) { described_class.instance }
5
5
 
6
- let(:value) { mock('Value') }
7
- let(:inverse_value) { mock('Inverse Value') }
8
- let(:input) { mock('Input') }
6
+ let(:value) { double('Value') }
7
+ let(:inverse_value) { double('Inverse Value') }
8
+ let(:input) { double('Input') }
9
9
 
10
10
  subject { object.call(input) }
11
11
 
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Inverse, '#call' do
4
4
  let(:object) { described_class.new(operand) }
5
5
  let(:operand) { Ducktrap::Node::Noop.instance }
6
- let(:input) { mock('Input', :frozen? => true) }
6
+ let(:input) { double('Input', :frozen? => true) }
7
7
 
8
8
  subject { object.call(input) }
9
9
 
@@ -3,12 +3,12 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Add, '#call' do
4
4
  subject { object.call(input) }
5
5
 
6
- let(:object) { described_class.new(operand, key) }
7
- let(:key) { mock('Key') }
8
- let(:operand) { mock('Operand', :call => operand_evaluator) }
9
- let(:operand_evaluator) { mock('Operand Evaluator', :output => operand_output, :successful? => true, :frozen? => true) }
10
- let(:operand_output) { mock('Operand Output') }
11
- let(:input) { { :foo => :bar }.freeze }
6
+ let(:object) { described_class.new(operand, key) }
7
+ let(:key) { double('Key') }
8
+ let(:operand) { double('Operand', :call => operand_evaluator) }
9
+ let(:operand_evaluator) { double('Operand Evaluator', :output => operand_output, :successful? => true, :frozen? => true) }
10
+ let(:operand_output) { double('Operand Output') }
11
+ let(:input) { { :foo => :bar }.freeze }
12
12
 
13
13
 
14
14
  its(:output) { should eql(:foo => :bar, key => operand_output) }
@@ -3,12 +3,12 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Add, '#call' do
4
4
  subject { object.call(input) }
5
5
 
6
- let(:object) { described_class.new(operand, key) }
7
- let(:key) { mock('Key') }
8
- let(:operand) { mock('Operand', :call => operand_evaluator) }
9
- let(:operand_evaluator) { mock('Operand Evaluator', :output => operand_output, :successful? => true, :frozen? => true) }
10
- let(:operand_output) { mock('Operand Output') }
11
- let(:input) { { :foo => :bar }.freeze }
6
+ let(:object) { described_class.new(operand, key) }
7
+ let(:key) { double('Key') }
8
+ let(:operand) { double('Operand', :call => operand_evaluator) }
9
+ let(:operand_evaluator) { double('Operand Evaluator', :output => operand_output, :successful? => true, :frozen? => true) }
10
+ let(:operand_output) { double('Operand Output') }
11
+ let(:input) { { :foo => :bar }.freeze }
12
12
 
13
13
 
14
14
  its(:output) { should eql(:foo => :bar, key => operand_output) }
@@ -5,8 +5,8 @@ describe Ducktrap::Node::Key::Add, '#inverse' do
5
5
  subject { object.inverse }
6
6
 
7
7
  let(:object) { described_class.new(inverse, key) }
8
- let(:key) { mock('Key') }
9
- let(:inverse) { mock('Inverse') }
8
+ let(:key) { double('Key') }
9
+ let(:inverse) { double('Inverse') }
10
10
 
11
11
  it { should eql(Ducktrap::Node::Key::Delete.new(inverse, key)) }
12
12
 
@@ -4,10 +4,10 @@ describe Ducktrap::Node::Key::Delete, '#call' do
4
4
  subject { object.call(input) }
5
5
 
6
6
  let(:object) { described_class.new(inverse, key) }
7
- let(:key) { mock('Key') }
7
+ let(:key) { double('Key') }
8
8
 
9
- let(:input) { { key => mock('Value') }.freeze }
10
- let(:inverse) { mock('Inverse') }
9
+ let(:input) { { key => double('Value') }.freeze }
10
+ let(:inverse) { double('Inverse') }
11
11
 
12
12
  its(:output) { should eql({}) }
13
13
  end
@@ -4,10 +4,10 @@ describe Ducktrap::Node::Key::Delete, '#call' do
4
4
  subject { object.call(input) }
5
5
 
6
6
  let(:object) { described_class.new(inverse, key) }
7
- let(:key) { mock('Key') }
7
+ let(:key) { double('Key') }
8
8
 
9
- let(:input) { { key => mock('Value') }.freeze }
10
- let(:inverse) { mock('Inverse') }
9
+ let(:input) { { key => double('Value') }.freeze }
10
+ let(:inverse) { double('Inverse') }
11
11
 
12
12
  its(:output) { should eql({}) }
13
13
  end
@@ -4,8 +4,8 @@ describe Ducktrap::Node::Key::Delete, '#inverse' do
4
4
  subject { object.inverse }
5
5
 
6
6
  let(:object) { described_class.new(inverse, key) }
7
- let(:key) { mock('Key') }
8
- let(:inverse) { mock('Inverse') }
7
+ let(:key) { double('Key') }
8
+ let(:inverse) { double('Inverse') }
9
9
 
10
10
  it { should eql(Ducktrap::Node::Key::Add.new(inverse, key)) }
11
11
 
@@ -3,14 +3,14 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Dump::Evaluator, '#output' do
4
4
 
5
5
  let(:object) { described_class.new(context, input) }
6
- let(:context) { mock('Context', :operand => operand, :key => key) }
6
+ let(:context) { double('Context', :operand => operand, :key => key) }
7
7
  let(:operand) { Ducktrap::Node::Noop.instance }
8
8
 
9
9
  subject { object.output }
10
10
 
11
- let(:key) { mock('Key', :frozen? => true) }
12
- let(:value) { mock('Value', :frozen? => true) }
13
-
11
+ let(:key) { double('Key', :frozen? => true) }
12
+ let(:value) { double('Value', :frozen? => true) }
13
+
14
14
  let(:input) { value }
15
15
 
16
16
  context 'when operand does NOT modify value' do
@@ -4,7 +4,7 @@ describe Ducktrap::Node::Key::Dump, '#inverse' do
4
4
  let(:object) { described_class.new(operand, key) }
5
5
 
6
6
  let(:operand) { Ducktrap::Node::Static.new(:forward, :inverse) }
7
- let(:key) { mock('Key') }
7
+ let(:key) { double('Key') }
8
8
 
9
9
  subject { object.inverse }
10
10
 
@@ -12,10 +12,10 @@ describe Ducktrap::Node::Key::Evaluator, '#output' do
12
12
  end
13
13
  end
14
14
 
15
- let(:key) { mock('Key') }
16
- let(:value) { mock('Value') }
15
+ let(:key) { double('Key') }
16
+ let(:value) { double('Value') }
17
17
 
18
- let(:context) { mock('Context', :key => key, :operand => operand) }
18
+ let(:context) { double('Context', :key => key, :operand => operand) }
19
19
  let(:operand) { Ducktrap::Node::Static.new(:forward, :inverse) }
20
20
 
21
21
  let(:input) { { key => value } }
@@ -3,13 +3,13 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Fetch::Evaluator, '#output' do
4
4
 
5
5
  let(:object) { described_class.new(context, input) }
6
- let(:context) { mock('Context', :operand => operand, :key => key) }
6
+ let(:context) { double('Context', :operand => operand, :key => key) }
7
7
  let(:operand) { Ducktrap::Node::Noop.instance }
8
8
 
9
9
  subject { object.output }
10
10
 
11
- let(:key) { mock('Key', :frozen? => true) }
12
- let(:value) { mock('Value', :frozen? => true) }
11
+ let(:key) { double('Key', :frozen? => true) }
12
+ let(:value) { double('Value', :frozen? => true) }
13
13
 
14
14
 
15
15
  context 'when key is present' do
@@ -4,7 +4,7 @@ describe Ducktrap::Node::Key::Fetch, '#inverse' do
4
4
  let(:object) { described_class.new(operand, key) }
5
5
 
6
6
  let(:operand) { Ducktrap::Node::Static.new(:forward, :inverse) }
7
- let(:key) { mock('Key') }
7
+ let(:key) { double('Key') }
8
8
 
9
9
  subject { object.inverse }
10
10
 
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Map::Evaluator, '#output' do
4
4
  let(:object) { described_class.new(context, input) }
5
5
 
6
- let(:context) { mock('Context', :operand => operand) }
6
+ let(:context) { double('Context', :operand => operand) }
7
7
  let(:input) { [:foo, :bar ] }
8
8
 
9
9
  subject { object.output }
@@ -5,7 +5,7 @@ describe Ducktrap::Node::Noop, '#call' do
5
5
 
6
6
  subject { object.call(input) }
7
7
 
8
- let(:input) { mock('Input') }
8
+ let(:input) { double('Input') }
9
9
 
10
10
  it { should eql(Ducktrap::Evaluator::Noop.new(object, input)) }
11
11
  end
@@ -1,9 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ducktrap::Node::Primitive, '#inverse' do
4
- let(:object) { described_class.new(primitive) }
5
-
6
- let(:primitive) { mock('Primitive') }
4
+ let(:object) { described_class.new(primitive) }
5
+ let(:primitive) { double('Primitive') }
7
6
 
8
7
  subject { object.inverse }
9
8
 
@@ -27,8 +27,8 @@ describe Ducktrap::Node, '#run' do
27
27
  end
28
28
 
29
29
  let(:evaluator) { Evaluator.new(output, successful?) }
30
- let(:input) { mock('Input') }
31
- let(:output) { mock('Output') }
30
+ let(:input) { double('Input') }
31
+ let(:output) { double('Output') }
32
32
 
33
33
  context 'when evaluator is successful' do
34
34
  let(:successful?) { true }
@@ -3,9 +3,9 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Static, '#call' do
4
4
  let(:object) { described_class.new(value, inverse_value) }
5
5
 
6
- let(:value) { mock('Value') }
7
- let(:inverse_value) { mock('Inverse Value') }
8
- let(:input) { mock('Input') }
6
+ let(:value) { double('Value') }
7
+ let(:inverse_value) { double('Inverse Value') }
8
+ let(:input) { double('Input') }
9
9
 
10
10
  subject { object.call(input) }
11
11
 
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Static, '#inverse' do
4
4
  let(:object) { described_class.new(value, inverse_value) }
5
5
 
6
- let(:value) { mock('Value') }
7
- let(:inverse_value) { mock('Inverse Value') }
6
+ let(:value) { double('Value') }
7
+ let(:inverse_value) { double('Inverse Value') }
8
8
 
9
9
  subject { object.inverse }
10
10
 
@@ -5,8 +5,8 @@ describe Ducktrap::Registry, '#lookup' do
5
5
 
6
6
  let(:object) { described_class.new }
7
7
 
8
- let(:name) { mock('Name') }
9
- let(:node) { mock('Node') }
8
+ let(:name) { double('Name') }
9
+ let(:node) { double('Node') }
10
10
 
11
11
  let(:block) { nil }
12
12
 
@@ -19,7 +19,7 @@ describe Ducktrap::Registry, '#lookup' do
19
19
  end
20
20
 
21
21
  context 'when name is NOT registred' do
22
- let(:other) { mock('Other') }
22
+ let(:other) { double('Other') }
23
23
  let(:block) { proc { other } }
24
24
 
25
25
  it { should be(other) }
@@ -4,8 +4,8 @@ describe Ducktrap::Registry, '#register' do
4
4
  subject { object.register(name, node) }
5
5
 
6
6
  let(:object) { Ducktrap::Registry.new }
7
- let(:name) { mock('Name') }
8
- let(:node) { mock('Node') }
7
+ let(:name) { double('Name') }
8
+ let(:node) { double('Node') }
9
9
 
10
10
  it_should_behave_like 'a command method'
11
11
 
@@ -3,13 +3,13 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Fetch::Evaluator, '#output' do
4
4
 
5
5
  let(:object) { described_class.new(context, input) }
6
- let(:context) { mock('Context', :operand => operand, :key => key) }
6
+ let(:context) { double('Context', :operand => operand, :key => key) }
7
7
  let(:operand) { Ducktrap::Node::Noop.instance }
8
8
 
9
9
  subject { object.output }
10
10
 
11
- let(:key) { mock('Key', :frozen? => true) }
12
- let(:value) { mock('Value', :frozen? => true) }
11
+ let(:key) { double('Key', :frozen? => true) }
12
+ let(:value) { double('Value', :frozen? => true) }
13
13
 
14
14
 
15
15
  context 'when key is present' do
@@ -3,14 +3,14 @@ require 'spec_helper'
3
3
  describe Ducktrap::Node::Key::Dump::Evaluator, '#output' do
4
4
 
5
5
  let(:object) { described_class.new(context, input) }
6
- let(:context) { mock('Context', :operand => operand, :key => key) }
6
+ let(:context) { double('Context', :operand => operand, :key => key) }
7
7
  let(:operand) { Ducktrap::Node::Noop.instance }
8
8
 
9
9
  subject { object.output }
10
10
 
11
- let(:key) { mock('Key', :frozen? => true) }
12
- let(:value) { mock('Value', :frozen? => true) }
13
-
11
+ let(:key) { double('Key', :frozen? => true) }
12
+ let(:value) { double('Value', :frozen? => true) }
13
+
14
14
  let(:input) { value }
15
15
 
16
16
  context 'when operand does NOT modify value' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ducktrap
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
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-03 00:00:00.000000000 Z
11
+ date: 2013-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: adamantium
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.10
19
+ version: 0.1.0
20
20
  type: :runtime
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: 0.0.10
26
+ version: 0.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: equalizer
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.5
33
+ version: 0.0.7
34
34
  type: :runtime
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: 0.0.5
40
+ version: 0.0.7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: abstract_type
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.5
47
+ version: 0.0.6
48
48
  type: :runtime
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: 0.0.5
54
+ version: 0.0.6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: anima
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.6
61
+ version: 0.1.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 0.0.6
68
+ version: 0.1.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: addressable
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 2.3.2
75
+ version: 2.3.5
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: 2.3.2
82
+ version: 2.3.5
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: concord
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: 0.1.1
89
+ version: 0.1.4
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: 0.1.1
96
+ version: 0.1.4
97
97
  description: Invertible data filter/mutator on data structures
98
98
  email:
99
99
  - mbj@schir-dso.com