hashstruct 1.5 → 1.6

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
  SHA256:
3
- metadata.gz: ef62c5e766986486e0eae763c0f1bef12da2b6a52bbe7d272f67467a0aee3eba
4
- data.tar.gz: 10e99235757740e723af33d73811c25d434535a57be1f632a750cfde6c0032e8
3
+ metadata.gz: 9bb8d396bd6c95aa68e0ab3a1e72630a4a7f7cece09984911c6e6273da3289e6
4
+ data.tar.gz: 4651160714c6568b2d966d4ff30c63ed7e32edef530755b9d3001ac7546f768e
5
5
  SHA512:
6
- metadata.gz: e9dea5dfff5fce6eaa30717d47015a44cc9d71435dd720932d3f28f617fd861352558db9197ade43d71a415ca8e9c39a150aee3d62503a5e63e42ad0f56696dd
7
- data.tar.gz: 72edc59eb48835375aefe3cbfdbc9e6dcd779f67a78281ec141d53414dc9ed71f317cee03190f097a935c8f4fb64fadf892cb0b3b02f970ec748284c7f4a89d3
6
+ metadata.gz: b91e83cc287829c842eca701a00d15c89682424d982db9886d4c2afa764aa0e1894809af8e38d9381d41fe3d58c0109c669a7e75d1f225613053cf01d3cd23a9
7
+ data.tar.gz: e50e44520b166fe639c6fa1b81815dab7b53e49ddea3265c934f07b1b762208d1a412045e27e8121b4c2b91294a6a03398de85f343da3317d9e673b42fa3fe53
data/hashstruct.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'hashstruct'
3
- s.version = '1.5'
3
+ s.version = '1.6'
4
4
  s.summary = 'Overly helpful magic hash structure.'
5
5
  s.author = 'John Labovitz'
6
6
  s.email = 'johnl@johnlabovitz.com'
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_path = 'lib'
18
18
 
19
19
  s.add_development_dependency 'bundler', '~> 2.5'
20
- s.add_development_dependency 'minitest', '~> 5.20'
20
+ s.add_development_dependency 'minitest', '~> 5.22'
21
21
  s.add_development_dependency 'minitest-power_assert', '~> 0.3'
22
- s.add_development_dependency 'rake', '~> 13.1'
22
+ s.add_development_dependency 'rake', '~> 13.2'
23
23
  end
data/lib/hashstruct.rb CHANGED
@@ -41,16 +41,16 @@ class HashStruct < Hash
41
41
  when %r{^(ftp|http|https|mailto):}
42
42
  URI.parse(obj) rescue obj
43
43
  # integer
44
- when %r{^-?[1-9][\d,]*$}
45
- obj.gsub(/,/, '').to_i
44
+ when %r{^-?[1-9]\d*$}
45
+ obj.to_i
46
46
  # hex integer
47
47
  when %r{^0x[0-9a-f]+$}i
48
48
  obj.hex
49
49
  # float
50
- when %r{^-?[\d,]+\.\d+$}
51
- obj.gsub(/,/, '').to_f
50
+ when %r{^-?\d+\.\d+$}
51
+ obj.to_f
52
52
  # percent
53
- when %r{^-?[\d,]+(\.\d+)?%$}
53
+ when %r{^-?\d+(\.\d+)?%$}
54
54
  obj.to_f / 100
55
55
  # rational
56
56
  when %r{^(\d+)/(\d+)$}
data/test/test.rb CHANGED
@@ -10,6 +10,8 @@ class Test < Minitest::Test
10
10
  @h = HashStruct.new(
11
11
  date1: '2017-11-01',
12
12
  'Date-Time' => '2023-12-23T13:20:00-05:00',
13
+ number: '1',
14
+ string: '1,2',
13
15
  )
14
16
  end
15
17
 
@@ -20,4 +22,11 @@ class Test < Minitest::Test
20
22
  assert { d2.kind_of?(Date) }
21
23
  end
22
24
 
25
+ def test_number
26
+ number = @h.number
27
+ assert { number.kind_of?(Numeric) }
28
+ string = @h.string
29
+ assert { string.kind_of?(String) }
30
+ end
31
+
23
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashstruct
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.5'
4
+ version: '1.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Labovitz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-23 00:00:00.000000000 Z
11
+ date: 2024-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.20'
33
+ version: '5.22'
34
34
  type: :development
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: '5.20'
40
+ version: '5.22'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest-power_assert
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '13.1'
61
+ version: '13.2'
62
62
  type: :development
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: '13.1'
68
+ version: '13.2'
69
69
  description: "\n HashStruct provides an object based on Hash, but acts like Struct
70
70
  (or OpenStruct), providing helpful\n accessors for each key from the get-go.
71
71
  It also magically parses string values when it can (eg, dates,\n URIs, numbers,
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
- rubygems_version: 3.5.3
104
+ rubygems_version: 3.5.10
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: Overly helpful magic hash structure.