diff --git a/bin/deduperemoverb b/bin/deduperemoverb new file mode 100755 index 0000000..ab4fdde --- /dev/null +++ b/bin/deduperemoverb @@ -0,0 +1,51 @@ +#!/usr/bin/env ruby +# vim: set noet sw=2 ts=2 sts=2: + +require 'dencli' +require 'deduperemoverb' +require 'ostruct' +require 'logger' + +$logger = Logger.new STDERR +$logger.formatter = + proc do |severity, datetime, progname, message| + sprintf "%s %s %s\n", datetime.strftime( '%H:%M:%S.%6N'), severity[0], message + end + +begin + cli = DenCli.new File.basename($0), < 13" s.add_dependency "ffi", '~> 1.15' s.add_dependency "sqlite3", '~> 1.4' + s.add_dependency 'dencli', '~> 0.3.1' s.requirements << 'cc' s.requirements << 'ruby-dev' diff --git a/lib/deduperemoverb/file_dedupe_range.rb b/lib/deduperemoverb/file_dedupe_range.rb index 81fe83f..c026ae5 100644 --- a/lib/deduperemoverb/file_dedupe_range.rb +++ b/lib/deduperemoverb/file_dedupe_range.rb @@ -3,17 +3,19 @@ require 'ffi' require 'pathname' -Errno::Errnos = [] -Errno.constants. - map {|c| Errno.const_get c }. - select {|c| c.is_a?( Class) and c.superclass == SystemCallError and c.const_defined?( :Errno) }. - each {|c| Errno::Errnos[c::Errno] = c } +unless Errno.const_defined? :Errnos + Errno::Errnos ||= [] + Errno.constants. + map {|c| Errno.const_get c }. + select {|c| c.is_a?( Class) and c.superclass == SystemCallError and c.const_defined?( :Errno) }. + each {|c| Errno::Errnos[c::Errno] = c } +end module FileDedupeRange extend FFI::Library ffi_lib Pathname.new( __FILE__). - dirname. - join( *w[ext deduperemoverb deduperemoverb.so]). + dirname.dirname.dirname. + join( *%w[ext deduperemoverb deduperemoverb.so]). expand_path. to_s diff --git a/lib/deduperemoverb/version.rb b/lib/deduperemoverb/version.rb new file mode 100644 index 0000000..39bfe4c --- /dev/null +++ b/lib/deduperemoverb/version.rb @@ -0,0 +1,3 @@ +class Duperemove + VERSION = '0.0.2' +end