abstractivator 0.12.0 → 0.13.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: df9bb6dd07703c4bacac08956bd4e51a3534a5a1
4
- data.tar.gz: 2fd3fba6853fb45048b54d1dd5c2291e32349595
3
+ metadata.gz: 45c8fba3280c1d29b04f039b41ad5f9f1fb0d9ce
4
+ data.tar.gz: 466908745cf321c32d574ab98df30f0329656fba
5
5
  SHA512:
6
- metadata.gz: 44a9cf135bf5f587a19b27919fa4e55d51decdfc1f5d9ea1da56e09525e6a232079151050753cad2bef5809caf3671e9681c3ea1691358deaebc70d0568669c3
7
- data.tar.gz: a543479b06698f25045f4056971c208c711d24394a374e638aaf4fc3f3174e6eba9b9efd1674f90d0327f40f9c8046bf1be5ea60678b7e0fb2745f159206c3c7
6
+ metadata.gz: 8ca79e31fdece1d82be3be63147f30ec618ce81b3290d5418778ff5620604e9dbaab86dbe4f6c8181bfbbfb23792cff7def8fe2b73263fdcb2c28dc314b9093b
7
+ data.tar.gz: f9a2a806b5a48721bd2969cb9e9f38826b33d0db14794ed4072f05493333414d6b57ba4c81ad2d2fd8eeb6f318950cd45aec3d229e4c72b4e551c5f706bf1313
@@ -1,7 +1,7 @@
1
1
  # like Enumerable#map, except if the receiver is not enumerable,
2
2
  # i.e., a single value, then it transforms the single value.
3
3
 
4
- module Enumerable
4
+ class Array
5
5
  alias_method :value_map, :map
6
6
  end
7
7
 
@@ -16,9 +16,3 @@ class Object
16
16
  yield self
17
17
  end
18
18
  end
19
-
20
- class Struct
21
- def value_map
22
- yield self
23
- end
24
- end
@@ -1,3 +1,3 @@
1
1
  module Abstractivator
2
- VERSION = '0.12.0'
2
+ VERSION = '0.13.0'
3
3
  end
@@ -5,9 +5,8 @@ describe '#value_map' do
5
5
 
6
6
  Foo = Struct.new(:a)
7
7
 
8
- it 'maps enumerables' do
8
+ it 'maps arrays' do
9
9
  expect([[:a, 1], [:b, 2]].value_map(&:reverse)).to eql [[1, :a], [2, :b]]
10
- expect({a: 1, b: 2}.value_map(&:reverse)).to eql [[1, :a], [2, :b]]
11
10
  end
12
11
 
13
12
  it 'maps single values' do
@@ -18,6 +17,10 @@ describe '#value_map' do
18
17
  expect(Foo.new(42).value_map { |x| x.a }).to eql 42
19
18
  end
20
19
 
20
+ it 'hashes are treated as single values' do
21
+ expect({a: 1, b: 2}.value_map { |x| x[:a] }).to eql 1
22
+ end
23
+
21
24
  it 'maps nil' do
22
25
  expect(nil.value_map(&method(:square))).to be nil
23
26
  end
@@ -13,7 +13,6 @@ describe Exception do
13
13
  raise 'there was an error'
14
14
  end
15
15
  rescue => e
16
- e.print_full_trace
17
16
  e.print_full_trace(io)
18
17
  end
19
18
  expect(io.string).to match /RuntimeError: there was an error.*Caused by.*ArgumentError: x must not be nil/m
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstractivator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Winton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-09 00:00:00.000000000 Z
11
+ date: 2017-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler