dottie 0.0.2 → 0.0.4

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
- SHA1:
3
- metadata.gz: e8fe0e0c66b729b6ab64a79adc1160b60c4187dc
4
- data.tar.gz: bbc78b403f71ffdaadc8a5fbb2bc0a8bf94c5b36
2
+ SHA256:
3
+ metadata.gz: f59286812b786566c8203957a02f2ec4037aad38c8a3868e01dfc425f6896ea1
4
+ data.tar.gz: 6578efca7001ff01a79b79fcd701c5a96ecb727624e652100a271df4961fb141
5
5
  SHA512:
6
- metadata.gz: ae21085526870fdd772f49ada018d955bac6078e4044a7dfda291927c6adcaca167e6d9b5fc3f591dd792522336e4f8d8fd6e960034a1b61aca130c7ff4ad8ce
7
- data.tar.gz: c13c35c1968f029ef37c6c392d10b8266eda5ba71d3f95f3cb55833d3a914b28ac5eaff692a2b5c79006e1e386e9df401552f34ad8a48abc4d673ae2cd517e59
6
+ metadata.gz: a1298c8774d4f79e774ffc451bd6a84e969073607dbc86dfc0fd8468cca663db5bd9fdecc8b21db35692f1de1aa501c5535a683c1aa9b43021c7d89b6adc0e47
7
+ data.tar.gz: fd50f3a810510c44f40a90a95827b8a426597eafe3dc9170113548c0c3165d29d02ca4884ef36a0859eb4c8f8711e97a9f531521f5af52a583164aefbd83f84a
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rspec/core/rake_task'
2
2
  require 'bundler/gem_tasks'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec) do |task|
5
- task.rspec_opts = ['--color', '--format', 'nested']
5
+ task.rspec_opts = ['--color', '--format', 'progress']
6
6
  end
7
7
 
8
8
  task default: :spec
data/dottie.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.5"
23
+ spec.add_development_dependency "bundler", ">= 2.2.33"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
26
26
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Array
2
4
 
3
5
  ##
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Hash
2
4
 
3
5
  ##
data/lib/dottie/ext.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'dottie'
2
4
  require 'dottie/ext/array'
3
5
  require 'dottie/ext/hash'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Dottie
2
4
  class Freckle
3
5
  include Methods
data/lib/dottie/helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ##
2
4
  # Creates a new Dottie::Freckle from a standard Hash or Array.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Dottie
2
4
  module Methods
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Dottie
2
- VERSION = '0.0.2'
4
+ VERSION = '0.0.4'
3
5
  end
data/lib/dottie.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'dottie/methods'
2
4
  require 'dottie/freckle'
3
5
  require 'dottie/helper'
@@ -139,7 +141,7 @@ module Dottie
139
141
  key = Dottie.build_key(key_parts[0..-2])
140
142
  obj = Dottie.get(obj, key)
141
143
  end
142
- if obj.is_a?(Array) && key_parts.last.is_a?(Fixnum)
144
+ if obj.is_a?(Array) && key_parts.last.is_a?(Integer)
143
145
  obj.delete_at(key_parts.last)
144
146
  else
145
147
  obj.delete(key_parts.last)
@@ -235,13 +237,13 @@ module Dottie
235
237
  # Builds a Dottie key from an Array of strings and integers.
236
238
 
237
239
  def self.build_key(parts)
238
- key = ''
240
+ key = String.new('')
239
241
  parts.each_with_index do |part, i|
240
242
  case part
241
243
  when String
242
244
  key << '.' unless i == 0
243
245
  key << part
244
- when Fixnum
246
+ when Integer
245
247
  key << "[#{part}]"
246
248
  end
247
249
  end
data/spec/array_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'dottie/ext'
3
5
 
data/spec/dottie_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Dottie do
@@ -164,28 +166,28 @@ describe Dottie do
164
166
  let(:hash) {{ 'a' => 'b', 'c' => { 'd' => ['e', 'f', 'g'] } }}
165
167
 
166
168
  it "finds a standard key" do
167
- expect(Dottie.has_key?(hash, 'a')).to be_true
169
+ expect(Dottie.has_key?(hash, 'a')).to be true
168
170
  end
169
171
  it "does not find a missing standard key" do
170
- expect(Dottie.has_key?(hash, 'x')).to be_false
172
+ expect(Dottie.has_key?(hash, 'x')).to be false
171
173
  end
172
174
  it "finds a Dottie key (Hash value)" do
173
- expect(Dottie.has_key?(hash, 'c.d')).to be_true
175
+ expect(Dottie.has_key?(hash, 'c.d')).to be true
174
176
  end
175
177
  it "finds a Dottie key (Array element)" do
176
- expect(Dottie.has_key?(hash, 'c.d[0]')).to be_true
178
+ expect(Dottie.has_key?(hash, 'c.d[0]')).to be true
177
179
  end
178
180
  it "does not find a missing Dottie key (first part is a String)" do
