dmtd_vbmapp_data 1.2.1 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 50dd243670d9f41fff63ca36ddae563e396a3c13
4
- data.tar.gz: cd4725291ba05388c26e7cecee6e358523a74661
3
+ metadata.gz: 452b6910fbdbf79ab46e8b614671a34716e85cb7
4
+ data.tar.gz: 6917e50baa2b54dfd2d0cd886d40922d1286e1dd
5
5
  SHA512:
6
- metadata.gz: 06766f9c656810a036cee77bcf70666e2953c774206019b9ffa1a00a0825a8921afa058b80d3426547f72d2fdaf079bc1e4fbc25c35ef24ff0f7b994442371cc
7
- data.tar.gz: 3a75ee30f2a21f8fb75ac31bbb75c1ab2015dc4367f11d9dbe461b031305bace64f12d3a7978ce2475b0061f8b94f7fa47944fdbe66d78d13089d18babb5ff77
6
+ metadata.gz: 2a34a3294284ecf7cc6f83f3742b9ee29bedc1c4224259f06701df883ae167e7ddb758c0d263ad6a3ad9db9c7f1e39ecc44aa89db4b9836b6c56a00a0699113e
7
+ data.tar.gz: 2fc950c004fd090729778fef264b69a90149999f188efe675bd2be8d12e8404867e9800f38c93b295cd61e96fdb1deac750c5960882a7f973b3a44297904fbb5
data/CHANGELOG.md CHANGED
@@ -39,4 +39,8 @@
39
39
 
40
40
  ## 1.2.1
41
41
 
42
- * Added support for level property on ProtocolAreaQuestion
42
+ * Added support for level property on ProtocolAreaQuestion
43
+
44
+ ## 1.2.2
45
+
46
+ * Removed Hashie gem dependency and internalized needed functionality (see Hash.rb)
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency 'psych', '~> 2.0'
23
23
  spec.add_dependency 'json', '~> 1.8'
24
- spec.add_dependency 'hashie', '~> 3.4'
25
24
 
26
25
  spec.add_development_dependency 'bundler', '~> 1.9'
27
26
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -184,7 +184,7 @@ module DmtdVbmappData
184
184
  server_response_code = response.code.to_i
185
185
 
186
186
  if server_response_code == 200
187
- json_body = Hashie.symbolize_keys!(JSON.parse(response.body))
187
+ json_body = JSON.parse(response.body).symbolize_hash_keys
188
188
  json = json_body[:response]
189
189
  end
190
190
 
@@ -0,0 +1,30 @@
1
+
2
+ # A simple extension to Hash to add symbolification of hash keys.
3
+ #
4
+ # Note: Since this gem doesn't require Rails, we cannot rely on those
5
+ # constructs. We could use the Hashie gem, but that seems like
6
+ # a lot of overhead for a such a simple operation. Additionally
7
+ # I've seen conflicts with Hashie versions (e.g. Rocketpants only
8
+ # works with Hashie < 3 and those versions of Hashie don't contain
9
+ # the needed symbolize_keys method).
10
+ class Hash
11
+
12
+ # Recursively (through Hash and Array) converts all Hash keys to symbols (calling to_sym) and returns
13
+ # a duplicate hash.
14
+ def symbolize_hash_keys
15
+ Hash.sym_hash_keys(self)
16
+ end
17
+
18
+ private
19
+
20
+ def self.sym_hash_keys(value)
21
+ if !value.nil? && value.is_a?(Hash)
22
+ Hash[value.map {|(k,v)| [k.to_sym, Hash.sym_hash_keys(v)]}]
23
+ elsif !value.nil? && value.is_a?(Array)
24
+ value.map { |v| Hash.sym_hash_keys(v) }
25
+ else
26
+ value
27
+ end
28
+ end
29
+
30
+ end
@@ -48,7 +48,7 @@ module DmtdVbmappData
48
48
  server_response_code = response.code.to_i
49
49
 
50
50
  if server_response_code == 200
51
- json_body = Hashie.symbolize_keys!(JSON.parse(response.body))
51
+ json_body = JSON.parse(response.body).symbolize_hash_keys
52
52
  json = json_body[:response]
53
53
  end
54
54
 
@@ -1,3 +1,3 @@
1
1
  module DmtdVbmappData
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  end
@@ -1,9 +1,10 @@
1
1
  # External deps
2
2
  require 'psych'
3
3
  require 'json'
4
- require 'hashie'
5
4
 
6
5
  # Our classes
6
+ require 'dmtd_vbmapp_data/hash'
7
+
7
8
  require 'dmtd_vbmapp_data/client'
8
9
 
9
10
  require 'dmtd_vbmapp_data/guide'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dmtd_vbmapp_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Hunt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-01 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: psych
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.8'
41
- - !ruby/object:Gem::Dependency
42
- name: hashie
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.4'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.4'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +105,7 @@ files:
119
105
  - lib/dmtd_vbmapp_data/guide.rb
120
106
  - lib/dmtd_vbmapp_data/guide_chapter.rb
121
107
  - lib/dmtd_vbmapp_data/guide_chapter_section.rb
108
+ - lib/dmtd_vbmapp_data/hash.rb
122
109
  - lib/dmtd_vbmapp_data/protocol.rb
123
110
  - lib/dmtd_vbmapp_data/protocol_area.rb
124
111
  - lib/dmtd_vbmapp_data/protocol_area_group.rb