ree_lib 1.0.15 → 1.0.16

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: 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