fastreader 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fastreader might be problematic. Click here for more details.

data/lib/opml.rb ADDED
@@ -0,0 +1,16 @@
1
+ require 'rexml/document'
2
+ class OPMLImporter
3
+ def initialize(opml)
4
+ @opml = opml
5
+ @doc = REXML::Document.new(@opml)
6
+ @feed_urls = []
7
+ end
8
+
9
+ def feed_urls
10
+ @doc.elements.each('//outline[@xmlUrl]') do |e|
11
+ @feed_urls << e.attributes['xmlUrl']
12
+ end
13
+ @feed_urls.uniq
14
+ end
15
+ end
16
+
@@ -0,0 +1,39 @@
1
+ class VirtualFeed
2
+ attr_accessor :title
3
+ attr_accessor :entries
4
+
5
+ def finder_params=(hash)
6
+ LOGGER.debug("setting finder params to #{hash.inspect}")
7
+ @finder_params = hash
8
+ end
9
+
10
+ # This is to make the Virtual Feed walk like a duck
11
+ def reload
12
+ self
13
+ end
14
+
15
+ def finder_params
16
+ # To prevent ActiveRecord from altering the hash when passed into #find
17
+ @finder_params.clone
18
+ end
19
+
20
+ def entries
21
+ LOGGER.debug("calling virtual feeds entries using finder_params #{finder_params.inspect}")
22
+ entries = Entry.find(:all, finder_params)
23
+ LOGGER.debug("found #{entries.size} entries using finder_params #{finder_params.inspect}")
24
+ entries
25
+ end
26
+
27
+ def entry_count
28
+ Entry.count(finder_params)
29
+ end
30
+
31
+ def last_updated
32
+ if entries.empty?
33
+ nil
34
+ else
35
+ entry = Entry.find(:first, finder_params)
36
+ entry.date_published || entry.updated_at
37
+ end
38
+ end
39
+ end
File without changes
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fastreader
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Choi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-06-25 00:00:00 -04:00
13
+ default_executable: fastreader
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: simple-rss
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "1.1"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: activerecord
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: activesupport
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.0
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: feed-normalizer
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: hpricot
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0.6"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: highline
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.4.0
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: sqlite3-ruby
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 1.2.2
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: hoe
87
+ type: :runtime
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 1.6.0
94
+ version:
95
+ description: A light and fast terminal-based feed reader.
96
+ email: dhchoi@gmail.com
97
+ executables:
98
+ - fastreader
99
+ extensions: []
100
+
101
+ extra_rdoc_files:
102
+ - History.txt
103
+ - Manifest.txt
104
+ - README.txt
105
+ files:
106
+ - lib/autodiscovery.rb
107
+ - lib/character_cleaner.rb
108
+ - lib/command_parser.rb
109
+ - lib/command_window.rb
110
+ - lib/curses_color.rb
111
+ - lib/curses_controller.rb
112
+ - lib/curses_extensions.rb
113
+ - lib/display.rb
114
+ - lib/entries_controller.rb
115
+ - lib/entry.rb
116
+ - lib/entry_controller.rb
117
+ - lib/entry_window.rb
118
+ - lib/fastreader.rb
119
+ - lib/feed.rb
120
+ - lib/feeds_controller.rb
121
+ - lib/htmlentities/html4.rb
122
+ - lib/htmlentities/legacy.rb
123
+ - lib/htmlentities/string.rb
124
+ - lib/htmlentities/xhtml1.rb
125
+ - lib/htmlentities.rb
126
+ - lib/menu_pager.rb
127
+ - lib/menu_window.rb
128
+ - lib/opml.rb
129
+ - lib/virtual_feed.rb
130
+ - db/default.sqlite3
131
+ - History.txt
132
+ - Manifest.txt
133
+ - README.txt
134
+ has_rdoc: true
135
+ homepage: http://danielchoi.com/software/fastreader.html
136
+ post_install_message: Run FastReader by typing 'fastreader' on your command lines. Note that it will create a sqlite3 database in your home directory called 'fastreader.sqlite3'.
137
+ rdoc_options:
138
+ - --main
139
+ - README.txt
140
+ require_paths:
141
+ - lib
142
+ required_ruby_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: "0"
147
+ version:
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: "0"
153
+ version:
154
+ requirements: []
155
+
156
+ rubyforge_project: fastreader
157
+ rubygems_version: 1.2.0
158
+ signing_key:
159
+ specification_version: 2
160
+ summary: A terminal-based feed reader.
161
+ test_files:
162
+ - test/test_fastreader.rb