kollus 0.0.1 → 0.0.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kollus.rb +34 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14cc7823e16b7dfaff5e3d7923b53d004278b7ae
4
- data.tar.gz: e843e9e8a47563812ee7727d7f217463d8372632
3
+ metadata.gz: d03c57fdb66105f69580c74847d1a3666b11e76d
4
+ data.tar.gz: e5cf76f368fe15178f647d5f0fe9f680efbba22b
5
5
  SHA512:
6
- metadata.gz: fd3aef5156dcf8c13241680d9cecd68ce923fab636797d49683d72cac4793aa4eb516c55949c866ce5a4dc87da381dec48f5c815005b8ee3b56945aaf89b48f9
7
- data.tar.gz: 40e1124535ff9ac09d2779f12972d9c654d4010f12fc9b961b666f207fe7bcef094ce4f4ba6cbbc511c7de03b8c65cb311c65d002378e385de4ff9bf4965d405
6
+ metadata.gz: 9a87b79bac244ff79b3b3ba66b9aae2a9941e54d4d526ec6f096304dcc8a7dfe724d40130f4a5c9ff5c0a2721df12bd51d6406f65d75abd514cd2c47fe4d8fd4
7
+ data.tar.gz: ab32e0e3e5b253add4b66e9db99f2ea97466fd79a2712dc0666aa46dba7a7b0858ae60c9b357a2a9c1dd34d6816d1bce096a8e3ae5058d89758cb2e3b388cd86
@@ -28,13 +28,30 @@ class Kollus
28
28
 
29
29
  unless response['error'] == 0
30
30
  # TODO: Error handling
31
- return false
31
+ return nil
32
32
  end
33
33
 
34
- response['result']['media_token']
34
+ MediaSession.new response['result']['media_token']
35
35
  end
36
36
 
37
- def upload_uri(title = nil, expire_time = 600, encrypted = true, audio = false)
37
+ class MediaSession
38
+ def initialize token
39
+ @token = token
40
+ end
41
+
42
+ def url title = nil, download = false
43
+ url = "http://v.kr.kollus.com/s?key=#{@token}"
44
+ url += "&download" if download
45
+ url += "&title=" + URI.encode(title) if title
46
+ URI(url)
47
+ end
48
+
49
+ def download(title = nil); self.url(title, true) end
50
+ def token; @token end
51
+ end
52
+
53
+
54
+ def upload(title = nil, expire_time = 600, encrypted = true, audio = false)
38
55
  api_uri = URI('http://api.kr.kollus.com/0/media_auth/upload/create_url.json?access_token=' + @token)
39
56
  params = {
40
57
  # 값의 범위는 0 < expire_time <= 21600 입니다. 빈값을 보내거나 항목 자체를 제거하면 기본 600초로 설정됩니다.
@@ -59,9 +76,21 @@ class Kollus
59
76
 
60
77
  unless response['error'] == 0
61
78
  # TODO: Error handling
62
- return false
79
+ return nil
80
+ end
81
+
82
+ UploadSession.new response['result']
83
+ end
84
+
85
+ class UploadSession
86
+ def initialize json
87
+ @url = URI json['upload_url']
88
+ @key = json['upload_file_key']
89
+ @expires_at = Time.at json['will_be_expired_at']
63
90
  end
64
91
 
65
- response['result']['upload_url']
92
+ def url; @url end
93
+ def key; @key end
94
+ def expires_at; @expires_at end
66
95
  end
67
96
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kollus
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
  - Hyeon Kim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-10 00:00:00.000000000 Z
11
+ date: 2015-10-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Kollus API written in ruby.
14
14
  email: simnalamburt@gmail.com