Class: ConfigFeed
- Inherits:
-
Object
- Object
- ConfigFeed
- Defined in:
- lib/feed2imap/config.rb
Overview
A configured feed. simple data container.
Instance Attribute Summary collapse
-
#always_new ⇒ Object
readonly
Returns the value of attribute always_new.
-
#body ⇒ Object
Returns the value of attribute body.
-
#dumpdir ⇒ Object
readonly
Returns the value of attribute dumpdir.
-
#execurl ⇒ Object
readonly
Returns the value of attribute execurl.
-
#filter ⇒ Object
readonly
Returns the value of attribute filter.
-
#folder ⇒ Object
readonly
Returns the value of attribute folder.
-
#ignore_hash ⇒ Object
readonly
Returns the value of attribute ignore_hash.
-
#imapaccount ⇒ Object
readonly
Returns the value of attribute imapaccount.
-
#include_images ⇒ Object
readonly
Returns the value of attribute include_images.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#reupload_if_updated ⇒ Object
readonly
Returns the value of attribute reupload_if_updated.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
-
#wrapto ⇒ Object
readonly
Returns the value of attribute wrapto.
Instance Method Summary collapse
- #encode_utf7(s) ⇒ Object
-
#initialize(f, imapaccount, folder, f2iconfig) ⇒ ConfigFeed
constructor
A new instance of ConfigFeed.
- #needfetch(lastcheck) ⇒ Object
Constructor Details
#initialize(f, imapaccount, folder, f2iconfig) ⇒ ConfigFeed
Returns a new instance of ConfigFeed.
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/feed2imap/config.rb', line 119 def initialize(f, imapaccount, folder, f2iconfig) @name = f['name'] @url = f['url'] @url.sub!(/^feed:/, '') if @url =~ /^feed:/ @imapaccount = imapaccount @folder = encode_utf7 folder @freq = f['min-frequency'] @always_new = false @always_new = f['always-new'] if f.has_key?('always-new') @execurl = f['execurl'] @filter = f['filter'] @ignore_hash = false @ignore_hash = f['ignore-hash'] if f.has_key?('ignore-hash') @freq = @freq.to_i if @freq @dumpdir = f['dumpdir'] || nil @wrapto = if f['wrapto'] == nil then 72 else f['wrapto'].to_i end @include_images = f2iconfig.include_images @include_images = f['include-images'] if f.has_key?('include-images') @reupload_if_updated = f2iconfig.reupload_if_updated @reupload_if_updated = f['reupload-if-updated'] if f.has_key?('reupload-if-updated') end |
Instance Attribute Details
#always_new ⇒ Object (readonly)
Returns the value of attribute always_new.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def always_new @always_new end |
#body ⇒ Object
Returns the value of attribute body.
117 118 119 |
# File 'lib/feed2imap/config.rb', line 117 def body @body end |
#dumpdir ⇒ Object (readonly)
Returns the value of attribute dumpdir.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def dumpdir @dumpdir end |
#execurl ⇒ Object (readonly)
Returns the value of attribute execurl.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def execurl @execurl end |
#filter ⇒ Object (readonly)
Returns the value of attribute filter.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def filter @filter end |
#folder ⇒ Object (readonly)
Returns the value of attribute folder.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def folder @folder end |
#ignore_hash ⇒ Object (readonly)
Returns the value of attribute ignore_hash.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def ignore_hash @ignore_hash end |
#imapaccount ⇒ Object (readonly)
Returns the value of attribute imapaccount.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def imapaccount @imapaccount end |
#include_images ⇒ Object (readonly)
Returns the value of attribute include_images.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def include_images @include_images end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def name @name end |
#reupload_if_updated ⇒ Object (readonly)
Returns the value of attribute reupload_if_updated.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def reupload_if_updated @reupload_if_updated end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def url @url end |
#wrapto ⇒ Object (readonly)
Returns the value of attribute wrapto.
116 117 118 |
# File 'lib/feed2imap/config.rb', line 116 def wrapto @wrapto end |
Instance Method Details
#encode_utf7(s) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/feed2imap/config.rb', line 153 def encode_utf7(s) if "foo".respond_to?(:force_encoding) return Net::IMAP::encode_utf7 s else # this is a copy of the Net::IMAP::encode_utf7 w/o the force_encoding return s.gsub(/(&)|([^\x20-\x7e]+)/u) { if $1 "&-" else base64 = [$&.unpack("U*").pack("n*")].pack("m") "&" + base64.delete("=\n").tr("/", ",") + "-" end } end end |
#needfetch(lastcheck) ⇒ Object
148 149 150 151 |
# File 'lib/feed2imap/config.rb', line 148 def needfetch(lastcheck) return true if @freq.nil? return (lastcheck + @freq * 3600) < Time::now end |