gem 'omniauth-jawbone'gem 'jawbone'$ bundleconfig/initializers/omniauth.rb create
Rails.application.config.middleware.use OmniAuth::Builder do
provider :jawbone,
# ENV['JAWBONE_CLIENT_ID'],
'OwOK237-qwerEJI',
# ENV['JAWBONE_CLIENT_SECRET'],
'4322f0c9c9c624c78c1db08534353b71607b224b93',
scope: "basic_read mood_read sleep_read move_read"
end
====
$ rails g controller welcome indexwelcome_controller.rb
def index
end
def show
@client = Jawbone::Client.new "#{current_user.token}"
@work=@client.body_event('dv80YWQ2mYxQuGjMfOQuXA')
puts "==========#{@work}"
end
====
routes.rb
get "welcome/index"
get "welcome/login"
get "welcome/show"
root :to => 'welcome#index'
get "auth/jawbone/callback" => 'sessions#create'
get 'signout', to: 'sessions#destroy', as: 'signout'
====
$ rails g controller sessionssessions_controller.rb
def create
user = User.find_or_create_from_jawbone(env['omniauth.auth'])
session[:user_id] = user.id
redirect_to root_path
end
def destroy
session[:user_id] = nil
redirect_to root_url, notice: "Signed out."
end
====
$ rails g model useruser.rb
def self.find_or_create_from_jawbone(auth)
if user = where(uid: auth['uid']).first
user.token = auth['credentials']['token']
user.save!
puts "============================================"
puts "================================"
else
user = create_from_jawbone(auth)
end
user
end
def self.create_from_jawbone(auth)
create! do |user|
user.uid = auth['uid']
user.token = auth['credentials']['token']
user.first_name = auth['info']['first_name']
# user.last_name = auth['info']['last_name']
end
end
====
$ rails g migration AddTokenToUsers20140506133902_add_token_to_users.rb
def change
add_column :users, :token, :string
add_column :users, :uid, :string
add_column :users, :first_name, :string
#rename_column :users, :name, :last_name
end
====
application.html.erb
% if current_user % %= @users.inspect %
Signed in as %= current_user.first_name %
%= link_to "Sign out", signout_path %
% else %
%= link_to "Sign in with Jawbone", "/auth/jawbone", :class => "btn btn-primary jawbone" %
% end %
a href="/welcome/show">Show Data /a
====
show.html.erb
%= @client.user %
%= @client.workouts %
====