Module Aquarium::Utils::OptionsUtils::ClassMethods
In: lib/aquarium/utils/options_utils.rb

Methods

Public Instance methods

Service method that adds a new canonical option and corresponding array with "exclude_" prepended to all values. The new options are added to the input hash.

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 197
197:         def add_exclude_options_for option, options_hash
198:           all_variants = options_hash[option].dup
199:           options_hash["exclude_#{option}"] = all_variants.map {|x| "exclude_#{x}"}
200:         end

Service method that adds a new canonical option and corresponding array with "preposition" prefixes, e.g., "on_", "for_", etc. prepended to all values. The new options are added to the input hash.

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 205
205:         def add_prepositional_option_variants_for option, options_hash
206:           all_variants = options_hash[option].dup + [option]
207:           OptionsUtils.universal_prepositions.each do |prefix|
208:             all_variants.each do |variant|
209:               options_hash[option] << "#{prefix}_#{variant}" 
210:             end
211:           end
212:         end

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 174
174:         def canonical_option_accessor *canonical_option_key_list
175:           canonical_option_reader *canonical_option_key_list
176:           canonical_option_writer *canonical_option_key_list
177:         end

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 156
156:         def canonical_option_reader *canonical_option_key_list
157:           return if canonical_option_key_list.nil? or canonical_option_key_list.empty?
158:           keys = determine_options_for_accessors canonical_option_key_list
159:           keys.each do |name|
160:             define_method(name) do 
161:               @specification[name]
162:             end
163:           end
164:         end

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 165
165:         def canonical_option_writer *canonical_option_key_list
166:           return if canonical_option_key_list.nil? or canonical_option_key_list.empty?
167:           keys = determine_options_for_accessors canonical_option_key_list
168:           keys.each do |name|
169:             define_method("#{name}=") do |value|
170:               @specification[name] = make_set(make_array(value))
171:             end
172:           end
173:         end

[Source]

     # File lib/aquarium/utils/options_utils.rb, line 179
179:         def canonical_options_given_methods canonical_options
180:           keys = canonical_options.respond_to?(:keys) ? canonical_options.keys : canonical_options 
181:           (keys + OptionsUtils::universal_options).each do |name|
182:             module_eval("def \#{name}_given\n@specification[:\#{name}]\nend\n\ndef \#{name}_given?\nnot (\#{name}_given.nil? or \#{name}_given.empty?)\nend\n", __FILE__, __LINE__)
183:           end
184:         end

[Validate]