summaryrefslogtreecommitdiff
path: root/lib/rss/image.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:02:08 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:02:08 +0000
commit448dce34a627cf46d844c2e7c628a7af8174fcb4 (patch)
treec3ad7c6fb89080c46efe3c8b7df70a499f5a4940 /lib/rss/image.rb
parent2da88324a206217714817b0dc90c80861ba757b4 (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.rb53
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