Module: Corvette::Act::Required

Defined in:
lib/corvette/act.rb

Defined Under Namespace

Classes: RequiredError

Instance Method Summary collapse

Instance Method Details

#process_requiredObject



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/corvette/act.rb', line 87

def process_required
	if self.class.const_defined?(:RequiredContract)
		@required = Hashie::Mash.new(@options[:required]||{})
		required_contract = required_contract_class.new(@required)
		unless required_contract.validate
			exception = RequiredError.new
			exception.errors = required_contract.errors.messages
			raise exception
		end
		singleton_class.class_eval do
			attr_reader :required
		end
	end
rescue StandardError => exception
	# rescue_with_handler(exception) || raise
	log_error(exception)
	act_error(exception)
end

#required_contract_classObject



106
107
108
# File 'lib/corvette/act.rb', line 106

def required_contract_class
	self.class.const_get :RequiredContract
end