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