kredis 1.3.0 → 1.4.0

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: 3e96a50da4e56bf4088baa6bb6cb7583820ca235a52139b4aa9144b9f9d8585b
4
- data.tar.gz: f975deffae4581e3a5d8c208ac2c1bed13686b7d4c1c367289b3f8e5f803b235
3
+ metadata.gz: fdd8725b73c1bac9541b7b48ee62ebb46a8c51eaf78abe367fda75a12ee8c425
4
+ data.tar.gz: fcee76b43f62b3bd0a99fe7d258cb1b5edab0a8d7f408f15f7e11be01a40b219
5
5
  SHA512:
6
- metadata.gz: ffc338f0f5f0d975c85d5b207c0ace88bd96d7f5047bd0bcd5ad7b600b1e0165df30d6c8af3ef6f51f89b97ea0bf696a2a440b337921076f5676d5562323761e
7
- data.tar.gz: de2eb9f5e51df31f9765b2dc5dec59105dc61019818aacacaecc6f1df9a0e99547c5d684baae17f14eeaee1acb64c12a9fb0de919741bffde71e3b55746218f4
6
+ metadata.gz: 1bd30168c4efb0e23f65f15eb0e0b34c0b3a62a6c871da6be82192187482f0fddc55405ffb52c12f8dad4397246b55f7d292aa3bbbd8d3dc75a4fdd2e94e009e
7
+ data.tar.gz: 7dc32845d42347bcabe655447174d9cfb8b5e1d738fdf59af96557a455dc55ca52fced20fd76e514a21628dd725312120cbb6f0577e7925d6a6da585e77ffbf8
@@ -15,7 +15,7 @@ class Kredis::LogSubscriber < ActiveSupport::LogSubscriber
15
15
 
16
16
  private
17
17
  def formatted_in(color, event, type: nil)
18
- color " Kredis #{type} (#{event.duration.round(1)}ms) #{event.payload[:message]}", color, true
18
+ color " Kredis #{type} (#{event.duration.round(1)}ms) #{event.payload[:message]}", color, bold: true
19
19
  end
20
20
  end
21
21
 
@@ -4,11 +4,11 @@ module Kredis
4
4
  module Type
5
5
  class DateTime < ActiveModel::Type::DateTime
6
6
  def serialize(value)
7
- super&.iso8601(9)
7
+ super&.utc&.iso8601(9)
8
8
  end
9
9
 
10
10
  def cast_value(value)
11
- super&.to_datetime
11
+ super&.to_time
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module Kredis
8
8
  end
9
9
 
10
10
  def cast_value(value)
11
- JSON.load(value)
11
+ JSON.parse(value)
12
12
  end
13
13
 
14
14
  def serialize(value)
@@ -24,4 +24,8 @@ class Kredis::Types::List < Kredis::Types::Proxying
24
24
  def clear
25
25
  del
26
26
  end
27
+
28
+ def last(n = nil)
29
+ n ? lrange(-n, -1) : lrange(-1, -1).first
30
+ end
27
31
  end
@@ -1,5 +1,5 @@
1
1
  class Kredis::Types::Set < Kredis::Types::Proxying
2
- proxying :smembers, :sadd, :srem, :multi, :del, :sismember, :scard, :spop, :exists?
2
+ proxying :smembers, :sadd, :srem, :multi, :del, :sismember, :scard, :spop, :exists?, :srandmember
3
3
 
4
4
  attr_accessor :typed
5
5
 
@@ -33,10 +33,18 @@ class Kredis::Types::Set < Kredis::Types::Proxying
33
33
  end
34
34
 
35
35
  def take
36
- spop
36
+ string_to_type(spop, typed)
37
37
  end
38
38
 
39
39
  def clear
40
40
  del
41
41
  end
42
+
43
+ def sample(count = nil)
44
+ if count.nil?
45
+ string_to_type(srandmember(count), typed)
46
+ else
47
+ strings_to_types(srandmember(count), typed)
48
+ end
49
+ end
42
50
  end
@@ -1,3 +1,3 @@
1
1
  module Kredis
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kredis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Timm Hansen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-09-05 00:00:00.000000000 Z
12
+ date: 2023-06-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 6.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: activemodel
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 6.0.0
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 6.0.0
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: redis
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -115,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
129
  - !ruby/object:Gem::Version
116
130
  version: '0'
117
131
  requirements: []
118
- rubygems_version: 3.3.20
132
+ rubygems_version: 3.4.10
119
133
  signing_key:
120
134
  specification_version: 4
121
135
  summary: Higher-level data structures built on Redis.