freeplay 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/freeplay.rb +52 -2
  3. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81e5ce0d7dd47c32a0821dd6c28fcfc595548664
4
- data.tar.gz: e0ec140ccd0f7614eea45b74b7100089b1993425
3
+ metadata.gz: ce0c9fa59ea43853b9530011df751623d42d61cf
4
+ data.tar.gz: d3d86dcdc723734c30dcebb5ecfef74e79ebeb89
5
5
  SHA512:
6
- metadata.gz: 632fe48aa4b242cd61ce332eb2d6b70d69b406f9d9cb18f3a4b048901add1551ff14ab34b04b2e9bb9a39ffbad805b503dd3ea3b03fa35894fb941cb3a393bee
7
- data.tar.gz: 869ab2a36a1c3d3a8bee154110cfbfc09b247992866da472b70caa7fad10b04803b8c4a02d054ae5681cf4293cce45fad8fde0cd21dd498e4ddeef0e1103d5de
6
+ metadata.gz: 186fe3613a8c08f4633c9daba719435338aa0e0b351738645bdb695622385ea2ec74c68b0ace2cd0949338f4447018dfd6272b52ebec1a3c1a9989b691d57f4d
7
+ data.tar.gz: 955fe59614996b95f590a1e3884a1f8166a2f3c6cf38d2abc747710c99e585b09d84382bbeb9eba95a4fd573ee291d1dc37ea8f4075d3be315a499f0ff652da2
data/lib/freeplay.rb CHANGED
@@ -1,5 +1,55 @@
1
+ require 'httparty'
2
+
1
3
  class Freeplay
2
- def self.hi
3
- puts "Hello world!"
4
+ include HTTParty
5
+
6
+ #debug_output $stdout
7
+
8
+ # use SSL
9
+ base_uri 'http://api.freeplay.co/v1'
10
+
11
+ format :json
12
+
13
+ HEADERS = {
14
+ 'Accept' => 'application/json',
15
+ 'Content-Type' => 'application/x-www-form-urlencoded'
16
+ }
17
+
18
+ def initialize(api_token, api_key, app_id, device_type=3)
19
+ @api_token = api_token
20
+ @api_key = api_key
21
+ @app_id = app_id
22
+ @device_type = device_type
23
+ HEADERS.merge!('User-Agent'=> "#{@app_id}")
24
+ end
25
+
26
+ def get_user(unique_id, id_type=5)
27
+ query = config.merge(
28
+ 'deviceType' => @device_type,
29
+ 'IDType' => id_type,
30
+ 'uniqueID' => unique_id
31
+ )
32
+ self.class.get('/user', query: query, headers: HEADERS)
33
+ end
34
+
35
+ def reinforce?(user_uri, hablet_id)
36
+ query = config.merge(
37
+ 'habletID' => hablet_id
38
+ )
39
+ self.class.get("/user/#{user_uri}/app/#{@app_id}", query: query, headers: HEADERS)
40
+ end
41
+
42
+ def redeem(user_uri, hablet_id, email)
43
+ body = config.merge(
44
+ "habletID" => hablet_id,
45
+ "email" => email
46
+ )
47
+ self.class.post("/user/#{user_uri}/app/#{@app_id}/", body: body, headers: HEADERS)
48
+ end
49
+
50
+ private
51
+
52
+ def config
53
+ {'key' => @api_key, 'token' => @api_token, 'appID' => @app_id}
4
54
  end
5
55
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freeplay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marko Vasiljevic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-12 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2014-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Rest client for Freeplay API, a behavioral reward platform
14
28
  email: marmarko@gmail.com
15
29
  executables: []