Class RSS::Maker::Atom::Entry::Items::Item
In: lib/rss/maker/entry.rb
Parent: ItemBase

Methods

Constants

Guid = Feed::Items::Item::Guid
Enclosure = Feed::Items::Item::Enclosure
Source = Feed::Items::Item::Source
Categories = Feed::Items::Item::Categories
Authors = Feed::Items::Item::Authors
Contributors = Feed::Items::Item::Contributors
Links = Feed::Items::Item::Links
Rights = Feed::Items::Item::Rights
Description = Feed::Items::Item::Description
Title = Feed::Items::Item::Title
Content = Feed::Items::Item::Content

Public Instance methods

[Source]

    # File lib/rss/maker/entry.rb, line 67
67:             def to_feed(entry)
68:               set_default_values do
69:                 setup_values(entry)
70:                 entry.dc_dates.clear
71:                 setup_other_elements(entry)
72:                 unless have_required_values?
73:                   raise NotSetError.new("maker.item", not_set_required_variables)
74:                 end
75:               end
76:             end

Private Instance methods

[Source]

     # File lib/rss/maker/entry.rb, line 102
102:             def _set_default_values(&block)
103:               keep = {
104:                 :authors => authors.to_a.dup,
105:                 :contributors => contributors.to_a.dup,
106:                 :categories => categories.to_a.dup,
107:                 :id => id,
108:                 :links => links.to_a.dup,
109:                 :rights => @rights,
110:                 :title => @title,
111:                 :updated => updated,
112:               }
113:               authors.replace(@maker.channel.authors) if keep[:authors].empty?
114:               if keep[:contributors].empty?
115:                 contributors.replace(@maker.channel.contributors)
116:               end
117:               if keep[:categories].empty?
118:                 categories.replace(@maker.channel.categories)
119:               end
120:               self.id ||= link || @maker.channel.id
121:               links.replace(@maker.channel.links) if keep[:links].empty?
122:               unless keep[:rights].variable_is_set?
123:                 @maker.channel.rights {|r| @rights = r}
124:               end
125:               unless keep[:title].variable_is_set?
126:                 @maker.channel.title {|t| @title = t}
127:               end
128:               self.updated ||= @maker.channel.updated
129:               super(&block)
130:             ensure
131:               authors.replace(keep[:authors])
132:               contributors.replace(keep[:contributors])
133:               categories.replace(keep[:categories])
134:               links.replace(keep[:links])
135:               self.id = keep[:id]
136:               @rights = keep[:rights]
137:               @title = keep[:title]
138:               self.updated = keep[:prev_updated]
139:             end

[Source]

     # File lib/rss/maker/entry.rb, line 91
 91:             def not_set_required_variables
 92:               set_default_values do
 93:                 vars = super
 94:                 if authors.all? {|author| !author.have_required_values?}
 95:                   vars << "author"
 96:                 end
 97:                 vars << "title" unless title {|t| t.have_required_values?}
 98:                 vars
 99:               end
100:             end

[Source]

    # File lib/rss/maker/entry.rb, line 79
79:             def required_variable_names
80:               %w(id updated)
81:             end

[Source]

    # File lib/rss/maker/entry.rb, line 87
87:             def variable_is_set?
88:               super or !authors.empty?
89:             end

[Source]

    # File lib/rss/maker/entry.rb, line 83
83:             def variables
84:               super + ["updated"]
85:             end

[Validate]