Module: LibSqreen

Defined in:
lib/libsqreen/version.rb,
lib/libsqreen.rb,
ext/libsqreen/arch.rb,
ext/libsqreen/paths.rb,
ext/libsqreen/libsqreen.c,
ext/libsqreen/location.rb,
ext/libsqreen_extension/libsqreen_extension.c

Overview

Copyright © 2015 Sqreen. All Rights Reserved. Please refer to our terms for more information: www.sqreen.com/terms.html

Defined Under Namespace

Modules: Arch, Paths, WAF Classes: Location

Constant Summary collapse

VERSION =
"0.3.0.0.3"

Class Method Summary collapse

Class Method Details

.extension_pathObject



9
10
11
# File 'lib/libsqreen.rb', line 9

def self.extension_path
  RUBY_VERSION =~ /^(\d+\.\d+)/ && "ext/#{RUBY_PLATFORM}/#{$1}"
end

.require_extensionObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/libsqreen.rb', line 13

def self.require_extension
  begin
    require "#{extension_path}/libsqreen.so"
  rescue LoadError
    require "libsqreen.so"
  end
  begin
    require "#{extension_path}/libsqreen_extension.so"
  rescue LoadError
    require "libsqreen_extension.so"
  end
end

.versionObject



114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'ext/libsqreen_extension/libsqreen_extension.c', line 114

static VALUE
libsqreen_version(VALUE self) {
    PWVersion version;
    VALUE result;

    version = powerwaf_getVersion();
    result = rb_ary_new();
    rb_ary_push(result, INT2NUM(version.major));
    rb_ary_push(result, INT2NUM(version.minor));
    rb_ary_push(result, INT2NUM(version.patch));

    return result;
}