caironoleto-feedtools 0.2.3 → 0.2.31
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +236 -0
- data/README +34 -0
- data/install.rb +30 -0
- data/rakefile +207 -0
- metadata +56 -19
data/CHANGELOG
ADDED
@@ -0,0 +1,236 @@
|
|
1
|
+
=== Feedtools 0.2.29
|
2
|
+
* fixed bug with utf-8 content in resolve_relative_uris
|
3
|
+
=== FeedTools 0.2.28
|
4
|
+
* fixed major bug with autodiscovery
|
5
|
+
=== FeedTools 0.2.27
|
6
|
+
* now uses a new URI class
|
7
|
+
* full support for IRIs
|
8
|
+
* uses html5lib instead of HTree
|
9
|
+
* schema changed to allow additional functionality
|
10
|
+
* added better support for license information
|
11
|
+
* added method to allow feeds and feed items to override lazy parsing
|
12
|
+
* added configuration setting to override lazy parsing
|
13
|
+
* added serialization feature to allow preparsing with FeedUpdater
|
14
|
+
* added support for HTTP Basic authentication
|
15
|
+
* fixed some issues with identifying the correct base uri
|
16
|
+
* added config path method to the database feed cache
|
17
|
+
* added default time to live configuration variable
|
18
|
+
* fixed autodiscovery redirect loops
|
19
|
+
* improved handling of entities
|
20
|
+
* no longer causes problems with Mongrel's monkey patch
|
21
|
+
=== FeedTools 0.2.26
|
22
|
+
* added support for retarded, ugly Radio redirects
|
23
|
+
* improved autodiscovery support
|
24
|
+
* fixed lazy evaluation issue
|
25
|
+
=== FeedTools 0.2.25
|
26
|
+
* fixed self reference href bug
|
27
|
+
* fixed primary link assignment heuristic
|
28
|
+
* link rel's now default to 'alternate' for atom feeds
|
29
|
+
* better handling of language attributes
|
30
|
+
* better support for threaded applications
|
31
|
+
* generated rss 2.0 now includes author, managingEditor, webMaster elements
|
32
|
+
* improved handling of author elements
|
33
|
+
* improved handling of http timeouts
|
34
|
+
* fixed issue with relative paths in the location header on http redirection
|
35
|
+
* monkey patches now work with Ruby 1.8.4's version of REXML
|
36
|
+
* REXML monkey patches moved into their own file
|
37
|
+
=== FeedTools 0.2.24
|
38
|
+
* fixed autodiscovery bugs
|
39
|
+
* updated autodiscovery to handle relative uris
|
40
|
+
* added per feed configuration
|
41
|
+
* rewrote http retrieval code
|
42
|
+
* supports authenticated http proxies
|
43
|
+
* supports basic http auth
|
44
|
+
* fixed relative url resolution issues
|
45
|
+
* corrected db schema files to match migration file
|
46
|
+
* fixed bug in the save method
|
47
|
+
* fixed some major http bugs
|
48
|
+
* updated dependancies
|
49
|
+
* no longer causes problems with frozen rails
|
50
|
+
=== FeedTools 0.2.23
|
51
|
+
* autodiscovery implemented
|
52
|
+
* now knows a title from a hole in the ground
|
53
|
+
* now resolves relative urls when possible
|
54
|
+
* changed default table name to "cached_feeds" to avoid name collisions
|
55
|
+
* schema now uses "href" instead of "url"
|
56
|
+
* feed cache is set to nil by default now
|
57
|
+
* both summary and content elements are generated now
|
58
|
+
* now supports proxies
|
59
|
+
* now supports internationalized domain names if libidn is installed
|
60
|
+
* fixed bug with feed merging referencing a method that was refactored
|
61
|
+
* no longer dies if uuidtools gem is missing but the UUID class is defined
|
62
|
+
* updated timestamp handling and generation
|
63
|
+
* added support for entry sorting on any feed item field
|
64
|
+
* added support for disabling entry sorting entirely
|
65
|
+
* fixed issue with itunes categories
|
66
|
+
* fixed itunes subtitle/summary
|
67
|
+
* fixed entry assignment bug
|
68
|
+
* fixed issued/published variable name mix-up
|
69
|
+
* added support for the payload module
|
70
|
+
* added support for xhtml:div elements
|
71
|
+
* dc:date now preempts pubDate
|
72
|
+
* added better support for the scriptingNews format
|
73
|
+
* now correctly strips out wrapper div elements from text constructs
|
74
|
+
* fixed issue with some atom links being incorrectly identified as images
|
75
|
+
* reorganized some of the helper modules
|
76
|
+
* made some portions of url normalization case insensitive
|
77
|
+
* fixed issue with filename handling on Windows
|
78
|
+
=== FeedTools 0.2.22
|
79
|
+
* fixed another atom generation error
|
80
|
+
=== FeedTools 0.2.21
|
81
|
+
* fixed atom generation error
|
82
|
+
* added summary element to generated atom xml
|
83
|
+
* added warning message for improperly set up database tables
|
84
|
+
=== FeedTools 0.2.20
|
85
|
+
* fixed some atom namespace bugs
|
86
|
+
* added a summary method to feed items
|
87
|
+
* added some support for the apple-wallpapers elements
|
88
|
+
=== FeedTools 0.2.19
|
89
|
+
* lousy encoding support (as opposed to none at all)
|
90
|
+
* xml processing instruction now correctly prefixes generated feeds
|
91
|
+
* attributes are escaped properly when generating feeds
|
92
|
+
* uppercase html is no longer sanitized for not being in the whitelist
|
93
|
+
* added alias method for assigning to entries
|
94
|
+
* changed the xpath querying to be much, much more DRY
|
95
|
+
* find_node and find_all_nodes are actually useful now
|
96
|
+
* full case-insensitivity implemented for the xpath helper methods
|
97
|
+
* fixed bug in tests where some assertion failures could affect other tests
|
98
|
+
* fixed bug where the feed item author would sometimes be parsed incorrectly
|
99
|
+
* fixed bug where the convertLineBreaks element would break feed entries
|
100
|
+
* default (i.e. preferred) methods will be Atom-style instead of RSS-style
|
101
|
+
* default feed output format changed to Atom 1.0
|
102
|
+
* itunes namespace corrected
|
103
|
+
* fixed images property when dealing with atom
|
104
|
+
* fixed atom link property
|
105
|
+
* improved timestamp handling
|
106
|
+
* whitespace nodes now ignored by REXML
|
107
|
+
* added option to disable timestamp estimation
|
108
|
+
* added option to limit time-to-live to some upper maximum
|
109
|
+
* enclosures included in feed generation
|
110
|
+
* no longer uses the cache at all for file:/// urls
|
111
|
+
* changed itunes:keywords to use commas
|
112
|
+
* testing now excludes cache testing by default
|
113
|
+
* more tests
|
114
|
+
=== FeedTools 0.2.18
|
115
|
+
* no longer ever polls more often than once every 30 minutes
|
116
|
+
* fixed overlooked improperly refactored enclosure code
|
117
|
+
* fixed issue with inner_xml incorrectly handling xml comments
|
118
|
+
* added helper modules
|
119
|
+
* test cases now implemented using helpers
|
120
|
+
* fixed issue with timeouts
|
121
|
+
* fixed stack overflow while estimating timestamps
|
122
|
+
* fixed some namespace issue with atom
|
123
|
+
* added base64 decoding support
|
124
|
+
=== FeedTools 0.2.17
|
125
|
+
* more fixes for timestamping of feed items
|
126
|
+
* fixed nil bug in root_node, feed_type, feed_version, build_xml
|
127
|
+
* build_xml method is now properly unit tested
|
128
|
+
* fixed issue with setting the Host http header
|
129
|
+
* namespaces are no longer hard-coded for feed generation
|
130
|
+
* better url normalization for file: style urls
|
131
|
+
* generated timestamps are now in UTC
|
132
|
+
=== FeedTools 0.2.16
|
133
|
+
* atom feed generation now defaults to atom 1.0
|
134
|
+
* removed erroneous published element at atom feed-level
|
135
|
+
* fixed some incompatibilities with ruby 1.8.3
|
136
|
+
* better support for universal subscription mechanism within feeds
|
137
|
+
* now handles both atom 0.3 and 1.0 namespaces
|
138
|
+
* fixed timestamping of feed items
|
139
|
+
=== FeedTools 0.2.15
|
140
|
+
* changed so that tidied elements no longer handle entities differently
|
141
|
+
* tidy now assumes utf-8 encoding instead of ascii
|
142
|
+
* began the first bit of work on namespace support
|
143
|
+
* better support for cdatas
|
144
|
+
* removed "bozo bit" - no need for a parser to moonlight as a validator
|
145
|
+
=== FeedTools 0.2.14
|
146
|
+
* fixed bug with feeds not expiring properly
|
147
|
+
=== FeedTools 0.2.13
|
148
|
+
* fixed issued with missing namespace parameter for uuid creation
|
149
|
+
=== FeedTools 0.2.12
|
150
|
+
* schema change!
|
151
|
+
* fixed missing cache connection breaking redirects
|
152
|
+
* fixed redirects creating duplicate cache entry
|
153
|
+
* exception now raised if cache_only option is set but the cache is disabled
|
154
|
+
* additional unit tests to verify that the cache works with redirects
|
155
|
+
* fixed feed expiration bugs with expire!
|
156
|
+
* xml_data renamed to feed_data
|
157
|
+
* feed_data_type method added
|
158
|
+
=== FeedTools 0.2.11
|
159
|
+
* ruby -w shouldn't produce nearly as many warnings
|
160
|
+
* you can now force the open method to only pull from the cache
|
161
|
+
* the global cache_only option has been removed
|
162
|
+
* nows queries the cache after each redirection
|
163
|
+
* attribute dictionary stuff removed for being unnecessary and pythonic
|
164
|
+
* better file structure -- no more 5000 line files
|
165
|
+
* schema files are formatted better to keep them from looking wierd in rdoc
|
166
|
+
=== FeedTools 0.2.10
|
167
|
+
* http error messages now sport a list of redirections to simplify debugging
|
168
|
+
* automatic table creation removed
|
169
|
+
* database schema information included in rdoc and package files
|
170
|
+
* deals with servers returning 404 if passed a User-Agent http header
|
171
|
+
=== FeedTools 0.2.9
|
172
|
+
* changed ordering of elements checked for the item content
|
173
|
+
* added dependancy on uuidtools, uuids used in feed generation
|
174
|
+
* database feed cache implementation factored out into its own file
|
175
|
+
* http_fetch changed to use lambda
|
176
|
+
* fixed invalid rss 1.0/2.0 generation (missing some namespaces)
|
177
|
+
=== FeedTools 0.2.8
|
178
|
+
* fixed bug with http headers being loaded from invalid YAML
|
179
|
+
* fixed uninitialized constant bug (you shouldn't have RUBYOPT set)
|
180
|
+
* cleaned up inspect methods
|
181
|
+
=== FeedTools 0.2.7
|
182
|
+
* added support for Atom 1.0 output
|
183
|
+
* improved support for Atom parsing and handling
|
184
|
+
* added no content string option to keep the feed validator happy
|
185
|
+
* greatly improved handling of timestamps and feed item sorting
|
186
|
+
* added aliases for the Atom 1.0 elements that were renamed
|
187
|
+
* feed merging is now threaded
|
188
|
+
=== FeedTools 0.2.6
|
189
|
+
* added support for merging feeds
|
190
|
+
* vastly improved handling of feed creation
|
191
|
+
=== FeedTools 0.2.5
|
192
|
+
* fixed multiple rows being created in the cache after a 301 redirection
|
193
|
+
* fixed broken table creation for postgresql and sqlite
|
194
|
+
* testing against non-standard feeds
|
195
|
+
* removed the 'comment_link' method in favor of the 'comments' method
|
196
|
+
=== FeedTools 0.2.4
|
197
|
+
* fixed bug in the sqlite table creation query
|
198
|
+
* greatly improved image support
|
199
|
+
* improved cdf support (still needs way more work)
|
200
|
+
* support for text input elements
|
201
|
+
* now possible to force retrieval from the cache only
|
202
|
+
* increased the flexibility of the database caching implementation
|
203
|
+
* feed attributes accessible through the keys and values collections
|
204
|
+
* minor coding style changes
|
205
|
+
* fixed really dumb typo in the podcast? and vidlog? methods
|
206
|
+
* fixed exception from missing titles and descriptions
|
207
|
+
* now passes all of mark pilgrim's well-formed rss tests
|
208
|
+
=== FeedTools 0.2.3
|
209
|
+
* fixed omission of get parameters from http requests
|
210
|
+
=== FeedTools 0.2.2
|
211
|
+
* fixed http redirection bug
|
212
|
+
* fixed several documentation typos
|
213
|
+
* still more unit tests
|
214
|
+
* improved support for atom
|
215
|
+
* minor improvements to the database caching mechanism
|
216
|
+
* more complete support for rss elements
|
217
|
+
* major improvements to the handling of tags containing html content
|
218
|
+
=== FeedTools 0.2.1
|
219
|
+
* fixed incorrect dependancy on ActiveRecord 1.10.1
|
220
|
+
* more unit tests
|
221
|
+
* preliminary support for "bozo-detection"
|
222
|
+
=== FeedTools 0.2.0
|
223
|
+
* more complete support for rss, atom, cdf
|
224
|
+
* modular caching mechanism
|
225
|
+
* lazy parsing
|
226
|
+
* HTML sanitization of possibly dangerous fields
|
227
|
+
* HTML tidy support
|
228
|
+
* support for podcasts and vidlogs
|
229
|
+
* corrected handling of http redirection
|
230
|
+
* made http header information available
|
231
|
+
* file: protocol support
|
232
|
+
* custom parsing can be done using the find_node and find_all_nodes methods
|
233
|
+
=== FeedTools 0.1.0
|
234
|
+
* basic support for rss, atom, cdf
|
235
|
+
* basic caching using active record
|
236
|
+
* support for etags
|
data/README
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
FeedTools was designed to be a simple XML feed parser, generator, and
|
2
|
+
translator with a built-in caching system.
|
3
|
+
|
4
|
+
== Example
|
5
|
+
require 'feed_tools'
|
6
|
+
|
7
|
+
slashdot_feed = FeedTools::Feed.open('http://www.slashdot.org/index.rss')
|
8
|
+
slashdot_feed.title
|
9
|
+
=> "Slashdot"
|
10
|
+
slashdot_feed.description
|
11
|
+
=> "News for nerds, stuff that matters"
|
12
|
+
slashdot_feed.link
|
13
|
+
=> "http://slashdot.org/"
|
14
|
+
slashdot_feed.items.first.find_node("slash:hitparade/text()").to_s
|
15
|
+
=> "43,37,28,23,11,3,1"
|
16
|
+
|
17
|
+
== Installation
|
18
|
+
You can install FeedTools as a gem:
|
19
|
+
gem install feedtools
|
20
|
+
|
21
|
+
Or you can install it from the tarball or zip packages on the download page
|
22
|
+
and then extract it to your vendors directory as you would with any other
|
23
|
+
Ruby library.
|
24
|
+
|
25
|
+
After installation, you will either need to run in non-caching mode or set
|
26
|
+
up a caching mechanism. The database feed cache system currently included
|
27
|
+
with FeedTools is the most common caching method. To set up the database
|
28
|
+
feed cache, you will first need to create the appropriate database schema.
|
29
|
+
Schema files for MySQL, PostgreSQL, and SQLite have been included, but the
|
30
|
+
preferred method of creating the schema within the Rails environment is with
|
31
|
+
a migration file. A migration file has been supplied with FeedTools and can
|
32
|
+
be found in the db directory. Run
|
33
|
+
<tt>script/generate migration add_feed_tools_tables</tt> and then copy and
|
34
|
+
paste the contents of db/migration.rb into your new migration file.
|
data/install.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rbconfig'
|
2
|
+
require 'find'
|
3
|
+
require 'ftools'
|
4
|
+
|
5
|
+
include Config
|
6
|
+
|
7
|
+
# this was adapted from rdoc's install.rb by ways of Log4r
|
8
|
+
|
9
|
+
$sitedir = CONFIG["sitelibdir"]
|
10
|
+
unless $sitedir
|
11
|
+
version = CONFIG["MAJOR"] + "." + CONFIG["MINOR"]
|
12
|
+
$libdir = File.join(CONFIG["libdir"], "ruby", version)
|
13
|
+
$sitedir = $:.find {|x| x =~ /site_ruby/ }
|
14
|
+
if !$sitedir
|
15
|
+
$sitedir = File.join($libdir, "site_ruby")
|
16
|
+
elsif $sitedir !~ Regexp.quote(version)
|
17
|
+
$sitedir = File.join($sitedir, version)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# the acual gruntwork
|
22
|
+
Dir.chdir("lib")
|
23
|
+
|
24
|
+
Find.find("feed_tools", "feed_tools.rb") { |f|
|
25
|
+
if f[-3..-1] == ".rb"
|
26
|
+
File::install(f, File.join($sitedir, *f.split(/\//)), 0644, true)
|
27
|
+
else
|
28
|
+
File::makedirs(File.join($sitedir, *f.split(/\//)))
|
29
|
+
end
|
30
|
+
}
|
data/rakefile
ADDED
@@ -0,0 +1,207 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/testtask'
|
4
|
+
require 'rake/rdoctask'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/contrib/rubyforgepublisher'
|
8
|
+
|
9
|
+
require File.join(File.dirname(__FILE__), 'lib/feed_tools', 'version')
|
10
|
+
|
11
|
+
PKG_NAME = 'feedtools'
|
12
|
+
PKG_VERSION = FeedTools::FEED_TOOLS_VERSION::STRING
|
13
|
+
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
14
|
+
|
15
|
+
RELEASE_NAME = "REL #{PKG_VERSION}"
|
16
|
+
|
17
|
+
RUBY_FORGE_PROJECT = PKG_NAME
|
18
|
+
RUBY_FORGE_USER = "sporkmonger"
|
19
|
+
RUBY_FORGE_PATH = "/var/www/gforge-projects/#{RUBY_FORGE_PROJECT}"
|
20
|
+
|
21
|
+
PKG_FILES = FileList[
|
22
|
+
"lib/**/*", "test/**/*", "examples/**/*", "doc/**/*", "db/**/*",
|
23
|
+
"[A-Z]*", "install.rb", "rakefile"
|
24
|
+
].exclude(/\bCVS\b|~$/).exclude(/database\.yml/).exclude(/\._.*/)
|
25
|
+
|
26
|
+
desc "Default Task"
|
27
|
+
task :default => [ :test_all ]
|
28
|
+
|
29
|
+
# Run the unit tests
|
30
|
+
|
31
|
+
Rake::TestTask.new("test_all") { |t|
|
32
|
+
t.libs << "test"
|
33
|
+
t.test_files = FileList['test/unit/*_test.rb']
|
34
|
+
t.verbose = true
|
35
|
+
}
|
36
|
+
Rake::TestTask.new("amp_test") { |t|
|
37
|
+
t.libs << "test"
|
38
|
+
t.test_files = FileList['test/unit/amp_test.rb']
|
39
|
+
t.verbose = true
|
40
|
+
}
|
41
|
+
Rake::TestTask.new("atom_test") { |t|
|
42
|
+
t.libs << "test"
|
43
|
+
t.test_files = FileList['test/unit/atom_test.rb']
|
44
|
+
t.verbose = true
|
45
|
+
}
|
46
|
+
Rake::TestTask.new("cache_test") { |t|
|
47
|
+
t.libs << "test"
|
48
|
+
t.test_files = FileList['test/unit/cache_test.rb']
|
49
|
+
t.verbose = true
|
50
|
+
}
|
51
|
+
Rake::TestTask.new("cdf_test") { |t|
|
52
|
+
t.libs << "test"
|
53
|
+
t.test_files = FileList['test/unit/cdf_test.rb']
|
54
|
+
t.verbose = true
|
55
|
+
}
|
56
|
+
Rake::TestTask.new("encoding_test") { |t|
|
57
|
+
t.libs << "test"
|
58
|
+
t.test_files = FileList['test/unit/encoding_test.rb']
|
59
|
+
t.verbose = true
|
60
|
+
}
|
61
|
+
Rake::TestTask.new("generation_test") { |t|
|
62
|
+
t.libs << "test"
|
63
|
+
t.test_files = FileList['test/unit/generation_test.rb']
|
64
|
+
t.verbose = true
|
65
|
+
}
|
66
|
+
Rake::TestTask.new("helper_test") { |t|
|
67
|
+
t.libs << "test"
|
68
|
+
t.test_files = FileList['test/unit/helper_test.rb']
|
69
|
+
t.verbose = true
|
70
|
+
}
|
71
|
+
Rake::TestTask.new("interface_test") { |t|
|
72
|
+
t.libs << "test"
|
73
|
+
t.test_files = FileList['test/unit/interface_test.rb']
|
74
|
+
t.verbose = true
|
75
|
+
}
|
76
|
+
Rake::TestTask.new("nonstandard_test") { |t|
|
77
|
+
t.libs << "test"
|
78
|
+
t.test_files = FileList['test/unit/nonstandard_test.rb']
|
79
|
+
t.verbose = true
|
80
|
+
}
|
81
|
+
Rake::TestTask.new("rdf_test") { |t|
|
82
|
+
t.libs << "test"
|
83
|
+
t.test_files = FileList['test/unit/rdf_test.rb']
|
84
|
+
t.verbose = true
|
85
|
+
}
|
86
|
+
Rake::TestTask.new("rss_test") { |t|
|
87
|
+
t.libs << "test"
|
88
|
+
t.test_files = FileList['test/unit/rss_test.rb']
|
89
|
+
t.verbose = true
|
90
|
+
}
|
91
|
+
|
92
|
+
# Generate the RDoc documentation
|
93
|
+
|
94
|
+
Rake::RDocTask.new { |rdoc|
|
95
|
+
rdoc.rdoc_dir = 'doc'
|
96
|
+
rdoc.title = "Feed Tools -- caching system for xml news feeds"
|
97
|
+
rdoc.options << '--line-numbers' << '--inline-source' <<
|
98
|
+
'--accessor' << 'cattr_accessor=object'
|
99
|
+
rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
100
|
+
rdoc.rdoc_files.include('README', 'CHANGELOG')
|
101
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
102
|
+
rdoc.rdoc_files.include('db/**/*.sql')
|
103
|
+
}
|
104
|
+
|
105
|
+
# Create compressed packages
|
106
|
+
|
107
|
+
dist_dirs = [ "lib", "test", "db" ]
|
108
|
+
|
109
|
+
spec = Gem::Specification.new do |s|
|
110
|
+
s.name = PKG_NAME
|
111
|
+
s.version = PKG_VERSION
|
112
|
+
s.summary = "Parsing, generation, and caching system for xml news feeds."
|
113
|
+
s.description = "Implements a simple system for handling xml news feeds with caching."
|
114
|
+
|
115
|
+
s.files = [ "rakefile", "install.rb", "README", "CHANGELOG" ]
|
116
|
+
dist_dirs.each do |dir|
|
117
|
+
s.files = s.files + Dir.glob( "#{dir}/**/*" ).delete_if do |item|
|
118
|
+
item.include?( "\.svn" ) || item.include?( "database\.yml" )
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
s.add_dependency('activerecord', '>= 1.10.1')
|
123
|
+
s.add_dependency('uuidtools', '>= 1.0.0')
|
124
|
+
s.add_dependency('builder', '>= 1.2.4')
|
125
|
+
|
126
|
+
s.require_path = 'lib'
|
127
|
+
|
128
|
+
begin
|
129
|
+
s.post_install_message = <<-TEXT
|
130
|
+
|
131
|
+
FeedTool's caching schema has changed to allow Feed objects to be
|
132
|
+
serialized to the cache. This should offer some limited speed up
|
133
|
+
in some cases.
|
134
|
+
|
135
|
+
TEXT
|
136
|
+
rescue Exception
|
137
|
+
end
|
138
|
+
|
139
|
+
s.has_rdoc = true
|
140
|
+
s.extra_rdoc_files = %w( README )
|
141
|
+
s.rdoc_options.concat ['--main', 'README']
|
142
|
+
|
143
|
+
s.author = "Bob Aman"
|
144
|
+
s.email = "bob@sporkmonger.com"
|
145
|
+
s.homepage = "http://sporkmonger.com/projects/feedtools"
|
146
|
+
s.rubyforge_project = "feedtools"
|
147
|
+
end
|
148
|
+
|
149
|
+
Rake::GemPackageTask.new(spec) do |p|
|
150
|
+
p.gem_spec = spec
|
151
|
+
p.need_tar = true
|
152
|
+
p.need_zip = true
|
153
|
+
end
|
154
|
+
|
155
|
+
task :profile do
|
156
|
+
$:.unshift(File.dirname(__FILE__) + '/lib')
|
157
|
+
require 'feed_tools'
|
158
|
+
puts "Profiling FeedTools #{FeedTools::FEED_TOOLS_VERSION::STRING}..."
|
159
|
+
command = 'ruby -rprofile -e \'' +
|
160
|
+
'$:.unshift(File.dirname(__FILE__) + "/lib");' +
|
161
|
+
'require "feed_tools";' +
|
162
|
+
'FeedTools::Feed.open(' +
|
163
|
+
'"http://hsivonen.iki.fi/test/unknown-namespace.atom")' +
|
164
|
+
'.build_xml("atom", 1.0)\''
|
165
|
+
`#{command}`
|
166
|
+
end
|
167
|
+
|
168
|
+
task :lines do
|
169
|
+
lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
|
170
|
+
|
171
|
+
for file_name in FileList["lib/**/*.rb"]
|
172
|
+
f = File.open(file_name)
|
173
|
+
|
174
|
+
while line = f.gets
|
175
|
+
lines += 1
|
176
|
+
next if line =~ /^\s*$/
|
177
|
+
next if line =~ /^\s*#/
|
178
|
+
codelines += 1
|
179
|
+
end
|
180
|
+
puts "L: #{sprintf("%4d", lines)}, LOC #{sprintf("%4d", codelines)} | #{file_name}"
|
181
|
+
|
182
|
+
total_lines += lines
|
183
|
+
total_codelines += codelines
|
184
|
+
|
185
|
+
lines, codelines = 0, 0
|
186
|
+
end
|
187
|
+
|
188
|
+
puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
|
189
|
+
end
|
190
|
+
|
191
|
+
|
192
|
+
# Publishing ------------------------------------------------------
|
193
|
+
|
194
|
+
namespace :publish do
|
195
|
+
desc "Publish the API documentation"
|
196
|
+
task :api => [ "rdoc" ] do
|
197
|
+
Rake::SshDirPublisher.new(
|
198
|
+
"#{RUBY_FORGE_USER}@rubyforge.org",
|
199
|
+
"#{RUBY_FORGE_PATH}/",
|
200
|
+
"doc"
|
201
|
+
).upload
|
202
|
+
end
|
203
|
+
|
204
|
+
desc "Runs all of the publishing tasks"
|
205
|
+
task :all => ["publish:api"] do
|
206
|
+
end
|
207
|
+
end
|
metadata
CHANGED
@@ -1,36 +1,73 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caironoleto-feedtools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.31
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Bob Aman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-04-08 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: activerecord
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.10.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: uuidtools
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.0
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: builder
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.2.4
|
44
|
+
version:
|
45
|
+
description: Implements a simple system for handling xml news feeds with caching.
|
46
|
+
email: bob@sporkmonger.com
|
18
47
|
executables: []
|
19
48
|
|
20
49
|
extensions: []
|
21
50
|
|
22
|
-
extra_rdoc_files:
|
23
|
-
|
24
|
-
files:
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
51
|
+
extra_rdoc_files:
|
52
|
+
- README
|
53
|
+
files:
|
54
|
+
- rakefile
|
55
|
+
- install.rb
|
56
|
+
- README
|
57
|
+
- CHANGELOG
|
58
|
+
has_rdoc: true
|
59
|
+
homepage: http://sporkmonger.com/projects/feedtools
|
60
|
+
post_install_message: |+
|
61
|
+
|
62
|
+
FeedTool's caching schema has changed to allow Feed objects to be
|
63
|
+
serialized to the cache. This should offer some limited speed up
|
64
|
+
in some cases.
|
65
|
+
|
66
|
+
rdoc_options:
|
67
|
+
- --main
|
68
|
+
- README
|
31
69
|
require_paths:
|
32
70
|
- lib
|
33
|
-
- db
|
34
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
35
72
|
requirements:
|
36
73
|
- - ">="
|
@@ -45,10 +82,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
45
82
|
version:
|
46
83
|
requirements: []
|
47
84
|
|
48
|
-
rubyforge_project:
|
85
|
+
rubyforge_project: feedtools
|
49
86
|
rubygems_version: 1.2.0
|
50
87
|
signing_key:
|
51
88
|
specification_version: 2
|
52
|
-
summary:
|
89
|
+
summary: Parsing, generation, and caching system for xml news feeds.
|
53
90
|
test_files: []
|
54
91
|
|