Sha256: 04599150b21d85d8b51dcc598ab4c34888c70d683177fd395da86e66a4510e70

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

require 'evernote-thrift'
require 'yinx/note_store'

module Yinx
  class UserStore

    attr_reader :userStore

    SANDBOX = "sandbox.evernote.com"
    #REAL = "www.evernote.com"
    REAL = "app.yinxiang.com"

    TOKEN = "#{ENV['HOME']}/.yinx"

    def initialize real_env = true
      @real = real_env
      userStoreUrl = "https://#{host}/edam/user"
      userStoreTransport = Thrift::HTTPClientTransport.new(userStoreUrl)
      userStoreProtocol = Thrift::BinaryProtocol.new(userStoreTransport)
      @userStore = Evernote::EDAM::UserStore::UserStore::Client.new(userStoreProtocol)
    end

    def host
      @real ? REAL : SANDBOX
    end

    def checkVersion
      userStore.checkVersion("Evernote EDAMTest (Ruby)",
                             Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR,
                             Evernote::EDAM::UserStore::EDAM_VERSION_MINOR)
    end

    def note_store authToken = default_token
      NoteStore.new userStore, authToken
    end

    def default_token
      return ENV['YINX'] if ENV['YINX']
      File.exist?(TOKEN) ? File.read(TOKEN).chomp : nil
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
yinx-0.1.6 lib/yinx/user_store.rb
yinx-0.1.5 lib/yinx/user_store.rb
yinx-0.1.4 lib/yinx/user_store.rb
yinx-0.1.3 lib/yinx/user_store.rb
yinx-0.1.2 lib/yinx/user_store.rb