arendelle 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/arendelle.rb +10 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8c4731aa741a8c2c04710d88dd8c765def58bc0
4
- data.tar.gz: 450779ee96a563356f0157d997c76965dd2b76ca
3
+ metadata.gz: 523b30b2cc032df7c6c627f35d59f5a31e5ec9b2
4
+ data.tar.gz: eb0b465143b28086f212b5ead8fa2c9d10f07b3a
5
5
  SHA512:
6
- metadata.gz: 2316e611e4cd8a45930b5071a608e154570aeb7bf31bc6516c4c2ddd13815389cc6a5052729b961f4259ea63f1754d5899942cd97b8bbf9ab239e59058c6ce1a
7
- data.tar.gz: 7f61c21e719c80d55398c5c76622d6fee69355ffaec1383b277de9daba175846a70139e653d3d41784440fe9a6d5974916cbb57b948b47424f427831927fead6
6
+ metadata.gz: 774721dc4e9d1100b9ccbd20170c27d691b8a2d71c26bfc93d71cb2e0f0a999a75c313c4c681d7282c8164c9571c57a160977538e70e1949108f6960bce16c70
7
+ data.tar.gz: ec07f81ed7d49c06fe625228953ff0ab2ee8135d8a3f4cc609c34c6a023e412c29db737738dba16e67a1144c207fb03f083c321d43c3b94c559bd670b5d72a71
@@ -1,3 +1,8 @@
1
+ ## [0.1.2] - 2017-11-03
2
+
3
+ Added #to_h to allow conversion of objects to hashes, allowing for easier
4
+ testing via hash comparison.
5
+
1
6
  ## [0.1.1] - 2017-03-20
2
7
 
3
8
  Added support for handling JSON keys that start with integers. Previously this was attempting to use an invalid instance variable ("@1234"). New behavior prepends instance variables and method access calls with an underscore: `obj._1234` or `obj.instance_variable_get("_@1234")`.
@@ -1,5 +1,5 @@
1
1
  class Arendelle
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
 
4
4
  def initialize(**opts)
5
5
  opts.each { |k, v| self[k] = v }
@@ -21,6 +21,15 @@ class Arendelle
21
21
  end
22
22
  end
23
23
  end
24
+
25
+ def to_h
26
+ instance_variables.each_with_object({}) do |ivar, hash|
27
+ key = ivar.to_s[2..-1]
28
+ value = send(key)
29
+ new_value = value.is_a?(Arendelle) ? value.to_h : value
30
+ hash[key.to_sym] = new_value
31
+ end
32
+ end
24
33
  end
25
34
 
26
35
  class FrozenVariableError < StandardError
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arendelle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Cole
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-21 00:00:00.000000000 Z
11
+ date: 2017-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.6.8
94
+ rubygems_version: 2.6.11
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: A simple gem for creating mostly frozen objects. Useful for configuration-like