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 11require "json"
22require "active_model/type"
3- require "kredis/type/json "
3+ require "kredis/type/boolean "
44require "kredis/type/datetime"
5+ require "kredis/type/json"
56
67module Kredis ::TypeCasting
78 class InvalidType < StandardError ; end
@@ -11,7 +12,7 @@ class InvalidType < StandardError; end
1112 integer : ActiveModel ::Type ::Integer . new ,
1213 decimal : ActiveModel ::Type ::Decimal . new ,
1314 float : ActiveModel ::Type ::Float . new ,
14- boolean : ActiveModel ::Type ::Boolean . new ,
15+ boolean : Kredis ::Type ::Boolean . new ,
1516 datetime : Kredis ::Type ::DateTime . new ,
1617 json : Kredis ::Type ::Json . new
1718 }
Original file line number Diff line number Diff line change 11require "test_helper"
2+ require "active_support/core_ext/integer"
23
34class FlagTest < ActiveSupport ::TestCase
45 setup { @flag = Kredis . flag "myflag" }
Original file line number Diff line number Diff line change @@ -38,6 +38,22 @@ class ScalarTest < ActiveSupport::TestCase
3838 assert_equal false , boolean . value
3939 end
4040
41+ test "boolean casting" do
42+ boolean = Kredis . boolean "myscalar"
43+
44+ boolean . value = true
45+ assert_equal "1" , boolean . get
46+
47+ boolean . value = false
48+ assert_equal "0" , boolean . get
49+
50+ boolean . set "true"
51+ assert_equal true , boolean . value
52+
53+ boolean . set "false"
54+ assert_equal false , boolean . value
55+ end
56+
4157 test "datetime" do
4258 datetime = Kredis . datetime "myscalar"
4359 datetime . value = 5 . days . from_now . midnight
You can’t perform that action at this time.
0 commit comments