FSSM::Support

Public Class Methods

backend() click to toggle source
# File lib/fssm/support.rb, line 26
def backend
  @@backend ||= usable_backend
end
carbon_core?() click to toggle source
# File lib/fssm/support.rb, line 46
def carbon_core?
  begin
    require 'osx/foundation'
    OSX.require_framework '/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework'
    true
  rescue LoadError
    false
  end
end
jruby?() click to toggle source
# File lib/fssm/support.rb, line 30
def jruby?
  defined?(JRUBY_VERSION)
end
linux?() click to toggle source
# File lib/fssm/support.rb, line 42
def linux?
  RbConfig::CONFIG['target_os'] =~ /linux/
end
lion?() click to toggle source
# File lib/fssm/support.rb, line 38
def lion?
  RbConfig::CONFIG['target_os'] =~ /darwin11/
end
mac?() click to toggle source
# File lib/fssm/support.rb, line 34
def mac?
  RbConfig::CONFIG['target_os'] =~ /darwin/
end
optimal_backend_dependency() click to toggle source
# File lib/fssm/support.rb, line 18
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 56
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 65
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? && !lion? && !jruby? && carbon_core?
      'FSEvents'
    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 77
def use_block(context, block)
  return if block.nil?
  if block.arity == 1
    block.call(context)
  else
    context.instance_eval(&block)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.