ree_lib 1.0.15 → 1.0.16

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: a15d911dfb9f1955ac1829941bdb259c1423867dabb407221a1d55232dde3e50
4
- data.tar.gz: b76069a3bd3760240ea5232de630f7ff4b372a767b5098ed9a91d7e224f73f7c
3
+ metadata.gz: 9005df5ff7af1e3f311ab2126f137560568d8e2c42bfb7da28b9a2e179675b4a
4
+ data.tar.gz: b0c9cd050d90ad8a2f66a738bfd3487c27d9561a367ce3a7d204c5ba6bf8d1cf
5
5
  SHA512:
6
- metadata.gz: 39b0b379f130624a30c254bc569d3cf8a3942974d036b4bebfc37d1a9c2087917644d61e946b7471b97102b832c43c951d8c209d1f64d9d2d7198b18082f0eed
7
- data.tar.gz: 4628fd0c89f2a3670dfb7895decc76aae447057e5d7b0b3591c4942ca1be910b50653d41089589a29a48d794c703921232b4776266721982b30fd78881515ade
6
+ metadata.gz: 8816a34c2a7b69a9a82d61c5fc2f69055216cfe6ff02241c78850b9940fe37d09c1df87b49e0f137342f84ac304f6e3b0dfc4075af92f29a86fb4e77a92a981c
7
+ data.tar.gz: 9bd5bce19e5803ae000b362efcad7721802bc1c816dc1af26eefb80fc04c893b4b8c505471b033456c4b500a84b76de9b1ea319869adfab945c75ae2c52c675c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree_lib (1.0.15)
4
+ ree_lib (1.0.16)
5
5
  binding_of_caller (~> 1.0.0)
6
6
  i18n (~> 1.12.0)
7
7
  loofah (~> 2.18.0)
@@ -0,0 +1,43 @@
1
+ require "sequel/extensions/pg_array"
2
+
3
+ class ReeDao::PgArray < ReeMapper::AbstractType
4
+ contract(
5
+ ReeEnum::Value,
6
+ Kwargs[
7
+ role: Nilor[Symbol, ArrayOf[Symbol]]
8
+ ] => String
9
+ )
10
+ def serialize(value, role: nil)
11
+ raise ArgumentError.new("not supported")
12
+ end
13
+
14
+ contract(
15
+ Any,
16
+ Kwargs[
17
+ role: Nilor[Symbol, ArrayOf[Symbol]]
18
+ ] => ReeEnum::Value
19
+ ).throws(ReeMapper::CoercionError)
20
+ def cast(value, role: nil)
21
+ raise ArgumentError.new("not supported")
22
+ end
23
+
24
+ contract(
25
+ ArrayOf[Any],
26
+ Kwargs[
27
+ role: Nilor[Symbol, ArrayOf[Symbol]]
28
+ ] => Sequel::Postgres::PGArray
29
+ )
30
+ def db_dump(value, role: nil)
31
+ Sequel.pg_array(value)
32
+ end
33
+
34
+ contract(
35
+ Sequel::Postgres::PGArray,
36
+ Kwargs[
37
+ role: Nilor[Symbol, ArrayOf[Symbol]]
38
+ ] => ArrayOf[Any]
39
+ ).throws(ReeMapper::TypeError)
40
+ def db_load(value, role: nil)
41
+ value.to_a
42
+ end
43
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal = true
2
+ package_require("ree_dao/types/pg_array")
3
+
4
+ RSpec.describe ReeDao::PgArray do
5
+ it {
6
+ type = ReeDao::PgArray.new
7
+
8
+ result = type.db_dump([1], role: nil)
9
+ expect(result).to be_a(Sequel::Postgres::PGArray)
10
+ }
11
+
12
+ it {
13
+ type = ReeDao::PgArray.new
14
+
15
+ result = type.db_dump([1], role: nil)
16
+ result = type.db_load(result, role: nil)
17
+ expect(result).to eq([1])
18
+ }
19
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReeLib
4
- VERSION = "1.0.15"
4
+ VERSION = "1.0.16"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ree_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruslan Gatiyatov
@@ -249,6 +249,7 @@ files:
249
249
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_pg_connection.rb
250
250
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_sqlite_connection.rb
251
251
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/persist_assoc.rb
252
+ - lib/ree_lib/packages/ree_dao/package/ree_dao/types/pg_array.rb
252
253
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/connections.schema.json
253
254
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_connection.schema.json
254
255
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_dao.schema.json
@@ -258,6 +259,7 @@ files:
258
259
  - lib/ree_lib/packages/ree_dao/spec/package_schema_spec.rb
259
260
  - lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_sqlite_connection_spec.rb
260
261
  - lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/persist_assoc_spec.rb
262
+ - lib/ree_lib/packages/ree_dao/spec/ree_dao/types/pg_array_spec.rb
261
263
  - lib/ree_lib/packages/ree_dao/spec/spec_helper.rb
262
264
  - lib/ree_lib/packages/ree_date/.gitignore
263
265
  - lib/ree_lib/packages/ree_date/.rspec