simplificator-withings 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = simplificator-withings
2
2
 
3
- This is a ruby implementation for the Withings API. Description of the API can be found here: http://www.withings.com/en/api/
3
+ This is a ruby implementation for the Withings API. Description of the API can be found here: http://www.withings.com/en/api
4
4
 
5
5
  == Status
6
6
  The gem is still under development and the API might change a bit.
@@ -28,38 +28,30 @@ will make an API call to populate the attributes, User.new just requires user_id
28
28
  == How To
29
29
 
30
30
  Require the API implementation
31
-
32
31
  require 'rubygems'
33
32
  require 'withings'
34
33
 
35
34
  All classes are name-spaced, if your other code allows you can include Withings
36
-
37
35
  include Withings
38
36
 
39
37
  A user can be authenticated with email address and password
40
-
41
38
  user = User.authenticate('<YOUR EMAIL ADDRESS>', '<YOUR PASSWORD>')
42
39
 
43
40
  Or you can fetch details if you have the user id and public key
44
-
45
41
  user = User.info('<YOUR USER ID>', '<YOUR PUBLIC KEY>')
46
42
 
47
43
  If you already have user id and public key and you do not need further information on the user
48
-
49
44
  user = User.new(:user_id => '<YOUR USER ID>', :public_key => '<YOUR PUBLIC_KEY>')
50
45
 
51
46
  enable/disable sharing, disabling it will reset the public key
52
-
53
47
  user.share=true
54
48
 
55
49
  You can handle subscriptions through the API
56
-
57
50
  user.subscribe_notification('http://foo.bar.com', 'test subscription')
58
51
  user.describe_notification('http://foo.bar.com')
59
52
  user.revoke_notification('http://foo.bar.com')
60
53
 
61
54
  And finally you can get measurements, after all it's a scale
62
-
63
55
  user.measurement_groups(:per_page => 10, :page => 1, :end_at => Time.now)
64
56
  user.measurement_groups(:category => MeasurementGroup::CATEGORY_TARGET)
65
57
  user.measurement_groups(:last_updated_at => Time.at(12345))
@@ -7,13 +7,12 @@ class Withings::ApiError < StandardError
7
7
  293 => "The callback URL is either absent or incorrect",
8
8
  294 => "No such subscription could be deleted",
9
9
  304 => "The comment is either absent or incorrect",
10
- 2554 => "Invalid Parameters . Not sure about this error message, it's not documented",
11
10
  2555 => "An unknown error occurred",
12
11
  }
13
12
 
14
13
  attr_reader :status
15
14
  def initialize(status)
16
- super(STATUS_CODES[status] || 'Undefined status code')
15
+ super(STATUS_CODES[status] || "Undefined status code. We do not have any description about the code #{status}. If you know more, then please let me know.")
17
16
  @status = status
18
17
  end
19
18
 
@@ -16,7 +16,7 @@ class Withings::MeasurementGroup
16
16
  attr_reader :group_id, :attribution, :created_at, :category
17
17
  attr_reader :weight, :height, :fat, :ratio, :fat_free
18
18
  def initialize(params)
19
- params = params.keys_as_string
19
+ params = params.stringify_keys
20
20
  @group_id = params['grpid']
21
21
  @attribution = params['attrib']
22
22
  @created_at = Time.at(params['date'])
@@ -49,7 +49,7 @@ class Withings::MeasurementGroup
49
49
  end
50
50
 
51
51
  def to_s
52
- "[ Weight: #{self.weight}, Fat: #{self.fat}, Height: #{self.height}, BMI: #{self.bmi}, Ratio: #{self.fat_ratio}, Free: #{self.fat_free_weight}, ID: #{self.group_id}]"
52
+ "[ Weight: #{self.weight}, Fat: #{self.fat}, Height: #{self.height}, BMI: #{self.bmi}, Ratio: #{self.ratio}, Free: #{self.fat_free}, ID: #{self.group_id}]"
53
53
  end
54
54
 
55
55
  def inspect
data/lib/withings/user.rb CHANGED
@@ -9,7 +9,7 @@ class Withings::User
9
9
  end
10
10
 
11
11
  def self.info(user_id, public_key)
12
- response = Connection.get_request('/account', :action => :getbyuserid, :userid => user_id, :publickey => public_key)
12
+ response = Connection.get_request('/user', :action => :getbyuserid, :userid => user_id, :publickey => public_key)
13
13
  User.new(response['users'].first)
14
14
  end
15
15
 
@@ -31,7 +31,7 @@ class Withings::User
31
31
  @fat_method = params['fatmethod']
32
32
  end
33
33
 
34
- def subscribe_to_notification(callback_url, description)
34
+ def subscribe_notification(callback_url, description)
35
35
  connection.get_request('/notify', :action => :subscribe, :callbackurl => callback_url, :comment => description)
36
36
  end
37
37
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{simplificator-withings}
5
- s.version = "0.2.0"
5
+ s.version = "0.2.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["pascalbetz"]
data/test/helper.rb CHANGED
@@ -5,7 +5,7 @@ require 'mocha'
5
5
 
6
6
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
7
  $LOAD_PATH.unshift(File.dirname(__FILE__))
8
- require 'withings'
8
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'withings')
9
9
 
10
10
  class Test::Unit::TestCase
11
11
  end
data/test/users_test.rb CHANGED
@@ -14,7 +14,7 @@ class UsersTest < Test::Unit::TestCase
14
14
 
15
15
  should 'subscribe to notification' do
16
16
  Withings::Connection.any_instance.expects(:get_request).with('/notify', :action => :subscribe, :callbackurl => 'http://schni.com', :comment => 'descri')
17
- @user.subscribe_to_notification('http://schni.com', 'descri')
17
+ @user.subscribe_notification('http://schni.com', 'descri')
18
18
  end
19
19
 
20
20
  should 'revoke notification' do
@@ -62,7 +62,7 @@ class UsersTest < Test::Unit::TestCase
62
62
  setup do
63
63
  user_id = 'kongking'
64
64
  public_key = 'abcdef'
65
- Connection.expects(:get_request).with('/account', :action => :getbyuserid, :userid => user_id, :publickey => public_key).
65
+ Connection.expects(:get_request).with('/user', :action => :getbyuserid, :userid => user_id, :publickey => public_key).
66
66
  returns({'users' => [{}]})
67
67
  end
68
68
  should 'authenticate with hashed password' do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplificator-withings
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 0
10
- version: 0.2.0
9
+ - 1
10
+ version: 0.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - pascalbetz