tabcast 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/tabcast +15 -1
  3. data/lib/tabcast.rb +5 -1
  4. metadata +4 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ad01c63680b740a4b845b429586d37bde47b56d
4
- data.tar.gz: e1bca0e31ba0f7ec62db27ed4c95a635c3004935
3
+ metadata.gz: 06994bca6d392f56050381ab2fdedb8e3309f904
4
+ data.tar.gz: d68b8570130a816b8757fa3fbf9cf8956862255e
5
5
  SHA512:
6
- metadata.gz: 16c42de36a3134d0e7d24c48ab534fb3ba6151ac619768ea2780a75936af17c4557f107b0a5387aacf7f3902b8c6ec47c5437e1b5a47d19ebfcd5fb818ed6f12
7
- data.tar.gz: 12dda365007f7cc20c6aaec970b48ced0220708d9fc9d22cc80673b3e6502aa04c45ed4faf71c4007dc7806c0e04a0615ad5b85e1dced70d335608bd8adbd644
6
+ metadata.gz: 95bfb2c144b7b4bc6aa19295a5f0c6deb737c66f098c4ec9577206b77b7d49ceb9cd1d08121fbabcdb383580c7cb18dcabe39f35ee1cac38792d0daca8ef5e71
7
+ data.tar.gz: 5e4eeecaf841a2ed65aaf0443924bebc7840a6a2f7351a5423f33aeb76152f34536cad798c25d26b8a638d905ee3b9c4363b919f8940ec12fcc00608223bf9b0
@@ -13,8 +13,10 @@ options = {}
13
13
  optparse = OptionParser.new do|opts|
14
14
  #set default
15
15
  options[:format] = '{{utime}}\t{{title | spaces_to_underscores}}\t{{enclosure_url}}\n'
16
+ options[:prefix] = ""
17
+ options[:suffix] = ""
16
18
 
17
- opts.banner = "Usage: tabcast [-f FORMATSTRING] file1 file2 ...\n(FORMATSTRING is assumed to be '#{options[:format]}' unless specified)
19
+ opts.banner = "Usage: tabcast [-f FORMATSTRING] [-p PREFIX] [-s SUFFIX] file1 file2 ...\n(FORMATSTRING is assumed to be '#{options[:format]}' unless specified)
18
20
 
19
21
  FORMATSTRING is a Liquid template (http://liquidmarkup.org/) that will be rendered once for each feed item.
20
22
 
@@ -45,15 +47,27 @@ In addition, the following sequences are escaped to the equivalent literal chara
45
47
  options[:format] = "{{utime}}#{delimiter}{{title | spaces_to_underscores}}#{delimiter}{{enclosure_url}}" + '\n';
46
48
  end
47
49
 
50
+ opts.on( '-p', '--prefix PREFIX', 'Print this string once, before the list of items') do |prefix|
51
+ options[:prefix] = prefix
52
+ end
53
+
54
+ opts.on( '-s', '--suffixi SUFFIX', 'Print this string once, after the list of items') do |suffix|
55
+ options[:suffix] = suffix
56
+ end
57
+
48
58
  opts.on( '-h', '--help', 'Show usage.' ) do
49
59
  puts opts
50
60
  exit
51
61
  end
62
+
63
+
52
64
  end
53
65
 
54
66
  optparse.parse!
55
67
 
56
68
  ARGV.each do |url|
57
69
  feed = Tabcast::TabCastFeed.new(url, options[:format])
70
+ feed.prefix = options[:prefix]
71
+ feed.suffix = options[:suffix]
58
72
  puts feed.formatted
59
73
  end
@@ -21,15 +21,18 @@ module Tabcast
21
21
 
22
22
  class TabCastFeed
23
23
  attr_reader :url, :feed, :template
24
+ attr_accessor :prefix, :suffix
24
25
 
25
26
  def initialize(url, format)
26
27
  @url = url
27
28
  @items = RSS::Parser.parse(url, false).items
28
29
  @template = Liquid::Template.parse(unescape(format))
30
+ #@prefix = "" unless @prefix
31
+ #@suffix = "" unless @suffix
29
32
  end
30
33
 
31
34
  def formatted
32
- string = ""
35
+ string = unescape(@prefix)
33
36
  @items.each do |i|
34
37
  vars = Hash.new
35
38
  vars['utime'] = i.pubDate.strftime('%s') if i.pubDate
@@ -41,6 +44,7 @@ module Tabcast
41
44
 
42
45
  string += @template.render(vars)
43
46
  end
47
+ string += unescape(@suffix)
44
48
  string
45
49
  end
46
50
 
metadata CHANGED
@@ -1,37 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tabcast
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Tindall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-15 00:00:00.000000000 Z
11
+ date: 2014-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.6'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
14
+ name: liquid
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ">="
32
18
  - !ruby/object:Gem::Version
33
19
  version: '0'
34
- type: :development
20
+ type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements: