module FSSM::Support
Public Class Methods
backend()
click to toggle source
# File lib/fssm/support.rb, line 24 def backend @@backend ||= usable_backend end
jruby?()
click to toggle source
# File lib/fssm/support.rb, line 28 def jruby? defined?(JRUBY_VERSION) end
linux?()
click to toggle source
# File lib/fssm/support.rb, line 40 def linux? RbConfig::CONFIG['target_os'] =~ /linux/i end
lion?()
click to toggle source
# File lib/fssm/support.rb, line 36 def lion? RbConfig::CONFIG['target_os'] =~ /darwin11/i end
mac?()
click to toggle source
# File lib/fssm/support.rb, line 32 def mac? RbConfig::CONFIG['target_os'] =~ /darwin/i end
optimal_backend_dependency()
click to toggle source
# File lib/fssm/support.rb, line 16 def optimal_backend_dependency return case when mac? then ['rb-fsevent', '>= 0.4.3.1'] when linux? then ['rb-inotify', '>= 0.8.8'] else [nil, nil] end end
rb_fsevent?()
click to toggle source
# File lib/fssm/support.rb, line 44 def rb_fsevent? begin require 'rb-fsevent' defined?(FSEvent::VERSION) ? FSEvent::VERSION.to_f >= 0.4 : false rescue LoadError false end end
rb_inotify?()
click to toggle source
# File lib/fssm/support.rb, line 53 def rb_inotify? begin require 'rb-inotify' if defined?(INotify::VERSION) version = INotify::VERSION version[0] > 0 || version[1] >= 6 end rescue LoadError false end end
usable_backend()
click to toggle source
# File lib/fssm/support.rb, line 5 def usable_backend case when mac? && rb_fsevent? 'RBFSEvent' when linux? && rb_inotify? 'Inotify' else 'Polling' end end
use_block(context, block)
click to toggle source
# File lib/fssm/support.rb, line 65 def use_block(context, block) return if block.nil? if block.arity == 1 block.call(context) else context.instance_eval(&block) end end