summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ffi_yajl/ext.rb4
-rw-r--r--lib/ffi_yajl/platform.rb10
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/ffi_yajl/ext.rb b/lib/ffi_yajl/ext.rb
index 0d0faf3..5784023 100644
--- a/lib/ffi_yajl/ext.rb
+++ b/lib/ffi_yajl/ext.rb
@@ -7,12 +7,14 @@ require 'libyajl2'
require 'ffi_yajl/platform'
module FFI_Yajl
+ extend FFI_Yajl::Platform
+
# FIXME: DRY with ffi_yajl/ffi.rb
# FIXME: extract map_library_name from FFI and stop requiring it at the top level
# so that the C-library can be installed without FFI
libname = ::FFI.map_library_name("yajl")
# awful windows patch, but there is an open issue to entirely replace FFI.map_library_name already
- libname = "libyajl.so" if Platform::windows?
+ libname = "libyajl.so" if windows?
libpath = File.expand_path(File.join(Libyajl2.opt_path, libname))
libpath.gsub!(/dylib/, 'bundle')
libpath = ::FFI.map_library_name("yajl") unless File.exist?(libpath)
diff --git a/lib/ffi_yajl/platform.rb b/lib/ffi_yajl/platform.rb
index bde716d..6c2a498 100644
--- a/lib/ffi_yajl/platform.rb
+++ b/lib/ffi_yajl/platform.rb
@@ -1,5 +1,7 @@
-module Platform
- def self.windows?
- !!(RUBY_PLATFORM =~ /mswin|mingw|cygwin|windows/)
+module FFI_Yajl
+ module Platform
+ def windows?
+ !!(RUBY_PLATFORM =~ /mswin|mingw|cygwin|windows/)
+ end
end
-end \ No newline at end of file
+end