net-hippie 0.1.4 → 0.1.5

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
  SHA256:
3
- metadata.gz: 0e95eedcca8831b3fd8e8393aeccdb1a7ca72d8442a383b8a3ecc0391ebebc4c
4
- data.tar.gz: 047b6790c5bc1b968335839549ffc70237746f68bc471cac99ec16c4b6206834
3
+ metadata.gz: 12ccfad50c8db9e96df5f49a277ba31b2b039fcc685aed30a733b27a620d64ee
4
+ data.tar.gz: 85196d13bc7e652dc064ac73d639cb4c4f4c945ca6298bdf2425547b792fd7e5
5
5
  SHA512:
6
- metadata.gz: d5db2ef1505ecfd89d53f6cd288e964249cc4d2307be981be9a9b45ac1dd35622b63656731d043f1f11b944f90fff5044087f73f6311c1c412bed213589200de
7
- data.tar.gz: 0e244de752f8d531fdb4ddd2b83fb7c857875d1bb1ef0530b0ba41e992fd8165f4b07c28a0fc365dfd8071c480e15c33d0ef52165eef9156327996badc8516eb
6
+ metadata.gz: 8557e62376abba6c5edb1ebe2a44b490bf26ab93b0a766e0b3987c53c5a174b96f211d803e66b0634f74ef6f4d1b71c9764e9e422bbacbb449507b1fbf993792
7
+ data.tar.gz: af6365c53418c152c3cf26903eb053c7e89956e39c33d03a1cef1f84fe41a6a81135885adb57de110f0d4b0337d418ddff79485a9a719a2fbc0e68c27638888f
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,12 @@
1
+ image: ruby:2.5
2
+
3
+ before_script:
4
+ - apt-get update && apt-get install -y locales
5
+ - echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
6
+ - locale-gen
7
+ - export LC_ALL=en_US.UTF-8
8
+
9
+ ci:
10
+ script:
11
+ - bin/cibuild
12
+
data/.travis.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  sudo: false
2
2
  language: ruby
3
+ cache: bundler
3
4
  rvm:
4
5
  - 2.5.1
5
- before_install: gem install bundler -v 1.16.1
6
+ script:
7
+ - bin/cibuild
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in net-hippie.gemspec
6
6
  gemspec
data/Rakefile CHANGED
@@ -1,10 +1,13 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+ require 'rubocop/rake_task'
3
4
 
4
5
  Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList["test/**/*_test.rb"]
6
+ t.libs << 'test'
7
+ t.libs << 'lib'
8
+ t.test_files = FileList['test/**/*_test.rb']
8
9
  end
10
+ RuboCop::RakeTask.new(:rubocop)
9
11
 
10
- task :default => :test
12
+ task lint: [:rubocop]
13
+ task default: :test
data/bin/cibuild ADDED
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+
3
+ # script/cibuild: Setup environment for CI to run tests. This is primarily
4
+ # designed to run on the continuous integration server.
5
+
6
+ set -e
7
+
8
+ cd "$(dirname "$0")/.."
9
+
10
+ echo [$(date "+%H:%M:%S")] "==> Started at…"
11
+
12
+ # GC customizations
13
+ export RUBY_GC_MALLOC_LIMIT=79000000
14
+ export RUBY_GC_HEAP_INIT_SLOTS=800000
15
+ export RUBY_HEAP_FREE_MIN=100000
16
+ export RUBY_HEAP_SLOTS_INCREMENT=400000
17
+ export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
18
+
19
+ ruby -v
20
+ gem install bundler --no-ri --no-rdoc --conservative
21
+ bin/test
22
+ bin/lint
data/bin/console CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "net/hippie"
4
+ require 'bundler/setup'
5
+ require 'net/hippie'
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +11,5 @@ require "net/hippie"
10
11
  # require "pry"
11
12
  # Pry.start
12
13
 
13
- require "irb"
14
+ require 'irb'
14
15
  IRB.start(__FILE__)
data/bin/lint ADDED
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ [ -z "$DEBUG" ] || set -x
6
+
7
+ echo [$(date "+%H:%M:%S")] "==> Running linters…"
8
+ bundle exec rake lint
data/bin/test ADDED
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+
3
+ # script/test: Run test suite for application. Optionally pass in a path to an
4
+ # individual test file to run a single test.
5
+
6
+
7
+ set -e
8
+
9
+ cd "$(dirname "$0")/.."
10
+
11
+ [ -z "$DEBUG" ] || set -x
12
+
13
+ echo [$(date "+%H:%M:%S")] "==> Running setup…"
14
+ bin/setup
15
+
16
+ echo [$(date "+%H:%M:%S")] "==> Running tests…"
17
+ bundle exec rake test
data/exe/net-hippie CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "net/hippie"
3
+ require 'net/hippie'
4
4
 
5
- puts "☮️"
5
+ puts '☮️'
data/lib/net/hippie.rb CHANGED
@@ -1,13 +1,14 @@
1
- require "json"
2
- require "logger"
3
- require "net/http"
4
- require "openssl"
1
+ require 'json'
2
+ require 'logger'
3
+ require 'net/http'
4
+ require 'openssl'
5
5
 
6
- require "net/hippie/version"
7
- require "net/hippie/json_mapper"
8
- require "net/hippie/client"
6
+ require 'net/hippie/version'
7
+ require 'net/hippie/json_mapper'
8
+ require 'net/hippie/client'
9
9
 
10
10
  module Net