179
- expect(Dottie.has_key?(hash, 'a.b')).to be_false
181
+ expect(Dottie.has_key?(hash, 'a.b')).to be false
180
182
  end
181
183
  it "does not find a missing Dottie key (first part exists)" do
182
- expect(Dottie.has_key?(hash, 'c.x')).to be_false
184
+ expect(Dottie.has_key?(hash, 'c.x')).to be false
183
185
  end
184
186
  it "does not find a missing Dottie key (outside Array bounds)" do
185
- expect(Dottie.has_key?(hash, 'c.d[4]')).to be_false
187
+ expect(Dottie.has_key?(hash, 'c.d[4]')).to be false
186
188
  end
187
189
  it "does not find a missing Dottie key (no part exists)" do
188
- expect(Dottie.has_key?(hash, 'x.y')).to be_false
190
+ expect(Dottie.has_key?(hash, 'x.y')).to be false
189
191
  end
190
192
  end
191
193
 
@@ -448,22 +450,22 @@ describe Dottie do
448
450
 
449
451
  it 'recognizes a dotted key' do
450
452
  key = 'a.b.c'
451
- expect(Dottie.dottie_key?(key)).to be_true
453
+ expect(Dottie.dottie_key?(key)).to be true
452
454
  end
453
455
 
454
456
  it 'recognizes a bracketed key' do
455
457
  key = 'a[0]b'
456
- expect(Dottie.dottie_key?(key)).to be_true
458
+ expect(Dottie.dottie_key?(key)).to be true
457
459
  end
458
460
 
459
461
  it 'recognizes an array as a Dottie key' do
460
462
  key = ['a', 'b', 'c']
461
- expect(Dottie.dottie_key?(key)).to be_true
463
+ expect(Dottie.dottie_key?(key)).to be true
462
464
  end
463
465
 
464
466
  it 'does not recognize a normal key' do
465
467
  key = 'a_b_c'
466
- expect(Dottie.dottie_key?(key)).to be_false
468
+ expect(Dottie.dottie_key?(key)).to be false
467
469
  end
468
470
 
469
471
  end
data/spec/freckle_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Dottie::Freckle do
@@ -147,28 +149,28 @@ describe Dottie::Freckle do
147
149
  let(:freckle) { Dottie::Freckle.new({ 'a' => 'b', 'c' => { 'd' => ['e', 'f', 'g'] } }) }
148
150
 
149
151
  it "finds a standard key" do
150
- expect(freckle.has_key?('a')).to be_true
152
+ expect(freckle.has_key?('a')).to be true
151
153
  end
152
154
  it "does not find a missing standard key" do
153
- expect(freckle.has_key?('x')).to be_false
155
+ expect(freckle.has_key?('x')).to be false
154
156
  end
155
157
  it "finds a Dottie key (Hash value)" do
156
- expect(freckle.has_key?('c.d')).to be_true
158
+ expect(freckle.has_key?('c.d')).to be true
157
159
  end
158
160
  it "finds a Dottie key (Array element)" do
159
- expect(freckle.has_key?('c.d[0]')).to be_true
161
+ expect(freckle.has_key?('c.d[0]')).to be true
160
162
  end
161
163
  it "does not find a missing Dottie key (first part is a String)" do
162
- expect(freckle.has_key?('a.b')).to be_false
164
+ expect(freckle.has_key?('a.b')).to be false
163
165
  end
164
166
  it "does not find a missing Dottie key (first part exists)" do
165
- expect(freckle.has_key?('c.x')).to be_false
167
+ expect(freckle.has_key?('c.x')).to be false
166
168
  end
167
169
  it "does not find a missing Dottie key (outside Array bounds)" do
168
- expect(freckle.has_key?('c.d[4]')).to be_false
170
+ expect(freckle.has_key?('c.d[4]')).to be false
169
171
  end
170
172
  it "does not find a missing Dottie key (no part exists)" do
171
- expect(freckle.has_key?('x.y')).to be_false
173
+ expect(freckle.has_key?('x.y')).to be false
172
174
  end
173
175
  end
174
176
 
data/spec/hash_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'dottie/ext'
3
5
 
data/spec/spec_helper.rb CHANGED
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'dottie'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dottie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Pearson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-24 00:00:00.000000000 Z
11
+ date: 2026-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: 2.2.33
20
20
  type: :development
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: '1.5'
26
+ version: 2.2.33
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -85,7 +85,7 @@ homepage: https://github.com/nickpearson/dottie
85
85
  licenses:
86
86
  - MIT
87
87
  metadata: {}
88
- post_install_message:
88
+ post_install_message:
89
89
  rdoc_options: []
90
90
  require_paths:
91
91
  - lib
@@ -100,9 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubyforge_project:
104
- rubygems_version: 2.4.5
105
- signing_key:
103
+ rubygems_version: 3.2.33
104
+ signing_key:
106
105
  specification_version: 4
107
106
  summary: Deep Hash and Array access with dotted keys
108
107
  test_files: