Added XML::Element#get
This method can be used to directly retrieve an attribute value.
This commit is contained in:
parent
e2dab952d0
commit
6d19c9b311
|
@ -55,7 +55,8 @@ module Oga
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# Returns the attribute of the given name.
|
# Returns an attribute matching the given name (with or without the
|
||||||
|
# namespace).
|
||||||
#
|
#
|
||||||
# @example
|
# @example
|
||||||
# # find an attribute that only has the name "foo"
|
# # find an attribute that only has the name "foo"
|
||||||
|
@ -64,8 +65,10 @@ module Oga
|
||||||
# # find an attribute with namespace "foo" and name bar"
|
# # find an attribute with namespace "foo" and name bar"
|
||||||
# attribute('foo:bar')
|
# attribute('foo:bar')
|
||||||
#
|
#
|
||||||
# @param [String] name
|
# @param [String|Symbol] name The name (with or without the namespace)
|
||||||
# @return [String]
|
# of the attribute.
|
||||||
|
#
|
||||||
|
# @return [Oga::XML::Attribute]
|
||||||
#
|
#
|
||||||
def attribute(name)
|
def attribute(name)
|
||||||
name, ns = split_name(name)
|
name, ns = split_name(name)
|
||||||
|
@ -79,6 +82,20 @@ module Oga
|
||||||
|
|
||||||
alias_method :attr, :attribute
|
alias_method :attr, :attribute
|
||||||
|
|
||||||
|
##
|
||||||
|
# Returns the value of the given attribute.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# element.get('class') # => "container"
|
||||||
|
#
|
||||||
|
# @see [#attribute]
|
||||||
|
#
|
||||||
|
def get(name)
|
||||||
|
found = attribute(name)
|
||||||
|
|
||||||
|
return found ? found.value : nil
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# Returns the namespace of the element.
|
# Returns the namespace of the element.
|
||||||
#
|
#
|
||||||
|
|
|
@ -89,6 +89,18 @@ describe Oga::XML::Element do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context '#get' do
|
||||||
|
before do
|
||||||
|
attr = Oga::XML::Attribute.new(:name => 'foo', :value => 'bar')
|
||||||
|
|
||||||
|
@element = described_class.new(:attributes => [attr])
|
||||||
|
end
|
||||||
|
|
||||||
|
example 'return the value of an attribute' do
|
||||||
|
@element.get('foo').should == 'bar'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context '#namespace' do
|
context '#namespace' do
|
||||||
before do
|
before do
|
||||||
@namespace = Oga::XML::Namespace.new(:name => 'x')
|
@namespace = Oga::XML::Namespace.new(:name => 'x')
|
||||||
|
|
Loading…
Reference in New Issue