csexton-twitter_archive 0.0.6 → 0.0.7

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.
@@ -51,8 +51,13 @@ module GData
51
51
  put(path, entry.to_s)
52
52
  end
53
53
 
54
- # Creates a new entry with the given title and body
55
- def entry(title, body, labels=[])
54
+ # Creates a new entry with the given +title+ and +body+
55
+ # +options+ can contain the following:
56
+ # :labels - an array of labels (tags) to apply to the post
57
+ # :draft - boolean to save the post as a draft (not published)
58
+ #
59
+ def entry(title, body, options = {})
60
+ options = { :labels => [], :draft => false}.merge(options)
56
61
  x = Builder::XmlMarkup.new :indent => 2
57
62
  @entry = x.entry 'xmlns' => 'http://www.w3.org/2005/Atom' do
58
63
  x.title title, 'type' => 'text'
@@ -61,11 +66,17 @@ module GData
61
66
  x << body
62
67
  end
63
68
  end
64
- labels.each do |label|
69
+ options[:labels].each do |label|
65
70
  x.category 'scheme' => "http://www.blogger.com/atom/ns#", 'term' => label
66
71
  end
72
+ if options[:draft]
73
+ x.app:control, 'xmlns:app' =>'http://www.w3.org/2007/app' do
74
+ x << "<app:draft>yes</app:draft>" # The whitespace that builder
75
+ # adds around 'yes' was resulting
76
+ # in a bad request.
77
+ end
78
+ end
67
79
  end
68
-
69
80
  path = "/feeds/#{@blog_id}/posts/default"
70
81
  post(path, @entry)
71
82
  end
@@ -8,8 +8,17 @@ module TwitterArchive
8
8
  if twitter_results.length > 0
9
9
  blogger = GData::Blogger.new(opts['blogger_id'])
10
10
  blogger.authenticate(opts['blogger_user'], opts['blogger_pass'])
11
- blogger.entry(opts['blogger_title'] || 'Twitter', format_post(twitter_results), ['twitter'])
12
- "Posting to blogger id #{opts['blogger_id']}, user #{opts['blogger_user']}"
11
+
12
+ res = blogger.entry(opts['blogger_title'] || 'Twitter',
13
+ format_post(twitter_results),
14
+ {:labels => ['twitter'], :draft => true})
15
+
16
+ if res.code == '201' # 201 - Created
17
+ "Posting to blogger id #{opts['blogger_id']}, user #{opts['blogger_user']}"
18
+ else
19
+ "Error posting to blogger id #{opts['blogger_id']}, user #{opts['blogger_user']}: #{res.body}"
20
+ end
21
+
13
22
  else
14
23
  "Nothing to post to blogger"
15
24
  end
@@ -1,3 +1,3 @@
1
1
  module TwitterArchive
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{twitter_archive}
5
- s.version = "0.0.6"
5
+ s.version = "0.0.7"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Christohper Sexton"]
9
- s.date = %q{2009-01-03}
9
+ s.date = %q{2009-01-12}
10
10
  s.default_executable = %q{twitter_archive}
11
11
  s.description = %q{Twitter archive utility}
12
12
  s.email = %q{csexton@gmail.com}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csexton-twitter_archive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christohper Sexton
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-03 00:00:00 -08:00
12
+ date: 2009-01-12 00:00:00 -08:00
13
13
  default_executable: twitter_archive
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency