module Sheety::Children

Public Class Methods

included(base) click to toggle source
# File lib/sheety/children.rb, line 2
def self.included base
  base.extend ClassMethods
end

Public Instance Methods

_get_i_val(item, c_key, accessor=nil) click to toggle source
# File lib/sheety/children.rb, line 21
def _get_i_val(item, c_key, accessor=nil)
  if accessor && item.respond_to?(accessor)
    return item.send(accessor, c_key)
  else
    return item.try(c_key)
  end
end
_passes_constraint(i_val, c_val) click to toggle source
# File lib/sheety/children.rb, line 6
def _passes_constraint(i_val, c_val)
  case c_val # Good Read: http://ruby.about.com/od/beginningruby/qt/On-Case-And-Class.htm
    when Range
      c_val.include? i_val
    when Array
      c_val.include? i_val
    when Regexp
      c_val =~ i_val
    when String
      c_val == i_val.to_s
    else
      c_val == i_val
  end
end