class ActiveDatastore::Client

Public Class Methods

new(email, secret) click to toggle source
# File lib/active_datastore/client.rb, line 5
def initialize email, secret
  @client = Google::APIClient.new
  key = Google::APIClient::KeyUtils.load_from_pkcs12(secret, 'notasecret')
  service_account = Google::APIClient::JWTAsserter.new(
    email,
    ['https://www.googleapis.com/auth/datastore', 'https://www.googleapis.com/auth/userinfo.email'],
    key)
  @client.authorization = service_account.authorize

end

Public Instance Methods

api() click to toggle source
# File lib/active_datastore/client.rb, line 20
def api
    @api ||= @client.discovered_api('datastore', 'v1beta1').datasets
end
execute(opts) click to toggle source
# File lib/active_datastore/client.rb, line 24
def execute opts
    @client.execute({
            api_method: api.send(opts[:method]),
            body_object: opts[:body],
            parameters: opts[:params]
    })
end
valid?() click to toggle source
# File lib/active_datastore/client.rb, line 16
def valid?
    not @client.authorization.expired?
end