kredis 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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.