Class: Checked::Demand::Arrays

Inherits:
Sinatra::Base
  • Object
show all
Includes:
Arch
Defined in:
lib/Checked/Demand/Arrays.rb

Instance Method Summary collapse

Methods included from Arch

included, #matcher, #original_target, #purpose, #target_name

Methods included from Checked::DSL::Racked

#Check!, #Stripped!, #any?, #demand, eval!

Methods included from Checked::DSL::Ruby

#array!, #array?, #bool!, #demand, #fail!, #false!, #hash!, #hash?, #keys!, #not_empty!, #respond_to_all?, #string!, #string?, #true!

Instance Method Details

#check!Object



9
10
11
# File 'lib/Checked/Demand/Arrays.rb', line 9

def check!
  array! return!
end

#exclude!Object



58
59
60
# File 'lib/Checked/Demand/Arrays.rb', line 58

def exclude! 
  demand val.include?(matcher), "...can't contain #{matcher.inspect}"
end

#include!Object



52
53
54
55
# File 'lib/Checked/Demand/Arrays.rb', line 52

def include! 
  demand return!.include?(matcher), \
    "...must contain: #{matcher.inspect}"
end

#matches_only!Object



63
64
65
66
67
# File 'lib/Checked/Demand/Arrays.rb', line 63

def matches_only! 
  demand \
    return!.reject { |val| val == matcher }.empty?, \
    "...invalid elements: #{arr.inspect}"
end

#no_empty_strings!Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/Checked/Demand/Arrays.rb', line 21

def no_empty_strings!
  return!.each { |memo,s| 

    final = if s.respond_to?(:readlines)
              s.rewind
              s.readlines
            else
              s
            end

    demand \
      final.is_a?(::String), \
      "...can't contain unknown class: #{final.inspect}"
      
    demand \
      final.is_a?(::String) && final.strip.empty?, \
      "...can't contain empty strings."
      
  }
  return!
end

#no_nils!Object



14
15
16
17
18
# File 'lib/Checked/Demand/Arrays.rb', line 14

def no_nils!
  demand \
    return!.include?(nil), \
    "...can't contain nils."
end

#symbols!Object



44
45
46
47
48
49
# File 'lib/Checked/Demand/Arrays.rb', line 44

def symbols!
  Checked::App.new.get!("/array!/not_empty!", 'name'=>target_name, 'value'=>return!, 'args'=>[])
  demand \
    return!.all? { |v| v.is_a?(Symbol) }, \
    "...contains a non-symbol."
end