Class: WordpressCom

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/wordpress-com.rb,
lib/wordpress-com/version.rb,
lib/wordpress-com/access_token.rb

Defined Under Namespace

Classes: AccessToken

Constant Summary collapse

VERSION =
"0.0.1"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_id, client_secret, token = nil) ⇒ WordpressCom

Returns a new instance of WordpressCom.



11
12
13
14
15
16
17
# File 'lib/wordpress-com.rb', line 11

def initialize(client_id, client_secret, token=nil)
  @client = OAuth2::Client.new(client_id, client_secret,
    :site          => 'https://public-api.wordpress.com/',
    :authorize_url => '/oauth2/authorize',
    :token_url     => '/oauth2/token')
  @token = AccessToken.from_hash(client, token) if token
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



8
9
10
# File 'lib/wordpress-com.rb', line 8

def client
  @client
end

#tokenObject (readonly)

Returns the value of attribute token.



8
9
10
# File 'lib/wordpress-com.rb', line 8

def token
  @token
end

Class Method Details

.deserialize(data) ⇒ Object



19
20
21
# File 'lib/wordpress-com.rb', line 19

def self.deserialize(data)
  self.new(*data)
end

Instance Method Details

#authorize_url(redirect_uri, opts = {}) ⇒ Object



23
24
25
26
# File 'lib/wordpress-com.rb', line 23

def authorize_url(redirect_uri, opts={})
  opts[:redirect_uri] = @redirect_uri = redirect_uri
  client.auth_code.authorize_url(opts)
end

#blog_idObject



40
41
42
# File 'lib/wordpress-com.rb', line 40

def blog_id
  token['blog_id']
end

#get_token(code, redirect_uri = nil) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/wordpress-com.rb', line 28

def get_token(code, redirect_uri=nil)
  redirect_uri ||= @redirect_uri
  @token = AccessToken.from_hash( @client,
    client.auth_code.get_token(code,
      :redirect_uri => redirect_uri,
      :parse => :json).to_hash)
end

#serializeObject



36
37
38
# File 'lib/wordpress-com.rb', line 36

def serialize
  [ client.id, client.secret, token.to_hash ]
end