Skip to content

Commit

Permalink
Merge pull request #254 from inaka/cabol.250.support_booleans
Browse files Browse the repository at this point in the history
[Fix #250] Support `boolean` data type.
  • Loading branch information
Brujo Benavides authored Aug 5, 2016
2 parents 242e7e1 + c927d02 commit 9ef13e6
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 1 deletion.
3 changes: 3 additions & 0 deletions src/adapter_test_helpers/sumo_basic_test_helper.erl
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ find_by(Config) ->
undefined = Module:height(First),
undefined = Module:description(First),
{Today, _} = Module:created_at(First),
false = Module:is_blocked(First),
true = Module:weird_field1(First),
undefined = Module:weird_field2(First),
undefined = Module:weird_field3(First),
Expand All @@ -74,6 +75,7 @@ find_by(Config) ->
1.75 = Module:height(LastPerson),
<<"description">> = Module:description(LastPerson),
<<"profile_image">> = Module:profile_image(LastPerson),
true = Module:is_blocked(LastPerson),
{mytuple, false, 1, "2", <<"3">>} = Module:weird_field1(LastPerson),
[1, true, <<"hi">>, 1.1] = Module:weird_field2(LastPerson),
#{a := 1,
Expand Down Expand Up @@ -178,6 +180,7 @@ init_store(Name) ->
height => 1.75,
description => <<"description">>,
profile_image => <<"profile_image">>,
is_blocked => true,
weird_field1 => {mytuple, false, 1, "2", <<"3">>},
weird_field2 => [1, true, <<"hi">>, 1.1],
weird_field3 => #{a => 1, b => [1, "2", <<"3">>], <<"c">> => false}
Expand Down
9 changes: 9 additions & 0 deletions src/adapter_test_helpers/sumo_test_people.erl
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
height/1,
description/1,
profile_image/1,
is_blocked/1,
weird_field1/1,
weird_field2/1,
weird_field3/1
Expand Down Expand Up @@ -51,6 +52,7 @@
height :: height(),
description :: description(),
profile_image :: profile_image(),
is_blocked :: boolean(),
weird_field1 :: weird_field(),
weird_field2 :: weird_field(),
weird_field3 :: weird_field()
Expand All @@ -77,6 +79,7 @@ sumo_sleep(Person) ->
height => Person#person.height,
description => Person#person.description,
profile_image => Person#person.profile_image,
is_blocked => Person#person.is_blocked,
weird_field1 => Person#person.weird_field1,
weird_field2 => Person#person.weird_field2,
weird_field3 => Person#person.weird_field3}.
Expand All @@ -94,6 +97,7 @@ sumo_wakeup(Person) ->
height = maps:get(height, Person),
description = maps:get(description, Person),
profile_image = maps:get(profile_image, Person),
is_blocked = maps:get(is_blocked, Person),
weird_field1 = maps:get(weird_field1, Person),
weird_field2 = maps:get(weird_field2, Person),
weird_field3 = maps:get(weird_field3, Person)
Expand Down Expand Up @@ -148,6 +152,7 @@ from_map(Map) ->
height = maps:get(height, Map, undefined),
description = maps:get(description, Map, undefined),
profile_image = maps:get(profile_image, Map, undefined),
is_blocked = maps:get(is_blocked, Map, false),
weird_field1 = maps:get(weird_field1, Map, undefined),
weird_field2 = maps:get(weird_field2, Map, undefined),
weird_field3 = maps:get(weird_field3, Map, undefined)
Expand Down Expand Up @@ -193,6 +198,10 @@ description(Person) ->
profile_image(Person) ->
Person#person.profile_image.

-spec is_blocked(Person :: person()) -> boolean().
is_blocked(Person) ->
Person#person.is_blocked.

-spec weird_field1(Person :: person()) -> weird_field().
weird_field1(Person) ->
Person#person.weird_field1.
Expand Down
2 changes: 1 addition & 1 deletion src/sumo.erl
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@

-type field_attrs() :: [field_attr()].

-type field_type() :: integer | float | string | binary
-type field_type() :: integer | float | string | binary | boolean
| date | datetime | custom.

-type field_name() :: atom().
Expand Down
2 changes: 2 additions & 0 deletions test/sumo_test_people_mnesia.erl
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
height/1,
description/1,
profile_image/1,
is_blocked/1,
weird_field1/1,
weird_field2/1,
weird_field3/1
Expand All @@ -49,6 +50,7 @@ sumo_schema() ->
sumo:new_field(height, float),
sumo:new_field(description, string),
sumo:new_field(profile_image, binary),
sumo:new_field(is_blocked, boolean),
sumo:new_field(weird_field1, custom, [{type, term}]),
sumo:new_field(weird_field2, custom, [{type, list}]),
sumo:new_field(weird_field3, custom, [{type, map}])
Expand Down

0 comments on commit 9ef13e6

Please sign in to comment.