breacan 0.6.1 → 0.7.0

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.
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