helix_runtime 0.7.3 → 0.7.4

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: 49635395fffd63077de177bc86ddad31b5e627b4ce8d381898c492b79b2b4855
4
- data.tar.gz: 95ec4c9caba08fa6f77aef0dd69b76d12e1d66fbc610221ebae4c7619e7bf8fb
3
+ metadata.gz: 3e0c4dcb6f2c94b6cbc94177b101922d1666530dd34ddc6aea2ad642be6456aa
4
+ data.tar.gz: a1e80f900a1910b5433a8d83cd0fd86d7edf596cda20e1b358a9b5a357a5d320
5
5
  SHA512:
6
- metadata.gz: 357a01487727328a334dcc39c2363fcf77210d8eaef798003abea2bc6a612d4f46bc0fdb7cd8071349f423e12568a535b5566a0c07c0b0eab12cccc3675a5d5d
7
- data.tar.gz: 0ba143d588a7ad1bdba1175997eaf959615a4aa171f16723b6cd6741e7b2c8a3b0e555851902f4a6a6eef83f676217c915d764460a621072fc96842c6835604a
6
+ metadata.gz: 2fa2de203265870bc1c6cd58c0d6f59ccefea4bbe02a16ce0a5d6dac829da745b8c0fffbb85352048a13b28fb81891f9561be5a743b858c40b55d0c573a1849b
7
+ data.tar.gz: a1c6a2235eea8a84dd9bf6e1e18134ff2353e43798e01f69a3ccd5b3a6865265e8abe98cb2ef0520cdf31d50e89dca586b639337155cb9ff67806f8b99d4aa39
@@ -2,11 +2,12 @@
2
2
 
3
3
  #include <ruby.h>
4
4
  #include <ruby/intern.h>
5
+ #include <ruby/encoding.h>
5
6
  #include <stdbool.h>
6
7
  #include <helix_runtime.h>
7
8
 
8
9
  // Update with version.rb
9
- const char* HELIX_RUNTIME_VERSION = "0.7.3";
10
+ const char* HELIX_RUNTIME_VERSION = "0.7.4";
10
11
 
11
12
  const char* HELIX_PRIsVALUE = PRIsVALUE;
12
13
  const char* HELIX_SPRINTF_TO_S = "%" PRIsVALUE;
@@ -64,6 +65,14 @@ VALUE HELIX_rb_utf8_str_new(const char* str, long len) {
64
65
  return rb_utf8_str_new(str, len);
65
66
  }
66
67
 
68
+ bool HELIX_rb_str_valid_encoding_p(VALUE str) {
69
+ return rb_enc_str_coderange(str) != ENC_CODERANGE_BROKEN;
70
+ }
71
+
72
+ bool HELIX_rb_str_ascii_only_p(VALUE str) {
73
+ return rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT;
74
+ }
75
+
67
76
  VALUE HELIX_Data_Wrap_Struct(VALUE klass, HELIX_RUBY_DATA_FUNC mark, HELIX_RUBY_DATA_FUNC free, void* data) {
68
77
  return Data_Wrap_Struct(klass, mark, free, data);
69
78
  }
@@ -69,6 +69,9 @@ HELIX_EXTERN VALUE HELIX_FIX2INT(VALUE fix);
69
69
 
70
70
  HELIX_EXTERN VALUE HELIX_rb_utf8_str_new(const char* str, long len);
71
71
 
72
+ HELIX_EXTERN bool HELIX_rb_str_valid_encoding_p(VALUE str);
73
+ HELIX_EXTERN bool HELIX_rb_str_ascii_only_p(VALUE str);
74
+
72
75
  // typedef VALUE (*HELIX_rb_alloc_func_t)(VALUE);
73
76
  // void HELIX_rb_define_alloc_func(VALUE klass, HELIX_rb_alloc_func_t func);
74
77
 
@@ -52,7 +52,7 @@ module HelixRuntime
52
52
  end
53
53
 
54
54
  task "cargo:build" => ["helix:pre_build", "helix:check_path"] do
55
- project.cargo_build
55
+ project.cargo_build || abort
56
56
  end
57
57
 
58
58
  task "cargo:clean" do
@@ -61,7 +61,7 @@ module HelixRuntime
61
61
 
62
62
  desc "Build #{project.name}"
63
63
  task :build => ["helix:pre_build", "helix:check_path"] do
64
- project.build
64
+ project.build || abort
65
65
  end
66
66
 
67
67
  desc "Remove build artifacts"
@@ -117,11 +117,11 @@ module HelixRuntime
117
117
  raise "native source doesn't exist, run `cargo_build` first; source=#{source}" unless File.exist?(source)
118
118
  FileUtils.mkdir_p(File.dirname(native_path))
119
119
  FileUtils.cp source, native_path
120
+ true
120
121
  end
121
122
 
122
123
  def build
123
- cargo_build
124
- copy_native
124
+ cargo_build && copy_native
125
125
  end
126
126
 
127
127
  def clobber
@@ -1,5 +1,5 @@
1
1
  module HelixRuntime
2
2
  # Also update helix_runtime.c
3
- VERSION = "0.7.3"
3
+ VERSION = "0.7.4"
4
4
  GEM_VERSION = VERSION.gsub("-", ".")
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helix_runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yehuda Katz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-03-06 00:00:00.000000000 Z
12
+ date: 2018-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  requirements: []
162
162
  rubyforge_project:
163
- rubygems_version: 2.7.6
163
+ rubygems_version: 2.7.7
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: The Helix Runtime