ru.Bee 2.5.7 → 2.5.8

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
  SHA256:
3
- metadata.gz: 5bc0864116478dee824ed56c454d381716e961ba3d08486b5dedb25eca1c423a
4
- data.tar.gz: 94e688d7ecb3f4f9b0f06fbb89488e6a4b994320a97335c730aa9a8458757602
3
+ metadata.gz: 326e4c90ee2f508b646bb859bc99b82a0b71e531528ccce28abf6c2871d7fa5c
4
+ data.tar.gz: e61f9e11b7fa099d5a602f61cac7a6929009d093ac925ad17f79373ba5ebc09d
5
5
  SHA512:
6
- metadata.gz: 510be7a66abb2181a83aa28ccda82e4c492dc34bff1d905f926a4f98297c6be05de1320c876e1116999819c1784f8e142da29f4b816c834f1eb87e889af55902
7
- data.tar.gz: 9c8b9b280b030a860bc42101f03e3fe8065cd22d37efa707f1a77cb9f353c95724533c4dad172eaac59e61977bb3510a3590fdaf2f206015f02c915cee248e78
6
+ metadata.gz: 966496daef2ad7efe7a918edee0f9074c5668cf7b60ec9c1c43a844fe5dfa3640514ee8e03d4a606a4e94b03779a5cfa3ec2b743cf6e53686fa3fac18cf12124
7
+ data.tar.gz: 52d9ae220542a33c969403cdf166ae6bbaa43162dadded67d9f3692891be84d9e5ca1053ad0616b5f12714ffe34ee110e1f0cfa2d1ebdae04b2025b20c6f7e2d
@@ -55,7 +55,7 @@ module Rubee
55
55
  name = ::Regexp.last_match(1)
56
56
  kind = :method
57
57
  break
58
- elsif l =~ /^\s*describe\s+['"](.*)['"]/
58
+ elsif l =~ /^\s*(describe|context)\s+['"](.*)['"]/
59
59
  name = ::Regexp.last_match(1)
60
60
  kind = :spec
61
61
  break
@@ -23,6 +23,18 @@ module Rubee
23
23
  wrap(super(alt_key))
24
24
  end
25
25
 
26
+ def deep_dig(key)
27
+ return self[key] if self[key]
28
+
29
+ each do |_, v|
30
+ if v.is_a?(Hash)
31
+ return v.deep_dig(key)
32
+ end
33
+ end
34
+
35
+ nil
36
+ end
37
+
26
38
  private
27
39
 
28
40
  def wrap(value)
data/lib/rubee.rb CHANGED
@@ -20,7 +20,7 @@ module Rubee
20
20
  RUBEE_SUPPORT = { "Rubee::Support::Hash" => Hash, "Rubee::Support::String" => String }
21
21
  end
22
22
 
23
- VERSION = '2.5.6'
23
+ VERSION = '2.5.8'
24
24
 
25
25
  require_relative 'rubee/router'
26
26
  require_relative 'rubee/logger'
data/readme.md CHANGED
@@ -401,6 +401,18 @@ irb(main):021> user.destroy(cascade: true)
401
401
  => 1
402
402
  ```
403
403
 
404
+ Find record in the databse or initialize the instance for following persistence
405
+ ```Ruby
406
+ irb(main):020> user = User.find_or_new(email: "ok23@ok.com")
407
+ => #<User:0x000000010cfaa5c0 @email="ok23@ok.com", @id=2, @password="123">
408
+ irb(main):021> user.persisted?
409
+ => true
410
+ irb(main):022> user = User.find_or_new(email: "new@ok.com")
411
+ => #<User:0x000000010cfaa5c0 @email="new@ok.com", @id=nil, @password=nil>
412
+ irb(main):023> user.persisted?
413
+ => false
414
+ ```
415
+
404
416
  Destroy all records one by one
405
417
  ```Ruby
406
418
  irb(main):022> User.destroy_all
@@ -423,7 +435,7 @@ class Comment < Rubee::SequelObject
423
435
  owns_many :users, over: :posts
424
436
  end
425
437
 
426
- # join post modenl
438
+ # join post model
427
439
  class Post < Rubee::SequelObject
428
440
  attr_accessor :id, :user_id, :comment_id, :created, :updated
429
441
  holds :comment
@@ -1110,6 +1122,10 @@ Here are list of additionl APIs extended for:
1110
1122
  "test".plural? # => false
1111
1123
  ```
1112
1124
 
1125
+ ```ruby
1126
+ {one: {two: 2}}.deep_dig(:two) # => 2
1127
+ ```
1128
+
1113
1129
  [Back to content](#content)
1114
1130
 
1115
1131
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ru.Bee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.7
4
+ version: 2.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Saltykov
@@ -322,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
322
  - !ruby/object:Gem::Version
323
323
  version: '0'
324
324
  requirements: []
325
- rubygems_version: 3.7.2
325
+ rubygems_version: 4.0.4
326
326
  specification_version: 4
327
327
  summary: Fast and lightweight Ruby application server designed for minimalism and
328
328
  flexibility