Class: Metis::CheckDefinition

Inherits:
Object
  • Object
show all
Includes:
Mixin::ParamsValidate
Defined in:
lib/metis/check_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mixin::ParamsValidate

#set_or_return, #validate

Constructor Details

#initializeCheckDefinition

Returns a new instance of CheckDefinition.



9
10
11
12
13
# File 'lib/metis/check_definition.rb', line 9

def initialize
  @name = nil
  @params = {}
  @requires = []
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/metis/check_definition.rb', line 7

def name
  @name
end

#paramsObject

Returns the value of attribute params.



7
8
9
# File 'lib/metis/check_definition.rb', line 7

def params
  @params
end

Instance Method Details

#_requiresObject



34
35
36
# File 'lib/metis/check_definition.rb', line 34

def _requires
  @requires
end

#attribute(attr_name, validation_opts = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/metis/check_definition.rb', line 15

def attribute(attr_name, validation_opts={})
  shim_method=<<-SHIM
  def #{attr_name}(arg=nil)
    set_or_return(:#{attr_name.to_s}, arg, #{validation_opts.inspect})
  end
  SHIM
  set_or_return(attr_name.to_sym, nil, validation_opts)
  self.instance_eval(shim_method)
end

#execute(&block) ⇒ Object



30
31
32
# File 'lib/metis/check_definition.rb', line 30

def execute(&block)
  set_or_return(:execute, block, :kind_of => [Proc])
end

#require_gem(*libs) ⇒ Object



25
26
27
28
# File 'lib/metis/check_definition.rb', line 25

def require_gem(*libs)
  @requires << libs
  @requires.flatten!
end