Module FeedTools::GenericHelper
In: lib/feed_tools/helpers/generic_helper.rb

Generic methods needed in numerous places throughout FeedTools

Methods

Public Class methods

Nifty little method that takes a block and returns nil if recursion occurs or the block‘s result value if it doesn‘t.

[Source]

    # File lib/feed_tools/helpers/generic_helper.rb, line 40
40:     def self.recursion_trap(lock_object, &block)
41:       if @lock_ids.nil?
42:         @lock_ids = []
43:       end
44:       if !@lock_ids.include?(lock_object.object_id)
45:         @lock_ids << lock_object.object_id
46:       else
47:         return nil
48:       end
49:       begin
50:         result = block.call
51:       rescue SystemStackError
52:         result = nil
53:       end
54:       @lock_ids.delete(lock_object.object_id)
55:       return result
56:     end

Raises an exception if an invalid option has been specified to prevent misspellings from slipping through

[Source]

    # File lib/feed_tools/helpers/generic_helper.rb, line 31
31:     def self.validate_options(valid_option_keys, supplied_option_keys)
32:       unknown_option_keys = supplied_option_keys - valid_option_keys
33:       unless unknown_option_keys.empty?
34:         raise "Unknown options: #{unknown_option_keys}"
35:       end
36:     end

[Validate]