Module: Configuration::SDL4RTagExtensions

Included in:
SDL4R::Tag
Defined in:
lib/httpimagestore/configuration.rb

Instance Method Summary collapse

Instance Method Details

#grab_attributes(*list) ⇒ Object



69
70
71
72
73
# File 'lib/httpimagestore/configuration.rb', line 69

def grab_attributes(*list)
	*values, remaining = *grab_attributes_with_remaining(*list)
	remaining.empty? or raise UnexpectedAttributesError.new(self, remaining)
	values
end

#grab_attributes_with_remaining(*list) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/httpimagestore/configuration.rb', line 61

def grab_attributes_with_remaining(*list)
	attributes = self.attributes.dup
	values = list.map do |attribute|
		attributes.delete(attribute)
	end
	values + [attributes]
end

#grab_values(*list) ⇒ Object



80
81
82
83
84
85
86
87
88
89
# File 'lib/httpimagestore/configuration.rb', line 80

def grab_values(*list)
	values = self.values.dup
	out = []
	list.each do |name|
		val = values.shift or raise NoValueError.new(self, name)
		out << val
	end
	values.empty? or raise UnexpectedValueError.new(self, values)
	out
end

#required_attributes(*list) ⇒ Object



54
55
56
57
58
59
# File 'lib/httpimagestore/configuration.rb', line 54

def required_attributes(*list)
	list.each do |attribute|
		attribute(attribute) or raise NoAttributeError.new(self, attribute)
	end
	true
end

#valid_attribute_values(attribute, *valid) ⇒ Object



75
76
77
78
# File 'lib/httpimagestore/configuration.rb', line 75

def valid_attribute_values(attribute, *valid)
	value = self.attribute(attribute)
	valid.include? value or raise BadAttributeValueError.new(self, attribute, value, valid)
end