28 lines
632 B
Ruby
28 lines
632 B
Ruby
module XDiff
|
|
VERSION = "0.0.1"
|
|
|
|
def self.validate_arg(method, name, arg)
|
|
raise ArgumentError.new(
|
|
"(#{method}) '#{name}' cannot be nil"
|
|
) if arg.nil?
|
|
raise ArgumentError.new(
|
|
"(#{method}) '#{name}' must be String (is #{arg.class})"
|
|
) unless arg.is_a?(String)
|
|
end
|
|
|
|
def self.diff(a, b)
|
|
validate_arg("diff", "a", a)
|
|
validate_arg("diff", "b", b)
|
|
Native.diff(a, b)
|
|
end
|
|
def self.patch(a, b)
|
|
validate_arg("patch", "a", a)
|
|
validate_arg("patch", "b", b)
|
|
Native.patch(a, b)
|
|
end
|
|
end
|
|
|
|
# XDiff::Native methods defined by extension.cc
|
|
require "xdiff/extension"
|
|
XDiff::Native.init
|