breacan 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ae5fbffaa56989c2f81d98080c07c5098210f3c4
4
- data.tar.gz: 5e000b5a44d13a8eae2fa295b0f6acd7bc2887bc
3
+ metadata.gz: e53809717163563cfad749f4c9cd8460bf70f6a5
4
+ data.tar.gz: bef6bd9c0ffd4de57b5d0a5cdb66b038b337587c
5
5
  SHA512:
6
- metadata.gz: 8fb8ac1def98d7e47bc812152e106f9d525ba32d1bafefbf7d0fb2e0efa872bcd1cd6af31a3f39c7186d65cc204ac8825113df8a752b6cfd595551fce8a2ca38
7
- data.tar.gz: 7cad1fad4ef29a0fe4a7de075c503f6bda0e9afbc8999479c387daf65c9efd19071b42dc530072180e58a0bbeb986b6904fe3e0f776688720135d21d08e463fc
6
+ metadata.gz: a67830b5d272ca3e340107d63fd229a81f762ae13aea6aa60415f12ce551236178cda61c559adb8d73880478be677e67a4bd0d88b282fb22d0c1e2e05030dc74
7
+ data.tar.gz: 63910d1ff837fa2a1e409e466be3520785cd116eeb1c7a26fc7242e5295bc2c762ed92b090b7c17b618141230bc5646b8d06f70444f6ae662c7fbff8e1e6aced
@@ -136,6 +136,7 @@ module Breacan
136
136
  conn_opts[:builder] = @middleware if @middleware
137
137
  conn_opts[:proxy] = @proxy if @proxy
138
138
  opts[:faraday] = Faraday.new(conn_opts)
139
+ opts[:serializer] = @serializer
139
140
 
140
141
  opts
141
142
  end
@@ -1,3 +1,4 @@
1
+
1
2
  module Breacan
2
3
  class Client
3
4
  module Files
@@ -14,8 +15,36 @@ module Breacan
14
15
  end
15
16
 
16
17
  def files_upload(args)
17
- # content_type = 'multipart/form-data'
18
- # get 'files.upload', query: args
18
+ set_files_upload_builder
19
+ data = {}
20
+ if args[:file]
21
+ data[:file] = args[:file]
22
+ args.delete(:file)
23
+ end
24
+ data[:query] = args
25
+ res = post 'files.upload', data
26
+ reset_files_upload_builder
27
+ res
28
+ end
29
+
30
+ def set_files_upload_builder
31
+ @serializer = Breacan::Client::Files::FileSerializer.any_json
32
+ @middleware = Faraday::RackBuilder.new do |c|
33
+ c.request :multipart
34
+ c.request :url_encoded
35
+ c.adapter :net_http
36
+ c.response :breacan_custom
37
+ end
38
+ end
39
+
40
+ def reset_files_upload_builder
41
+ @middleware = default_builder
42
+ end
43
+
44
+ class FileSerializer < Sawyer::Serializer
45
+ def encode(data)
46
+ data
47
+ end
19
48
  end
20
49
  end
21
50
  end
@@ -12,6 +12,7 @@ module Breacan
12
12
  connection_options
13
13
  proxy
14
14
  middleware
15
+ serializer
15
16
  )
16
17
 
17
18
  attr_accessor(*OPTIONS_KEYS)
@@ -35,11 +36,6 @@ module Breacan
35
36
  end
36
37
 
37
38
  def reset!
38
- builder = if defined? Faraday::RackBuilder
39
- Faraday::RackBuilder
40
- else
41
- Faraday::Builder
42
- end
43
39
 
44
40
  @access_token = ENV['BREACAN_ACCESS_TOKEN']
45
41
  @team = ENV['BREACAN_TEAM']
@@ -49,15 +45,30 @@ module Breacan
49
45
  @media_type = 'application/json'
50
46
  @connection_options = { headers: { accept: media_type, user_agent: user_agent } }
51
47
  @proxy = ENV['BREACAN_PROXY']
52
- @middleware = builder.new { |c|
53
- c.adapter Faraday.default_adapter
54
- c.response :breacan_custom
55
- }
48
+ @middleware = default_builder
49
+ @serializer = default_serializer
56
50
 
57
51
  self
58
52
  end
59
53
  alias setup reset!
60
54
 
55
+ def default_serializer
56
+ Sawyer::Serializer.any_json
57
+ end
58
+
59
+ def default_builder
60
+ builder = if defined? Faraday::RackBuilder
61
+ Faraday::RackBuilder
62
+ else
63
+ Faraday::Builder
64
+ end
65
+
66
+ builder.new do |c|
67
+ c.adapter Faraday.default_adapter
68
+ c.response :breacan_custom
69
+ end
70
+ end
71
+
61
72
  def options
62
73
  Hash[Breacan::Configurable.keys.map { |key|
63
74
  [key, instance_variable_get(:"@#{key}")]
@@ -1,3 +1,3 @@
1
1
  module Breacan
2
- VERSION = '0.6.1'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breacan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - linyows
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-04 00:00:00.000000000 Z
11
+ date: 2016-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sawyer