lib/onstomp/components/frame_headers.rb in onstomp-1.0.0pre1 vs lib/onstomp/components/frame_headers.rb in onstomp-1.0.0
- old
+ new
@@ -12,11 +12,11 @@
# parameter.
# @param [Hash] headers
# @see #merge!
def initialize(headers={})
@values = {}
- __initialize_names__
+ initialize_names
merge! headers
end
# Merges a hash into this collection of headers. All of the keys used
# in the hash must be convertable to Symbols through +to_sym+.
@@ -113,11 +113,11 @@
# headers.delete(:'content-type') #=> [ 'text/html' ]
# headers.delete('no such header') #=> nil
def delete(name)
name = name.to_sym
if @values.key? name
- __delete_name__ name
+ delete_name name
@values.delete name
end
end
# Gets the principle header value paired with the supplied header name. The name will
@@ -148,11 +148,11 @@
# headers[:'content-type'] = nil #=> ''
# headers['content-type'] #=> ''
def []=(name, val)
name = name.to_sym
val = val.to_s
- __add_name__ name
+ add_name name
@values[name] = [val]
val
end
# Returns a new +Hash+ object associating symbolized header names and their
@@ -160,53 +160,50 @@
# @return [Hash]
def to_hash
@values.inject({}) { |h, (k,v)| h[k] = v.first; h }
end
+ # Iterates over header name / value pairs, yielding them as a pair
+ # of strings to the supplied block.
+ # @yield [header_name, header_value]
+ # @yieldparam [String] header_name
+ # @yieldparam [String] header_value
+ def each &block
+ if block_given?
+ iterate_each &block
+ self
+ else
+ OnStomp::ENUMERATOR_KLASS.new(self)
+ end
+ end
+
if RUBY_VERSION >= "1.9"
def names; @values.keys; end
- def each(&block)
- if block_given?
- @values.each do |name, vals|
- name_str = name.to_s
- vals.each do |val|
- yield [name_str, val]
- end
+ private
+ def iterate_each
+ @values.each do |name, vals|
+ name_str = name.to_s
+ vals.each do |val|
+ yield [name_str, val]
end
- self
- else
- Enumerator.new(self)
end
end
-
- private
- def __initialize_names__; end
- def __delete_name__(name); end
- def __add_name__(name); end
+ def initialize_names; end
+ def delete_name(name); end
+ def add_name(name); end
else
attr_reader :names
-
- # Iterates over header name / value pairs, yielding them as a pair
- # of strings to the supplied block.
- # @yield [header_name, header_value]
- # @yieldparam [String] header_name
- # @yieldparam [String] header_value
- def each(&block)
- if block_given?
- @names.each do |name|
- @values[name].each do |val|
- yield [name.to_s, val]
- end
+
+ private
+ def iterate_each
+ @names.each do |name|
+ @values[name].each do |val|
+ yield [name.to_s, val]
end
- self
- else
- Enumerable::Enumerator.new(self)
end
end
-
- private
- def __initialize_names__; @names = []; end
- def __delete_name__(name); @names.delete name; end
- def __add_name__(name); @names << name unless @values.key?(name); end
+ def initialize_names; @names = []; end
+ def delete_name(name); @names.delete name; end
+ def add_name(name); @names << name unless @values.key?(name); end
end
end