module TripIt::ParamUtil
Public Instance Methods
address_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 165 def address_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Address) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be an Address" end end end end
airportcode_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 149 def airportcode_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.match("[A-Z][A-Z][A-Z]").nil? raise ArgumentError, "#{name} must be a valid airport code" else instance_variable_set("@#{name}",val) end end end end
array_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 85 def array_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Array) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be an Array" end end end end
boolean_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 53 def boolean_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(TrueClass) || val.is_a?(FalseClass) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a Boolean" end end define_method "#{name}?" do !!instance_variable_get("@#{name}") end end end
boolean_read_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 73 def boolean_read_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}?" do !!instance_variable_get("@#{name}") end end end
camelize(word)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 231 def camelize(word) word.split(/[^a-z0-9]/i).map{|w| w.capitalize}.join end
date_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 117 def date_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Date) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a Date" end end end end
datetime_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 101 def datetime_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(DateTime) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a DateTime" end end end end
exceptions(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 213 def exceptions(*names) names.each do |n| # Clean up the name n = camelize(n.to_s) class_eval %{ # Define a common Error class if it's # not yet defined unless const_defined?("Error") const_set("Error", Class.new(StandardError) ) end # Define the exception class class #{n} < Error; end } end end
float_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 37 def float_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Float) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a Float" end end end end
integer_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 21 def integer_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Integer) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be an Integer" end end end end
string_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 5 def string_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(String) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a String" end end end end
time_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 133 def time_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Time) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a Time" end end end end
traveler_array_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 197 def traveler_array_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Array) && val.all? { |e| Traveler === e } instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be an Array of Travelers" end end end end
traveler_param(*names)
click to toggle source
# File lib/trip_it/util/param_util.rb, line 181 def traveler_param(*names) names.each do |name| define_method "#{name}" do instance_variable_get("@#{name}") end define_method "#{name}=" do |val| if val.is_a?(Traveler) instance_variable_set("@#{name}",val) else raise ArgumentError, "#{name} must be a Traveler" end end end end