brick_ftp 0.8.2 → 0.8.3

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
- SHA1:
3
- metadata.gz: b1573831595893f675536b07ea2a3abca125de11
4
- data.tar.gz: '0148c2307700f7bee1ec25fc54f0e9f44f294f75'
2
+ SHA256:
3
+ metadata.gz: 5dcf804679ca2021ae7b9b7f61c6393f0860d11a9c0ccc8ed1a137876df12966
4
+ data.tar.gz: 23325b86c3fa88a5c4a2e41d6faaed43b4109a01b833b13c9ed40febda8166b7
5
5
  SHA512:
6
- metadata.gz: 47a7022ff8aed22042d39ccb55901dff645b822e584c9387d462651da6c36302ed79d680c7c34d62515ee9cb2d7e418165d35733021209c995a09726167982ac
7
- data.tar.gz: eb55b9da62d5719cd3e0cbb96f0079e4a90171cc3659b7afc7f4dd79e20bf9cb93397446faa517d4f68244d0fb9012da35088ac3db937514349397598641c4df
6
+ metadata.gz: 14ab4c0708a65bcea55e8fd89381ef8cc9d4a315f93b7f3517c4c2fa1a2af14245ea19ccd4a92659bac6c410e704fd1217e4a793474c491601b44f0491140ec1
7
+ data.tar.gz: f9b3a6596f113e79cdc96d10b831476615372a813793236580bdeea7734c0219e6ced3501022da7ccac53b357b19fc27eb6dbb524199859838beeb7f21a5f094
data/CHANGELOG.md CHANGED
@@ -2,17 +2,21 @@ Changelog
2
2
  ====
3
3
 
4
4
 
5
- [unreleased](https://github.com/koshigoe/brick_ftp/compare/v0.8.2...master)
5
+ [0.8.3](https://github.com/koshigoe/brick_ftp/compare/v0.8.2...v0.8.3)
6
6
  ----
7
7
 
8
- [Full Changelog](https://github.com/koshigoe/brick_ftp/compare/v0.8.2...master)
8
+ [Full Changelog](https://github.com/koshigoe/brick_ftp/compare/v0.8.2...v0.8.3)
9
9
 
10
10
  ### Enhancements:
11
11
 
12
+ - [#114](https://github.com/koshigoe/brick_ftp/pull/114) Allow to upload file using `StringIO`
13
+
12
14
  ### Fixed Bugs:
13
15
 
14
16
  ### Breaking Changes:
15
17
 
18
+ ### Others
19
+
16
20
 
17
21
  [0.8.2](https://github.com/koshigoe/brick_ftp/compare/v0.8.1...v0.8.2)
18
22
  ----
data/brick_ftp.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency 'pry', '~> 0.10'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
27
27
  spec.add_development_dependency 'rspec', '~> 3.0'
28
- spec.add_development_dependency 'rubocop', '~> 0.52'
28
+ spec.add_development_dependency 'rubocop', '~> 0.55.0'
29
29
  spec.add_development_dependency 'simplecov', '~> 0.15'
30
30
  spec.add_development_dependency 'webmock', '~> 2.1'
31
31
  spec.add_development_dependency 'yard', '~> 0.9'
@@ -80,8 +80,7 @@ module BrickFTP
80
80
 
81
81
  private
82
82
 
83
- # FIXME: Metrics/AbcSize, Metrics/MethodLength
84
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
83
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
85
84
  def request(method, path, params: {}, headers: {})
86
85
  req = Net::HTTP.const_get(method.to_s.capitalize).new(path, headers)
87
86
  req['User-Agent'] = USER_AGENT
@@ -99,7 +98,7 @@ module BrickFTP
99
98
  case
100
99
  when params.is_a?(Hash)
101
100
  req.body = params.to_json unless params.empty?
102
- when params.is_a?(IO)
101
+ when params.is_a?(IO) || params.is_a?(StringIO)
103
102
  req.body_stream = params
104
103
  req['Content-Length'] = params.size
105
104
  end
@@ -122,7 +121,7 @@ module BrickFTP
122
121
  logger.info message
123
122
  end
124
123
  end
125
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
124
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
126
125
 
127
126
  def logger
128
127
  BrickFTP.logger
@@ -9,8 +9,9 @@ module BrickFTP
9
9
 
10
10
  # Wrap IO object.
11
11
  #
12
- # @param [IO] io an IO object.
12
+ # @param [IO, StringIO] io an IO object.
13
13
  # @param [Integer] chunk_size Size of chunk.
14
+ # This option is ignored if `io` is `StringIO`.
14
15
  #
15
16
  def initialize(io, chunk_size: nil)
16
17
  @io = io
@@ -20,12 +21,12 @@ module BrickFTP
20
21
  # Iterate with chunked IO object.
21
22
  #
22
23
  # @yield [chunk] Give a chunk IO object to block.
23
- # @yieldparam [StringIO] chunk a chunked IO object.
24
+ # @yieldparam [IO] chunk a chunked IO object.
24
25
  #
25
26
  def each(&block)
26
27
  return enum_for(__method__) unless block
27
28
 
28
- if chunk_size
29
+ if chunk_size && io.is_a?(IO)
29
30
  each_chunk(&block)
30
31
  else
31
32
  whole(&block)
@@ -1,3 +1,3 @@
1
1
  module BrickFTP
2
- VERSION = '0.8.2'.freeze
2
+ VERSION = '0.8.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brick_ftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - koshigoe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-13 00:00:00.000000000 Z
11
+ date: 2018-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.52'
89
+ version: 0.55.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.52'
96
+ version: 0.55.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -267,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  version: '0'
268
268
  requirements: []
269
269
  rubyforge_project:
270
- rubygems_version: 2.6.10
270
+ rubygems_version: 2.7.3
271
271
  signing_key:
272
272
  specification_version: 4
273
273
  summary: BrickFTP's REST API client.