module RequestParamsValidation::Definitions
Public Class Methods
get_request(resource, action)
click to toggle source
# File lib/request_params_validation/definitions.rb, line 24 def self.get_request(resource, action) resource = @@definitions[resource] return unless resource action = resource.actions[action] return unless action action.request end
load_all(use_load = false)
click to toggle source
# File lib/request_params_validation/definitions.rb, line 8 def self.load_all(use_load = false) definitions_suffix = RequestParamsValidation.definitions_suffix Dir["#{definitions_path}/**/*#{definitions_suffix}.rb"].each { |f| use_load ? load(f) : require(f) } end
register_resource(&block)
click to toggle source
# File lib/request_params_validation/definitions.rb, line 13 def self.register_resource(&block) raise DefinitionArgumentError.new('Expecting block for resource definition') unless block_given? resource_name = resource_name_from_block(&block) resource = Resource.new(resource_name) resource.instance_eval(&block) @@definitions[resource_name] = resource end
Private Class Methods
definitions_path()
click to toggle source
# File lib/request_params_validation/definitions.rb, line 36 def self.definitions_path definitions_path = RequestParamsValidation.definitions_path.to_s definitions_path[0] = '' if definitions_path.start_with?('/') definitions_path[-1] = '' if definitions_path.end_with?('/') "#{Rails.root}/#{definitions_path}" end
resource_name_from_block(&block)
click to toggle source
# File lib/request_params_validation/definitions.rb, line 46 def self.resource_name_from_block(&block) definitions_suffix = RequestParamsValidation.definitions_suffix block_path = block.source_location.first block_path.sub("#{definitions_path}/", '') .sub("#{definitions_suffix}", '') .sub('.rb', '') end