#ifndef __PDFIUM_RUBY_H__
#define __PDFIUM_RUBY_H__

extern "C" {
  #include "ruby.h"
}

// Inspired by https://github.com/jasonroelofs/rice/blob/1740a6d12c99fce8c21eda3c5385738318ab9172/rice/detail/ruby.hpp#L33-L37
// Casts C functions into a type that C++ is happy calling
extern "C" typedef VALUE (*CPP_RUBY_METHOD_FUNC)(ANYARGS);

void Define_Document();
void Define_Page();
void Define_PageSet();

#endif
extern "C" {
  #include "ruby.h"
}

void Define_Document();
void Define_Page();
void Define_PageSet();

--- 
+++ 
@@ -1,7 +1,16 @@
+#ifndef __PDFIUM_RUBY_H__
+#define __PDFIUM_RUBY_H__
+
 extern "C" {
   #include "ruby.h"
 }
 
+// Inspired by https://github.com/jasonroelofs/rice/blob/1740a6d12c99fce8c21eda3c5385738318ab9172/rice/detail/ruby.hpp#L33-L37
+// Casts C functions into a type that C++ is happy calling
+extern "C" typedef VALUE (*CPP_RUBY_METHOD_FUNC)(ANYARGS);
+
 void Define_Document();
 void Define_Page();
 void Define_PageSet();
+
+#endif
Create a type to cast Ruby's C functions to a thing C++ is happy with.