11
+ # net/http for hippies.
11
12
  module Hippie
12
13
  def self.logger
13
14
  @logger ||= Logger.new(STDOUT)
@@ -1,11 +1,12 @@
1
1
  module Net
2
2
  module Hippie
3
+ # A simple client for connecting with http resources.
3
4
  class Client
4
5
  DEFAULT_HEADERS = {
5
6
  'Accept' => 'application/json',
6
7
  'Content-Type' => 'application/json',
7
- 'User-Agent' => "net/hippie #{Net::Hippie::VERSION}",
8
- }
8
+ 'User-Agent' => "net/hippie #{Net::Hippie::VERSION}"
9
+ }.freeze
9
10
 
10
11
  def initialize(
11
12
  certificate: nil,
@@ -18,6 +19,7 @@ module Net
18
19
  @default_headers = headers
19
20
  @key = key
20
21
  @mapper = mapper
22
+ @passphrase = passphrase
21
23
  end
22
24
 
23
25
  def execute(uri, request)
@@ -35,7 +37,8 @@ module Net
35
37
  end
36
38
 
37
39
  def post(uri, headers: {}, body: {})
38
- request = request_for(Net::HTTP::Post, uri, headers: headers, body: body)
40
+ type = Net::HTTP::Post
41
+ request = request_for(type, uri, headers: headers, body: body)
39
42
  response = execute(uri, request)
40
43
  if block_given?
41
44
  yield request, response
@@ -66,13 +69,9 @@ module Net
66
69
  http.read_timeout = 30
67
70
  http.use_ssl = uri.is_a?(URI::HTTPS)
68
71
  http.set_debug_output(Net::Hippie.logger)
69
- http.cert = OpenSSL::X509::Certificate.new(certificate) if certificate
70
- if key
71
- if passphrase
72
- http.key = OpenSSL::PKey::RSA.new(key, passphrase)
73
- else
74
- http.key = OpenSSL::PKey::RSA.new(key)
75
- end
72
+ if certificate && key
73
+ http.cert = OpenSSL::X509::Certificate.new(certificate) if certificate
74
+ http.key = private_key
76
75
  end
77
76
  http
78
77
  end
@@ -86,6 +85,14 @@ module Net
86
85
  def normalize_uri(uri)
87
86
  uri.is_a?(URI) ? uri : URI.parse(uri)
88
87
  end
88
+
89
+ def private_key
90
+ if passphrase
91
+ OpenSSL::PKey::RSA.new(key, passphrase)
92
+ else
93
+ OpenSSL::PKey::RSA.new(key)
94
+ end
95
+ end
89
96
  end
90
97
  end
91
98
  end
@@ -1,5 +1,6 @@
1
1
  module Net
2
2
  module Hippie
3
+ # Converts a ruby hash into a JSON string
3
4
  class JsonMapper
4
5
  def map_from(hash)
5
6
  JSON.generate(hash)
@@ -1,5 +1,5 @@
1
1
  module Net
2
2
  module Hippie
3
- VERSION = "0.1.4"
3
+ VERSION = '0.1.5'.freeze
4
4
  end
5
5
  end
data/net-hippie.gemspec CHANGED
@@ -1,29 +1,30 @@
1
1
 
2
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path('lib', __dir__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "net/hippie/version"
4
+ require 'net/hippie/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "net-hippie"
7
+ spec.name = 'net-hippie'
8
8
  spec.version = Net::Hippie::VERSION
9
- spec.authors = ["mo"]
10
- spec.email = ["mo@mokhan.ca"]
9
+ spec.authors = ['mo']
10
+ spec.email = ['mo@mokhan.ca']
11
11
 
12
- spec.summary = %q{net/http for hippies.}
13
- spec.description = %q{net/http for hippies.}
14
- spec.homepage = "https://www.mokhan.ca/"
15
- spec.license = "MIT"
12
+ spec.summary = 'net/http for hippies.'
13
+ spec.description = 'net/http for hippies.'
14
+ spec.homepage = 'https://www.mokhan.ca/'
15
+ spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
- spec.bindir = "exe"
20
+ spec.bindir = 'exe'
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
22
+ spec.require_paths = ['lib']
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.16"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "minitest", "~> 5.0"
27
- spec.add_development_dependency "vcr", "~> 4.0"
28
- spec.add_development_dependency "webmock", "~> 3.4"
24
+ spec.add_development_dependency 'bundler', '~> 1.16'
25
+ spec.add_development_dependency 'minitest', '~> 5.0'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rubocop', '~> 0.55'
28
+ spec.add_development_dependency 'vcr', '~> 4.0'
29
+ spec.add_development_dependency 'webmock', '~> 3.4'
29
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-hippie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -39,19 +53,19 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '10.0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: minitest
56
+ name: rubocop
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '5.0'
61
+ version: '0.55'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '5.0'
68
+ version: '0.55'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: vcr
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -89,13 +103,17 @@ extensions: []
89
103
  extra_rdoc_files: []
90
104
  files:
91
105
  - ".gitignore"
106
+ - ".gitlab-ci.yml"
92
107
  - ".travis.yml"
93
108
  - Gemfile
94
109
  - LICENSE.txt
95
110
  - README.md
96
111
  - Rakefile
112
+ - bin/cibuild
97
113
  - bin/console
114
+ - bin/lint
98
115
  - bin/setup
116
+ - bin/test
99
117
  - exe/net-hippie
100
118
  - lib/net/hippie.rb
101
119
  - lib/net/hippie/client.rb