Class: WpRpc::Blog

Inherits:
Object
  • Object
show all
Defined in:
lib/wp_rpc/blog.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = { }) ⇒ Blog

Returns a new instance of Blog.



5
6
7
8
9
10
# File 'lib/wp_rpc/blog.rb', line 5

def initialize(options = { })
  @username = options[:username] if options[:username]
  @password = options[:password] if options[:password]
  @blog_id = options[:blog_id] || 1
  @url = options[:url] if options[:url]
end

Instance Attribute Details

#blog_idObject

Returns the value of attribute blog_id.



3
4
5
# File 'lib/wp_rpc/blog.rb', line 3

def blog_id
  @blog_id
end

#passwordObject

Returns the value of attribute password.



3
4
5
# File 'lib/wp_rpc/blog.rb', line 3

def password
  @password
end

#urlObject

Returns the value of attribute url.



3
4
5
# File 'lib/wp_rpc/blog.rb', line 3

def url
  @url
end

#usernameObject

Returns the value of attribute username.



3
4
5
# File 'lib/wp_rpc/blog.rb', line 3

def username
  @username
end

Instance Method Details

#attachmentsObject



16
17
18
# File 'lib/wp_rpc/blog.rb', line 16

def attachments
  @attachments ||= Collection::Attachments.new(:conn => self)
end

#call(*args) ⇒ Object



50
51
52
53
54
55
56
57
58
# File 'lib/wp_rpc/blog.rb', line 50

def call(*args)
  xmlrpc.call(*args)
rescue XMLRPC::FaultException => e
  if e.message =~ /XML-RPC services are disabled/
    raise WpRpc::ConnectionFailure, e.message
  else
    raise WpRpc::Error, e.message
  end
end

#categoriesObject



20
21
22
# File 'lib/wp_rpc/blog.rb', line 20

def categories
  @categories ||= Collection::Categories.new(:conn => self)
end

#edit_post(qid, attributes, published = nil) ⇒ Object



32
33
34
35
36
# File 'lib/wp_rpc/blog.rb', line 32

def edit_post(qid, attributes, published = nil)
  cargs = ['metaWeblog.editPost', qid, username, password, attributes]
  cargs << published unless published.nil?
  call(*cargs)
end

#get_post(qid) ⇒ Object



28
29
30
# File 'lib/wp_rpc/blog.rb', line 28

def get_post(qid)
  call('metaWeblog.getPost', qid, username, password)
end

#get_recent_posts(limit = 10) ⇒ Object



24
25
26
# File 'lib/wp_rpc/blog.rb', line 24

def get_recent_posts(limit = 10)
  call('metaWeblog.getRecentPosts', blog_id, username, password, limit)
end

#new_post(attributes, published = nil) ⇒ Object



38
39
40
41
42
# File 'lib/wp_rpc/blog.rb', line 38

def new_post(attributes, published = nil)
  cargs = ['metaWeblog.newPost', blog_id, username, password, attributes]
  cargs << published unless published.nil?
  call(*cargs)
end

#postsObject



12
13
14
# File 'lib/wp_rpc/blog.rb', line 12

def posts
  @post_collection ||= Collection::Posts.new(:conn => self)
end

#upload_file(name, mimetype, bits, overwrite = false) ⇒ Object



44
45
46
47
48
# File 'lib/wp_rpc/blog.rb', line 44

def upload_file(name, mimetype, bits, overwrite = false)

  call('wp.uploadFile', blog_id, username, password, 
       { :name => name, :type => mimetype, :bits => XMLRPC::Base64.new(bits), :overwrite => overwrite })
end

#xmlrpcObject



60
61
62
# File 'lib/wp_rpc/blog.rb', line 60

def xmlrpc
  @xclient ||= XMLRPC::Client.new2(url)
end