Class: GData::Blogger

Inherits:
Base
  • Object
show all
Defined in:
lib/gdata/blogger.rb

Instance Attribute Summary

Attributes inherited from Base

#service, #source, #url

Instance Method Summary collapse

Methods inherited from Base

#authenticate, #get, #http, #post, #put, #request

Constructor Details

#initialize(blog_id, entry_id = nil) ⇒ Blogger

Returns a new instance of Blogger.



8
9
10
11
12
# File 'lib/gdata/blogger.rb', line 8

def initialize(blog_id, entry_id=nil)
  @blog_id = blog_id
  @entry_id = entry_id
  super 'blogger', 'gdata-ruby', 'www.blogger.com'
end

Instance Method Details

#add_enclosure(enclosure_url, enclosure_length) ⇒ Object



30
31
32
33
34
35
# File 'lib/gdata/blogger.rb', line 30

def add_enclosure(enclosure_url, enclosure_length)
  raise "An enclosure has already been added to this entry" if enclosure?
  # todo(stevejenson): replace with builder
  entry.search('//entry').append(%Q{<link rel="enclosure" type="audio/mpeg" title="MP3" href="#{enclosure_url}" length="#{enclosure_length}" />})
  save_entry
end

#enclosureObject



22
23
24
# File 'lib/gdata/blogger.rb', line 22

def enclosure
  entry.search('//link[@rel="enclosure"]')
end

#enclosure?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/gdata/blogger.rb', line 26

def enclosure?
  enclosure.any?
end

#entry(title, body) ⇒ Object

Creates a new entry with the given title and body



51
52
53
# File 'lib/gdata/blogger.rb', line 51

def entry
  @entry ||= Hpricot(request("/feeds/#{@blog_id}/posts/default/#{@entry_id}"))
end

#feedObject



14
15
16
# File 'lib/gdata/blogger.rb', line 14

def feed
  request "/feeds/#{@blog_id}/posts/default"
end

#remove_enclosureObject



37
38
39
40
41
42
# File 'lib/gdata/blogger.rb', line 37

def remove_enclosure
  if enclosure?
    enclosure.remove
    save_entry
  end
end

#save_entryObject



44
45
46
47
48
# File 'lib/gdata/blogger.rb', line 44

def save_entry
  path = "/feeds/#{@blog_id}/posts/default/#{@entry_id}"
  
  put(path, entry.to_s)
end