Class: Enforce::DSL

Inherits:
Object
  • Object
show all
Defined in:
lib/enforce/dsl.rb

Direct Known Subclasses

Handler

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#last_fileObject (readonly)

Returns the value of attribute last_file.



3
4
5
# File 'lib/enforce/dsl.rb', line 3

def last_file
  @last_file
end

Instance Method Details

#failed_resultsObject



74
75
76
# File 'lib/enforce/dsl.rb', line 74

def failed_results
  results.reject { |result| result[:pass] }
end

#file(name) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/enforce/dsl.rb', line 5

def file(name)
  pass = File.exist?(name)
  @last_file = name

  add_result message: "file `#{name}`", pass: pass

  return unless pass
  yield if block_given?
end

#folder(name) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/enforce/dsl.rb', line 20

def folder(name)
  pass = Dir.exist?(name)
  add_result message: "folder `#{name}`", pass: pass

  return unless pass && block_given?

  Dir.chdir name do
    yield
  end
end

#line(content) ⇒ Object



56
57
58
59
# File 'lib/enforce/dsl.rb', line 56

def line(content)
  pass = File.readlines(last_file).map(&:strip).include?(content)
  add_result message: "line `#{content}`", pass: pass
end

#no_file(name) ⇒ Object



15
16
17
18
# File 'lib/enforce/dsl.rb', line 15

def no_file(name)
  pass = !File.exist?(name)
  add_result message: "no file `#{name}`", pass: pass
end

#no_folder(name) ⇒ Object



31
32
33
34
# File 'lib/enforce/dsl.rb', line 31

def no_folder(name)
  pass = !Dir.exist?(name)
  add_result message: "no folder `#{name}`", pass: pass
end

#no_line(content) ⇒ Object



61
62
63
64
# File 'lib/enforce/dsl.rb', line 61

def no_line(content)
  pass = !File.readlines(last_file).map(&:strip).include?(content)
  add_result message: "no line `#{content}`", pass: pass
end

#no_regex(content) ⇒ Object



51
52
53
54
# File 'lib/enforce/dsl.rb', line 51

def no_regex(content)
  pass = !File.read(last_file).match?(content)
  add_result message: "no_regex `#{content.inspect}`", pass: pass
end

#no_text(content) ⇒ Object



41
42
43
44
# File 'lib/enforce/dsl.rb', line 41

def no_text(content)
  pass = !File.read(last_file).include?(content)
  add_result message: "no_text `#{content}`", pass: pass
end

#passed_resultsObject



70
71
72
# File 'lib/enforce/dsl.rb', line 70

def passed_results
  results.select { |result| result[:pass] }
end

#regex(content) ⇒ Object



46
47
48
49
# File 'lib/enforce/dsl.rb', line 46

def regex(content)
  pass = File.read(last_file).match?(content)
  add_result message: "regex `#{content.inspect}`", pass: pass
end

#resultsObject



66
67
68
# File 'lib/enforce/dsl.rb', line 66

def results
  @results ||= []
end

#text(content) ⇒ Object



36
37
38
39
# File 'lib/enforce/dsl.rb', line 36

def text(content)
  pass = File.read(last_file).include?(content)
  add_result message: "text `#{content}`", pass: pass
end