cslrb 0.3.1 → 0.4.0

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: 188995c6f3c4a5d4c53f3e2b4a1a7e7c50701c258822cf2ff3cc88636219745f
4
- data.tar.gz: d85717f48e65e27c1157f910dcdb9fe018f7c248386c3b4cb95da700a9c94575
3
+ metadata.gz: 5b1655cd2d5b83c19317659d22c731c19cec4b0f059957c5efc0f7246fd765de
4
+ data.tar.gz: 4273a6fa5011863c027600430c375ac4f01e7de1ec8ffb4ac8d019bdfa99c5e8
5
5
  SHA512:
6
- metadata.gz: 49c249b8e5c1d4ebecd67e54befabd9f3954c5dbf55ef414acf4743462138849c6ae1adfde3861db36e084c290d719073dc1dac5ac68b21c7571594d529dbe26
7
- data.tar.gz: 5a02bc8dba555c3273e68c56b2d0a4b38849f8f8d83e893bf88bf43abf4574b1a26ac26bdeea0e350626eb0b8d6573577ee4f955b6102336b58333576abac605
6
+ metadata.gz: 9e838250bf5a0c0d46c222e79318412cb2b1d6b58e0d8218f60a5a2e51b1b7c75360d93b5ed3c962b7f0359bb3331f503335f90b9f614915c307d0178e43682c
7
+ data.tar.gz: f907a5e5a0def74a5f44a52ac024e165a1ca9b05209d349cedeeb730278e32fad60faa3cf36533ed736e699d92f34dc0503a16ae97262311dd3fc852bb5ee1b6
data/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "cslrb"
3
- version = "0.3.1"
3
+ version = "0.4.0"
4
4
  authors = ["Sascha Knobloch <saschaknobloch.dev@gmail.com>"]
5
5
  edition = "2018"
6
6
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cslrb (0.3.1)
4
+ cslrb (0.4.0)
5
5
  rutie (~> 0.0.4)
6
6
  thermite (~> 0.13)
7
7
 
data/lib/cslrb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cslrb
4
- VERSION = '0.3.1'
4
+ VERSION = '0.4.0'
5
5
  end
data/src/lib.rs CHANGED
@@ -20,6 +20,17 @@ methods!(
20
20
  Err(err) => return RString::new_utf8(&format!("Error: {}", err)),
21
21
  }
22
22
  }
23
+
24
+ fn metadata_from_output_datum(cbor_hex: RString) -> RString {
25
+ let ruby_string = cbor_hex.map_err(|e| VM::raise_ex(e) ).unwrap();
26
+ let metadata = PlutusData::from_hex(&ruby_string.to_string()).unwrap();
27
+ let schema = PlutusDatumSchema::BasicConversions;
28
+
29
+ match metadata.to_json(schema) {
30
+ Ok(json_string) => return RString::new_utf8(&json_string),
31
+ Err(err) => return RString::new_utf8(&format!("Error: {}", err)),
32
+ }
33
+ }
23
34
  );
24
35
 
25
36
  #[allow(non_snake_case)]
@@ -27,5 +38,6 @@ methods!(
27
38
  pub extern "C" fn Init_cslrb() {
28
39
  Module::from_existing("Cslrb").define(|itself| {
29
40
  itself.def_self("tx_body_from_hex", tx_body_from_hex);
41
+ itself.def_self("metadata_from_output_datum", metadata_from_output_datum);
30
42
  });
31
43
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cslrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sascha Knobloch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-01 00:00:00.000000000 Z
11
+ date: 2025-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rutie