Module: Cfruby::Cfp_MapOptions::Args

Defined in:
lib/libcfenjin/cfp_mapoptions.rb

Class Method Summary collapse

Class Method Details

.action(name, value) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/libcfenjin/cfp_mapoptions.rb', line 51

def Args.action name,value
	if test(value,'fixplain')
		return { :filesonly => true }
	elsif value == 'fixdirs'
		return { :directoriesonly => true }
	end
     return {} if value == nil or value == 'fixall'
	raise UnknownParameterError,"Unknown value '#{value}' for '#{name}'"
end

.age(name, value) ⇒ Object



69
70
71
72
73
74
75
76
77
# File 'lib/libcfenjin/cfp_mapoptions.rb', line 69

def Args.age name,value
     if value != nil
       days = value.to_i 
       raise UnknownParameterError,"Unknown value '#{value}' for '#{name}'" if days<1
       return { :olderthan => Time.now - days*24*3600 }
     end
     return {} if value == nil
	raise UnknownParameterError,"Unknown value '#{value}' for '#{name}'"
end

.recurse(name, value) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/libcfenjin/cfp_mapoptions.rb', line 40

def Args.recurse name,value 
     if test(value,['infinite',true])
		return { :recursive => true }
	elsif value.to_s =~ /\d+/
       # don't set :recursive in this case
		return { :depth => value.to_i }
	end
     return {} if value == nil 
     raise UnknownParameterError,"Unknown value '#{value}' for '#{name}'"
end

.rmdirs(name, value) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/libcfenjin/cfp_mapoptions.rb', line 61

def Args.rmdirs name,value
     if test(value,['infinite',true])
       return { :force => true }
     else
       return { :filesonly => true }
     end
end

.test(value, tests) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/libcfenjin/cfp_mapoptions.rb', line 25

def Args.test(value,tests)
  return false if value == nil
  tests.each do | t |
    if t == true
      return true if value == true or value =~ /^[t](rue)/i
    end
    if t == false
      return false if value == false or value =~ /^[f](alse)/i
    end
    value = value.downcase if value.kind_of? String
    return true if (t == value)
  end
  false
end