y-rb 0.4.0 → 0.4.1

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: 9668a1445d4eaed498836cb3ca133489ab00145eaaab8f15a2a6234e8ca95259
4
- data.tar.gz: 07eb5747e72e26cf6be0ceb1b8935c3d0539ccb7dbd91a63f8ba64198ec67fad
3
+ metadata.gz: d886de16d1d2c1541e14caaf94e4704a8b432f6284e9fcb5cc5f259bc8f03880
4
+ data.tar.gz: debbbe2032d2967fe34845974b798baebd89839b0f1459ddc5472ab209e24bc1
5
5
  SHA512:
6
- metadata.gz: c2a2249a8a41b3b26dd15945183dbb9c6af58d9f6c03c6ee589bb6eb6af92b4c4ac4c2a1a651777628b409069021a1fe74d4f2863a10866961dc691038fc8dba
7
- data.tar.gz: 9d83c496a0444c8a80864f857db1b212f325ae0ef816c9b3389eebd4532afad6fd3b6e8bcc64d769415004db1528007fdcc25713016911975319a8d314386e2f
6
+ metadata.gz: 44ce746588c43ee67a9e668d3df5eb9b22c73bdba4da105a127d42885f9cfafeec422444596a1aafb7eb6c8b933d75def0990f21671e2725688f1c6536a6a7dd
7
+ data.tar.gz: 49f8783feae72f22399d18c0362feefb88ac5521a24f3229b54cba392c081ca54110830f2a370704f496bec346eaf34516b75a2ea1b627ec95f957a36caed56d
data/ext/yrb/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "yrb"
3
- version = "0.4.0"
3
+ version = "0.4.1"
4
4
  authors = ["Hannes Moser <box@hannesmoser.at>", "Hannes Moser <hmoser@gitlab.com>"]
5
5
  edition = "2021"
6
6
  homepage = "https://github.com/y-crdt/yrb"
@@ -8,12 +8,12 @@ repository = "https://github.com/y-crdt/yrb"
8
8
 
9
9
  [dependencies]
10
10
  lib0 = "0.14.1" # must match yrs version
11
- magnus = { version = "0.4.3" }
12
- thiserror = "1.0.37"
11
+ magnus = { git = "https://github.com/matsadler/magnus", rev = "a51ccaf01d82e9e1a981e4f3fbaca35100513b08" }
12
+ thiserror = "1.0.38"
13
13
  yrs = "0.14.1"
14
14
 
15
15
  [dev-dependencies]
16
- magnus = { version = "0.4.3", features = ["embed"] }
16
+ magnus = { git = "https://github.com/matsadler/magnus", rev = "a51ccaf01d82e9e1a981e4f3fbaca35100513b08", features = ["embed"] }
17
17
 
18
18
  [lib]
19
19
  name = "yrb"
data/ext/yrb/src/utils.rs CHANGED
@@ -1,7 +1,7 @@
1
1
  use crate::yvalue::YValue;
2
2
  use lib0::any::Any;
3
3
  use magnus::r_hash::ForEach::Continue;
4
- use magnus::{Error, RHash, RString, Symbol, Value};
4
+ use magnus::{exception, Error, RHash, RString, Symbol, Value};
5
5
  use std::rc::Rc;
6
6
  use yrs::types::Attrs;
7
7
 
@@ -27,7 +27,10 @@ pub(crate) fn map_rhash_to_attrs(hash: RHash) -> Result<Attrs, Error> {
27
27
  });
28
28
 
29
29
  if result.is_err() {
30
- return Err(Error::runtime_error("could not map hash to attrs"));
30
+ return Err(Error::new(
31
+ exception::runtime_error(),
32
+ "could not map hash to attrs",
33
+ ));
31
34
  }
32
35
 
33
36
  Ok(a)
@@ -1,6 +1,5 @@
1
1
  use crate::awareness::{Awareness, AwarenessUpdate, Event};
2
- use magnus::block::Proc;
3
- use magnus::{Error, Value};
2
+ use magnus::{block::Proc, exception, Error, Value};
4
3
  use std::borrow::Borrow;
5
4
  use std::cell::RefCell;
6
5
  use std::collections::HashMap;
@@ -25,12 +24,11 @@ impl YAwareness {
25
24
 
26
25
  pub(crate) fn yawareness_apply_update(&self, update: Vec<u8>) -> Result<(), Error> {
27
26
  AwarenessUpdate::decode_v1(update.as_slice())
28
- .map_err(|_error| Error::runtime_error("cannot decode update"))
27
+ .map_err(|_error| Error::new(exception::runtime_error(), "cannot decode update"))
29
28
  .and_then(|value| {
30
- self.0
31
- .borrow_mut()
32
- .apply_update(value)
33
- .map_err(|_error| Error::runtime_error("cannot apply awareness update"))
29
+ self.0.borrow_mut().apply_update(value).map_err(|_error| {
30
+ Error::new(exception::runtime_error(), "cannot apply awareness update")
31
+ })
34
32
  })
35
33
  }
36
34
 
@@ -83,7 +81,12 @@ impl YAwareness {
83
81
  .borrow_mut()
84
82
  .update()
85
83
  .map(|update| update.encode_v1())
86
- .map_err(|_error| Error::runtime_error("cannot create update for current state"))
84
+ .map_err(|_error| {
85
+ Error::new(
86
+ exception::runtime_error(),
87
+ "cannot create update for current state",
88
+ )
89
+ })
87
90
  }
88
91
 
89
92
  pub(crate) fn yawareness_update_with_clients(
@@ -95,7 +98,10 @@ impl YAwareness {
95
98
  .update_with_clients(clients)
96
99
  .map(|update| update.encode_v1())
97
100
  .map_err(|_error| {
98
- Error::runtime_error("cannot create update for current state and given clients")
101
+ Error::new(
102
+ exception::runtime_error(),
103
+ "cannot create update for current state and given clients",
104
+ )
99
105
  })
100
106
  }
101
107
  }
data/ext/yrb/src/ydoc.rs CHANGED
@@ -5,7 +5,7 @@ use crate::yxml_element::YXmlElement;
5
5
  use crate::yxml_fragment::YXmlFragment;
6
6
  use crate::yxml_text::YXmlText;
7
7
  use crate::YTransaction;
8
- use magnus::{Error, Integer, Value};
8
+ use magnus::{exception, Error, Integer, Value};
9
9
  use std::borrow::Borrow;
10
10
  use std::cell::RefCell;
11
11
  use yrs::updates::decoder::Decode;
@@ -39,7 +39,7 @@ impl YDoc {
39
39
 
40
40
  StateVector::decode_v1(state_vector.borrow())
41
41
  .map(|sv| tx.encode_diff_v1(&sv))
42
- .map_err(|_e| Error::runtime_error("cannot encode diff"))
42
+ .map_err(|_e| Error::new(exception::runtime_error(), "cannot encode diff"))
43
43
  }
44
44
 
45
45
  pub(crate) fn ydoc_get_or_insert_array(&self, name: String) -> YArray {
data/ext/yrb/src/ymap.rs CHANGED
@@ -3,7 +3,7 @@ use crate::yvalue::YValue;
3
3
  use crate::YTransaction;
4
4
  use lib0::any::Any;
5
5
  use magnus::block::Proc;
6
- use magnus::{Error, RArray, RHash, Symbol, Value};
6
+ use magnus::{exception, Error, RArray, RHash, Symbol, Value};
7
7
  use std::cell::RefCell;
8
8
  use yrs::types::{EntryChange, Value as YrsValue};
9
9
  use yrs::{Map, MapRef, Observable};
@@ -60,7 +60,8 @@ impl YMap {
60
60
  let tx = tx.as_mut().unwrap();
61
61
 
62
62
  match indifferent_hash_key(key) {
63
- None => Err(Error::runtime_error(
63
+ None => Err(Error::new(
64
+ exception::runtime_error(),
64
65
  "invalid key type, make sure it is either of type Symbol or String",
65
66
  )),
66
67
  Some(k) => {
@@ -4,7 +4,7 @@ use crate::ytext::YText;
4
4
  use crate::yxml_element::YXmlElement;
5
5
  use crate::yxml_fragment::YXmlFragment;
6
6
  use crate::yxml_text::YXmlText;
7
- use magnus::Error;
7
+ use magnus::{exception, Error};
8
8
  use std::cell::{RefCell, RefMut};
9
9
  use yrs::updates::decoder::Decode;
10
10
  use yrs::updates::encoder::Encode;
@@ -29,7 +29,12 @@ impl<'doc> From<TransactionMut<'doc>> for YTransaction {
29
29
  impl YTransaction {
30
30
  pub(crate) fn ytransaction_apply_update(&self, update: Vec<u8>) -> Result<(), Error> {
31
31
  Update::decode_v1(update.as_slice())
32
- .map_err(|error| Error::runtime_error(format!("cannot decode update: {:?}", error)))
32
+ .map_err(|error| {
33
+ Error::new(
34
+ exception::runtime_error(),
35
+ format!("cannot decode update: {:?}", error),
36
+ )
37
+ })
33
38
  .map(|u| self.transaction().as_mut().unwrap().apply_update(u))
34
39
  }
35
40
 
data/lib/y/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Y
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: y-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hannes Moser
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-14 00:00:00.000000000 Z
11
+ date: 2023-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.50
33
+ version: 0.9.53
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.50
40
+ version: 0.9.53
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake-compiler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  - !ruby/object:Gem::Version
127
127
  version: 3.3.21
128
128
  requirements: []
129
- rubygems_version: 3.3.22
129
+ rubygems_version: 3.4.1
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: Ruby bindings for yrs