ostruct 0.5.3 → 0.5.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ostruct.rb +10 -5
  3. data/ostruct.gemspec +0 -2
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5dd6c110dc356e3b206754a307aebdcd546da5b22aa0dbfc95fe1e804213f3ef
4
- data.tar.gz: c84e85b32c2b550068cb082ef1053b47238cad2af2647a6407637982cf6ae90c
3
+ metadata.gz: eac2df904d6f8e5f05be36be58b316b427d242d1e9d49393158c9dad9ea0b1cc
4
+ data.tar.gz: 3ce7d400c329fdd87068795d39af61573067e1823b416c7a64d3bda505e1aae8
5
5
  SHA512:
6
- metadata.gz: 6b4f764595555d9f2be9ee8e339b9391d7d6fe3b3e8739e7bb69a0bcf8f0cca3852ec8d7b542cf8484f4f830bba95092f5801a7c7345c31352c0bb0ecc98ac5c
7
- data.tar.gz: dce5c89e21deaf0f78a022e4e5e873f834f8b7090a6d74c7caf4c9c5fbf004f424018f28422addbd8324f5a5a444d5992bd057fddb3b736d7892c28b8cd06180
6
+ metadata.gz: 26522368cd5bbd3c8ef3f16e64629f9a9d85b9cae1b042a184185642cf90b554e46bf499c27d0858165b5add821ef82c544d67e2a0a910708a23c6d1d88713df
7
+ data.tar.gz: 5b767ef21b4c28d0653cf8d8437a38bc3b0497bbfaf315db3d32b94f490f0b36e28330fff1bb3c0f5e67e5c2ab4d414615bc65b1426d0588e8d2b1da8ccf9b78
data/lib/ostruct.rb CHANGED
@@ -107,7 +107,7 @@
107
107
  # For all these reasons, consider not using OpenStruct at all.
108
108
  #
109
109
  class OpenStruct
110
- VERSION = "0.5.3"
110
+ VERSION = "0.5.4"
111
111
 
112
112
  #
113
113
  # Creates a new OpenStruct object. By default, the resulting OpenStruct
@@ -356,14 +356,14 @@ class OpenStruct
356
356
  #
357
357
  # person.delete_field('number') { 8675_309 } # => 8675309
358
358
  #
359
- def delete_field(name)
359
+ def delete_field(name, &block)
360
360
  sym = name.to_sym
361
361
  begin
362
362
  singleton_class.remove_method(sym, "#{sym}=")
363
363
  rescue NameError
364
364
  end
365
365
  @table.delete(sym) do
366
- return yield if block_given!
366
+ return yield if block
367
367
  raise! NameError.new("no field `#{sym}' in #{self}", sym)
368
368
  end
369
369
  end
@@ -467,6 +467,11 @@ class OpenStruct
467
467
  end
468
468
  # Other builtin private methods we use:
469
469
  alias_method :raise!, :raise
470
- alias_method :block_given!, :block_given?
471
- private :raise!, :block_given!
470
+ private :raise!
471
+
472
+ # See https://github.com/ruby/ostruct/issues/40
473
+ if RUBY_ENGINE != 'jruby'
474
+ alias_method :block_given!, :block_given?
475
+ private :block_given!
476
+ end
472
477
  end
data/ostruct.gemspec CHANGED
@@ -20,8 +20,6 @@ Gem::Specification.new do |spec|
20
20
  spec.required_ruby_version = ">= 2.5.0"
21
21
 
22
22
  spec.files = [".gitignore", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "bin/console", "bin/setup", "lib/ostruct.rb", "ostruct.gemspec"]
23
- spec.bindir = "exe"
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
23
  spec.require_paths = ["lib"]
26
24
 
27
25
  spec.add_development_dependency "bundler"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ostruct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc-Andre Lafortune
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler