diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-06-17 01:02:08 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-06-17 01:02:08 +0000 |
commit | 448dce34a627cf46d844c2e7c628a7af8174fcb4 (patch) | |
tree | c3ad7c6fb89080c46efe3c8b7df70a499f5a4940 /lib/rss/image.rb | |
parent | 2da88324a206217714817b0dc90c80861ba757b4 (diff) |
* lib/rss, test/rss: backported from trunk. (2005-11-16 - now)
* lib/rss/rss.rb: improved type conversion.
* lib/rss/1.0.rb: ditto.
* lib/rss/0.9.rb: ditto.
* lib/rss/2.0.rb: ditto.
* lib/rss/image.rb: ditto.
* lib/rss/syndication.rb: ditto.
* test/rss/test_2.0.rb: added type conversion tests.
* test/rss/test_accessor.rb: ditto.
* test/rss/test_to_s.rb: ditto.
* test/rss/test_syndication.rb: ditto.
* test/rss/test_setup_maker_2.0.rb: ditto.
* test/rss/test_setup_maker_1.0.rb: ditto.
* test/rss/test_setup_maker_0.9.rb: ditto.
* test/rss/test_maker_sy.rb: ditto.
* test/rss/test_maker_image.rb: ditto.
* test/rss/test_maker_2.0.rb: ditto.
* test/rss/test_maker_0.9.rb: ditto.
* test/rss/test_image.rb: ditto.
* test/rss/test_maker_1.0.rb: use assert instead of assert_equal.
* test/rss/rss-assertions.rb: improved type conversion assertions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/image.rb')
-rw-r--r-- | lib/rss/image.rb | 53 |
1 files changed, 25 insertions, 28 deletions
diff --git a/lib/rss/image.rb b/lib/rss/image.rb index 818edd4f2c..b81b72586f 100644 --- a/lib/rss/image.rb +++ b/lib/rss/image.rb @@ -63,14 +63,20 @@ module RSS %w(width height).each do |tag| full_name = "#{IMAGE_PREFIX}_#{tag}" - install_text_element(full_name) + disp_name = "#{IMAGE_PREFIX}:#{tag}" + install_text_element(full_name, :integer, disp_name) BaseListener.install_get_text_element(IMAGE_URI, tag, "#{full_name}=") end + alias width= image_width= + alias width image_width + alias height= image_height= + alias height image_height + def initialize(about=nil, resource=nil) super() - @about = about - @resource = resource + self.about = about + self.resource = resource end def full_name @@ -87,29 +93,6 @@ module RSS rv end - alias _image_width= image_width= - def image_width=(new_value) - if @do_validate - self._image_width = Integer(new_value) - else - self._image_width = new_value.to_i - end - end - - alias _image_height= image_height= - def image_height=(new_value) - if @do_validate - self._image_height = Integer(new_value) - else - self._image_height = new_value.to_i - end - end - - alias width= image_width= - alias width image_width - alias height= image_height= - alias height image_height - private def _tags [ @@ -177,13 +160,27 @@ module RSS install_get_attribute(name, uri, required) end + AVAILABLE_SIZES = %w(small medium large) + alias_method :_size=, :size= + private :_size= + def size=(new_value) + if @do_validate and !new_value.nil? + new_value = new_value.strip + unless AVAILABLE_SIZES.include?(new_value) + attr_name = "#{IMAGE_PREFIX}:size" + raise NotAvailableValueError.new(full_name, new_value, attr_name) + end + end + __send__(:_size=, new_value) + end + alias image_size= size= alias image_size size def initialize(about=nil, size=nil) super() - @about = about - @size = size + self.about = about + self.size = size end def full_name |