File tree Expand file tree Collapse file tree 4 files changed +31
-2
lines changed
Expand file tree Collapse file tree 4 files changed +31
-2
lines changed Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module Kredis
4+ module Type
5+ class Boolean < ActiveModel ::Type ::Boolean
6+ def serialize ( value )
7+ super ? 1 : 0
8+ end
9+ end
10+ end
11+ end
Original file line number Diff line number Diff line change 22
33require "json"
44require "active_model/type"
5- require "kredis/type/json "
5+ require "kredis/type/boolean "
66require "kredis/type/datetime"
7+ require "kredis/type/json"
78
89module Kredis ::TypeCasting
910 class InvalidType < StandardError ; end
@@ -13,7 +14,7 @@ class InvalidType < StandardError; end
1314 integer : ActiveModel ::Type ::Integer . new ,
1415 decimal : ActiveModel ::Type ::Decimal . new ,
1516 float : ActiveModel ::Type ::Float . new ,
16- boolean : ActiveModel ::Type ::Boolean . new ,
17+ boolean : Kredis ::Type ::Boolean . new ,
1718 datetime : Kredis ::Type ::DateTime . new ,
1819 json : Kredis ::Type ::Json . new
1920 }
Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
33require "test_helper"
4+ require "active_support/core_ext/integer"
45
56class FlagTest < ActiveSupport ::TestCase
67 setup { @flag = Kredis . flag "myflag" }
Original file line number Diff line number Diff line change @@ -40,6 +40,22 @@ class ScalarTest < ActiveSupport::TestCase
4040 assert_equal false , boolean . value
4141 end
4242
43+ test "boolean casting" do
44+ boolean = Kredis . boolean "myscalar"
45+
46+ boolean . value = true
47+ assert_equal "1" , boolean . get
48+
49+ boolean . value = false
50+ assert_equal "0" , boolean . get
51+
52+ boolean . set "true"
53+ assert_equal true , boolean . value
54+
55+ boolean . set "false"
56+ assert_equal false , boolean . value
57+ end
58+
4359 test "datetime" do
4460 datetime = Kredis . datetime "myscalar"
4561 datetime . value = 5 . days . from_now . midnight
You can’t perform that action at this time.
0 commit comments