ostruct 0.5.3 → 0.5.4

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/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