RubyInline 3.12.1 → 3.12.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +7 -0
- data/README.txt +2 -2
- data/lib/inline.rb +9 -3
- data/test/test_inline.rb +5 -1
- metadata +14 -14
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
data/README.txt
CHANGED
@@ -41,7 +41,7 @@ See hoe for more details.
|
|
41
41
|
* Pretends to be secure.
|
42
42
|
* Only requires standard ruby libraries, nothing extra to download.
|
43
43
|
|
44
|
-
==
|
44
|
+
== SYNOPSIS:
|
45
45
|
|
46
46
|
require "inline"
|
47
47
|
class MyTest
|
@@ -57,7 +57,7 @@ See hoe for more details.
|
|
57
57
|
t = MyTest.new()
|
58
58
|
factorial_5 = t.factorial(5)
|
59
59
|
|
60
|
-
==
|
60
|
+
== SYNOPSIS (C++):
|
61
61
|
|
62
62
|
require 'inline'
|
63
63
|
class MyTest
|
data/lib/inline.rb
CHANGED
@@ -65,7 +65,7 @@ class CompilationError < RuntimeError; end
|
|
65
65
|
# the current namespace.
|
66
66
|
|
67
67
|
module Inline
|
68
|
-
VERSION =
|
68
|
+
VERSION = "3.12.2"
|
69
69
|
|
70
70
|
WINDOZE = /mswin|mingw/ =~ RUBY_PLATFORM
|
71
71
|
RUBINIUS = defined? RUBY_ENGINE
|
@@ -317,6 +317,10 @@ module Inline
|
|
317
317
|
|
318
318
|
ext << @inc
|
319
319
|
ext << nil
|
320
|
+
unless @pre.empty? then
|
321
|
+
ext << @pre.join("\n\n")
|
322
|
+
ext << nil
|
323
|
+
end
|
320
324
|
ext << @src.join("\n\n")
|
321
325
|
ext << nil
|
322
326
|
ext << nil
|
@@ -368,6 +372,7 @@ module Inline
|
|
368
372
|
unless defined? @module_name then
|
369
373
|
module_name = @mod.name.gsub('::','__')
|
370
374
|
md5 = Digest::MD5.new
|
375
|
+
@pre.each { |m| md5 << m.to_s }
|
371
376
|
@sig.keys.sort_by { |x| x.to_s }.each { |m| md5 << m.to_s }
|
372
377
|
@module_name = "Inline_#{module_name}_#{md5}"
|
373
378
|
end
|
@@ -383,7 +388,7 @@ module Inline
|
|
383
388
|
|
384
389
|
attr_reader :rb_file, :mod
|
385
390
|
attr_writer :mod
|
386
|
-
attr_accessor :src, :sig, :flags, :libs, :init_extra
|
391
|
+
attr_accessor :src, :pre, :sig, :flags, :libs, :init_extra
|
387
392
|
|
388
393
|
##
|
389
394
|
# Sets the name of the C struct for generating accessors. Used with
|
@@ -404,6 +409,7 @@ module Inline
|
|
404
409
|
@rb_file = File.expand_path real_caller
|
405
410
|
|
406
411
|
@mod = mod
|
412
|
+
@pre = []
|
407
413
|
@src = []
|
408
414
|
@inc = []
|
409
415
|
@sig = {}
|
@@ -763,7 +769,7 @@ VALUE #{method}_equals(VALUE value) {
|
|
763
769
|
# Adds any amount of text/code to the source
|
764
770
|
|
765
771
|
def prefix(code)
|
766
|
-
@
|
772
|
+
@pre << code
|
767
773
|
end
|
768
774
|
|
769
775
|
##
|
data/test/test_inline.rb
CHANGED
@@ -748,11 +748,15 @@ puts(s); return rb_str_new2(s)}"
|
|
748
748
|
|
749
749
|
@builder.c "VALUE my_method() { return Qnil; }"
|
750
750
|
|
751
|
+
@builder.prefix "static int x;"
|
752
|
+
|
751
753
|
windoze = "\n __declspec(dllexport)" if Inline::WINDOZE
|
752
754
|
|
753
755
|
expected = <<-EXT
|
754
756
|
#include "ruby.h"
|
755
757
|
|
758
|
+
static int x;
|
759
|
+
|
756
760
|
# line N "#{$test_inline_path}"
|
757
761
|
static VALUE allocate(VALUE self) {
|
758
762
|
return (Qnil); }
|
@@ -765,7 +769,7 @@ static VALUE my_method(VALUE self) {
|
|
765
769
|
#ifdef __cplusplus
|
766
770
|
extern \"C\" {
|
767
771
|
#endif#{windoze}
|
768
|
-
void
|
772
|
+
void Init_Inline_TestInline__TestC_3ab8c09639e499394bb1f0a0194a839f() {
|
769
773
|
VALUE c = rb_cObject;
|
770
774
|
c = rb_const_get(c, rb_intern("TestInline"));
|
771
775
|
c = rb_const_get(c, rb_intern("TestC"));
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RubyInline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 12
|
9
|
-
-
|
10
|
-
version: 3.12.
|
9
|
+
- 2
|
10
|
+
version: 3.12.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Davis
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
FBHgymkyj/AOSqKRIpXPhjC6
|
37
37
|
-----END CERTIFICATE-----
|
38
38
|
|
39
|
-
date: 2013-
|
39
|
+
date: 2013-04-18 00:00:00 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ZenTest
|
@@ -61,11 +61,11 @@ dependencies:
|
|
61
61
|
requirements:
|
62
62
|
- - ~>
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
hash:
|
64
|
+
hash: 21
|
65
65
|
segments:
|
66
66
|
- 4
|
67
|
-
-
|
68
|
-
version: "4.
|
67
|
+
- 7
|
68
|
+
version: "4.7"
|
69
69
|
type: :development
|
70
70
|
version_requirements: *id002
|
71
71
|
- !ruby/object:Gem::Dependency
|
@@ -76,11 +76,11 @@ dependencies:
|
|
76
76
|
requirements:
|
77
77
|
- - ~>
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
hash:
|
79
|
+
hash: 27
|
80
80
|
segments:
|
81
|
-
-
|
82
|
-
-
|
83
|
-
version: "
|
81
|
+
- 4
|
82
|
+
- 0
|
83
|
+
version: "4.0"
|
84
84
|
type: :development
|
85
85
|
version_requirements: *id003
|
86
86
|
- !ruby/object:Gem::Dependency
|
@@ -91,11 +91,11 @@ dependencies:
|
|
91
91
|
requirements:
|
92
92
|
- - ~>
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
hash:
|
94
|
+
hash: 11
|
95
95
|
segments:
|
96
96
|
- 3
|
97
|
-
-
|
98
|
-
version: "3.
|
97
|
+
- 6
|
98
|
+
version: "3.6"
|
99
99
|
type: :development
|
100
100
|
version_requirements: *id004
|
101
101
|
description: |-
|
metadata.gz.sig
CHANGED
Binary file
|