swagger_hub_api_pusher 1.0.0 → 1.0.1

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: 6d70b3fa8846fe6c8f5567112fbacbd3167acbfc
4
- data.tar.gz: 7fce8828fa2713b120579cd651ce08384a4b6ed8
3
+ metadata.gz: 39cd72764be2152b6ab200e4dd374cfd9e1e992b
4
+ data.tar.gz: df4cdc7980fb744e783a07759d6578d1ee6609db
5
5
  SHA512:
6
- metadata.gz: 841384d1abd26acf0e0d87c8c5fc45b8b40c60a8fe8a56d31074b6aa8e6fac9485233514c681e389d3b314f1b59df333be48aaf3b320e8d1b0f3faf081c3d4b6
7
- data.tar.gz: ab1ce26c81eff0cb36b8fdaa941eb7f0e907bb44d0a6741a991d164a630d1fa00af680f51f039ef353336e4220232dcd20f5229ec02ed2cfdeceb19f86750b4a
6
+ metadata.gz: e57a58aa72f17310b54218b587d4bd67d8b1cb173e180a6e0279c48a2b60feb8ae3919dac5b1629ae840c87c7c122181aba1fa9fb8cfc0556e841e9707fde4fb
7
+ data.tar.gz: 9afe26066aecf8c4b859b2bedfd718d9ed09c9d2ba1d531d54393a726a0394bb2af05289092ae1dc5c7d6cf3e60f4bfa0a63856e853778382ae962473ce1b07b
@@ -1,36 +1,37 @@
1
- require 'httparty'
1
+ require 'uri'
2
+ require 'net/https'
2
3
 
3
4
  module SwaggerHubApiPusher
4
5
  class Pusher
6
+ SUCCESS_STATUSES = [200, 201].freeze
7
+ BASE_URL = 'https://api.swaggerhub.com/apis/'.freeze
8
+
5
9
  def execute
6
10
  raise ArgumentError, config.errors_messages unless config.valid?
7
11
 
8
- response = Client.post(url,
9
- body: File.read(config.swagger_file),
10
- headers: {
11
- 'Content-Type' => 'application/json',
12
- 'Authorization' => config.api_key
13
- }
14
- )
12
+ uri = URI.parse(url)
13
+ request = Net::HTTP::Post.new(uri)
14
+ request['Content-Type'] = 'application/json'
15
+ request['Authorization'] = config.api_key
16
+ request.body = File.read(config.swagger_file)
17
+
18
+ response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
19
+ http.request(request)
20
+ end
15
21
 
16
- if response.success?
17
- puts 'swagger.json was successfully posted'
22
+ if SUCCESS_STATUSES.include?(response.code.to_i)
23
+ 'swagger.json was successfully posted'
18
24
  else
19
- puts JSON.parse(response.body)['message']
25
+ JSON.parse(response.body)['message']
20
26
  end
21
27
  end
22
28
 
23
29
  private def url
24
- "/#{config.owner}/#{config.api_name}?version=#{config.version}"
30
+ "#{BASE_URL}/#{config.owner}/#{config.api_name}?version=#{config.version}"
25
31
  end
26
32
 
27
33
  private def config
28
34
  @config ||= SwaggerHubApiPusher.config
29
35
  end
30
-
31
- class Client
32
- include HTTParty
33
- base_uri 'https://api.swaggerhub.com/apis'
34
- end
35
36
  end
36
37
  end
@@ -1,3 +1,3 @@
1
1
  module SwaggerHubApiPusher
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -21,10 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_runtime_dependency "httparty", "~> 0.15.5"
25
-
26
24
  spec.add_development_dependency "bundler", "~> 1.14"
27
25
  spec.add_development_dependency "rake", "~> 10.0"
28
26
  spec.add_development_dependency "rspec", "~> 3.0"
29
27
  spec.add_development_dependency "pry", "~> 0.10.4"
28
+ spec.add_development_dependency "webmock", "~> 3.0.1"
30
29
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagger_hub_api_pusher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markov Alexey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-28 00:00:00.000000000 Z
11
+ date: 2017-06-29 00:00:00.000000000 Z
12
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.15.5
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.15.5
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +66,20 @@ dependencies:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
68
  version: 0.10.4
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 3.0.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 3.0.1
83
83
  description: Rake task for pushing swagger.json to SwaggerHub API
84
84
  email:
85
85
  - piton4eg@mail.ru