Sha256: 056e6c6dd7d9f20c6c376ea2f4c4ae2b7a3d136026ab4a952d9ea3c3c57e9574

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

RestCore::Mixi = RestCore::Builder.client(
  :data, :consumer_key, :consumer_secret, :redirect_uri) do
  s = self.class # this is only for ruby 1.8!
  use s::Timeout       , 10

  use s::DefaultSite   , 'http://api.mixi-platform.com/'
  use s::DefaultHeaders, {'Accept' => 'application/json'}

  use s::Oauth2Header  , nil

  use s::CommonLogger  , nil
  use s::Cache         , nil, 600 do
    use s::ErrorHandler  , lambda{ |env| p env }
    use s::ErrorDetectorHttp
    use s::JsonDecode    , true
  end

  use s::Defaults      , :data => lambda{{}}
end

module RestCore::Mixi::Client
  include RestCore

  def access_token
    data['access_token'] if data.kind_of?(Hash)
  end

  def access_token= token
    data['access_token'] = token if data.kind_of?(Hash)
  end

  def authorize_url queries={}
    url('https://mixi.jp/connect_authorize.pl',
        {:client_id     => consumer_key,
         :response_type => 'code',
         :scope         => 'r_profile'}.merge(queries))
  end

  def authorize! payload={}, opts={}
    pl = {:client_id     => consumer_key   ,
          :client_secret => consumer_secret,
          :redirect_uri  => redirect_uri   ,
          :grant_type    => 'authorization_code'}.merge(payload)

    self.data = post('https://secure.mixi-platform.com/2/token', pl, {}, opts)
  end
end

RestCore::Mixi.send(:include, RestCore::Mixi::Client)
require 'rest-core/client/mixi/rails_util' if
  Object.const_defined?(:Rails)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rest-more-0.7.2.1 lib/rest-core/client/mixi.rb
rest-more-0.7.2 lib/rest-core/client/mixi.rb