rubyhub 0.1.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 +7 -0
- data/.fasterer.yml +19 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +12 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +73 -0
- data/README.md +42 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/rubyhub +6 -0
- data/lib/rubyhub/cli.rb +20 -0
- data/lib/rubyhub/configuration.rb +32 -0
- data/lib/rubyhub/errors.rb +13 -0
- data/lib/rubyhub/operations/configuration/setup.rb +36 -0
- data/lib/rubyhub/operations/pull_request/create.rb +26 -0
- data/lib/rubyhub/pull_request.rb +90 -0
- data/lib/rubyhub/utils/deep_symbolize_keys_helper.rb +25 -0
- data/lib/rubyhub/version.rb +3 -0
- data/lib/rubyhub.rb +15 -0
- data/rubyhub.gemspec +33 -0
- metadata +193 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 43de5786ab6f492b5ee0580abfb37be453dcf4c30b0ec34f89cd804bfe96b598
|
4
|
+
data.tar.gz: fb4782dd040e9c44141ecc7d54096c5f945c4085991cfef930ca66d5e7ccd304
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a8479ae6c6d8c8134802d73f4570478fe791155d88226e52e907a27fc0a8fab5a73f10c952971f17eabf001e0758ee7f3989ab1eaf5d2a23909a57189c3b0460
|
7
|
+
data.tar.gz: 812e7fbe2a633ec31136d9ee96f1e97e4afc1c9862ed75962dfbd1cfe48c6a34d9df658d0b0db434ea9c8a66dc98084f15f83b437baea4c6101b84223d75c583
|
data/.fasterer.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
speedups:
|
2
|
+
rescue_vs_respond_to: true
|
3
|
+
module_eval: true
|
4
|
+
shuffle_first_vs_sample: true
|
5
|
+
for_loop_vs_each: true
|
6
|
+
each_with_index_vs_while: false
|
7
|
+
map_flatten_vs_flat_map: true
|
8
|
+
reverse_each_vs_reverse_each: true
|
9
|
+
select_first_vs_detect: true
|
10
|
+
sort_vs_sort_by: true
|
11
|
+
fetch_with_argument_vs_block: true
|
12
|
+
keys_each_vs_each_key: true
|
13
|
+
hash_merge_bang_vs_hash_brackets: true
|
14
|
+
block_vs_symbol_to_proc: true
|
15
|
+
proc_call_vs_yield: true
|
16
|
+
gsub_vs_tr: true
|
17
|
+
select_last_vs_reverse_detect: true
|
18
|
+
getter_vs_attr_reader: true
|
19
|
+
setter_vs_attr_writer: true
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rubyhub (0.1.0)
|
5
|
+
thor
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
ast (2.4.0)
|
11
|
+
coderay (1.1.2)
|
12
|
+
colorize (0.8.1)
|
13
|
+
diff-lcs (1.3)
|
14
|
+
fasterer (0.8.1)
|
15
|
+
colorize (~> 0.7)
|
16
|
+
ruby_parser (>= 3.14.1)
|
17
|
+
jaro_winkler (1.5.4)
|
18
|
+
method_source (0.9.2)
|
19
|
+
parallel (1.19.1)
|
20
|
+
parser (2.6.5.0)
|
21
|
+
ast (~> 2.4.0)
|
22
|
+
pry (0.12.2)
|
23
|
+
coderay (~> 1.1.0)
|
24
|
+
method_source (~> 0.9.0)
|
25
|
+
rainbow (3.0.0)
|
26
|
+
rake (13.0.1)
|
27
|
+
rspec (3.9.0)
|
28
|
+
rspec-core (~> 3.9.0)
|
29
|
+
rspec-expectations (~> 3.9.0)
|
30
|
+
rspec-mocks (~> 3.9.0)
|
31
|
+
rspec-core (3.9.0)
|
32
|
+
rspec-support (~> 3.9.0)
|
33
|
+
rspec-expectations (3.9.0)
|
34
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
35
|
+
rspec-support (~> 3.9.0)
|
36
|
+
rspec-mocks (3.9.0)
|
37
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
38
|
+
rspec-support (~> 3.9.0)
|
39
|
+
rspec-support (3.9.0)
|
40
|
+
rubocop (0.77.0)
|
41
|
+
jaro_winkler (~> 1.5.1)
|
42
|
+
parallel (~> 1.10)
|
43
|
+
parser (>= 2.6)
|
44
|
+
rainbow (>= 2.2.2, < 4.0)
|
45
|
+
ruby-progressbar (~> 1.7)
|
46
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
47
|
+
rubocop-performance (1.5.1)
|
48
|
+
rubocop (>= 0.71.0)
|
49
|
+
rubocop-rspec (1.37.0)
|
50
|
+
rubocop (>= 0.68.1)
|
51
|
+
ruby-progressbar (1.10.1)
|
52
|
+
ruby_parser (3.14.1)
|
53
|
+
sexp_processor (~> 4.9)
|
54
|
+
sexp_processor (4.13.0)
|
55
|
+
thor (1.0.0)
|
56
|
+
unicode-display_width (1.6.0)
|
57
|
+
|
58
|
+
PLATFORMS
|
59
|
+
ruby
|
60
|
+
|
61
|
+
DEPENDENCIES
|
62
|
+
bundler
|
63
|
+
fasterer
|
64
|
+
pry
|
65
|
+
rake
|
66
|
+
rspec
|
67
|
+
rubocop
|
68
|
+
rubocop-performance
|
69
|
+
rubocop-rspec
|
70
|
+
rubyhub!
|
71
|
+
|
72
|
+
BUNDLED WITH
|
73
|
+
2.0.2
|
data/README.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# Rubyhub
|
2
|
+
|
3
|
+
Rubyhub allows you to create pull requests faster with all those labels, assignees and reviewers you always had to put manually.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'rubyhub'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install rubyhub
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
1. Create `.rubyhub.yml` file with your own properties. Don't forget to add it to gitignore.
|
24
|
+
Example config:
|
25
|
+
```yaml
|
26
|
+
---
|
27
|
+
base_branch: master
|
28
|
+
label: needs review
|
29
|
+
assignees:
|
30
|
+
- any
|
31
|
+
- github
|
32
|
+
- assignee
|
33
|
+
- you
|
34
|
+
- want
|
35
|
+
description_main_body: describe your changes here
|
36
|
+
jira_base_url: https://sample.atlassian.net/browse/
|
37
|
+
```
|
38
|
+
|
39
|
+
`description_main_body` and `jira_base_url` are optional.
|
40
|
+
|
41
|
+
2. Run `bin/rubyhub`
|
42
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'rubyhub'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require 'pry'
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
data/exe/rubyhub
ADDED
data/lib/rubyhub/cli.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
module Rubyhub
|
4
|
+
class CLI < Thor
|
5
|
+
desc 'init', 'Install basic configuration'
|
6
|
+
def init(*_args)
|
7
|
+
Operations::Configuration::Setup.call
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'pr:create', 'Create Pull Request'
|
11
|
+
method_option :template, aliases: '-t', type: :string
|
12
|
+
def create(*_args)
|
13
|
+
Operations::PullRequest::Create.call(options)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.exit_on_failure?
|
17
|
+
true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rubyhub/errors'
|
2
|
+
require 'singleton'
|
3
|
+
require 'yaml'
|
4
|
+
require 'pry'
|
5
|
+
|
6
|
+
module Rubyhub
|
7
|
+
class Configuration
|
8
|
+
include Singleton
|
9
|
+
|
10
|
+
CONFIG_PATH = '.rubyhub.yml'.freeze
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@options = self.class.exists? ? load_from_file : {}
|
14
|
+
end
|
15
|
+
|
16
|
+
def to_h
|
17
|
+
@options.to_h
|
18
|
+
end
|
19
|
+
|
20
|
+
class << self
|
21
|
+
def exists?
|
22
|
+
File.exist?(CONFIG_PATH)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def load_from_file
|
29
|
+
DeepSymbolizeKeysHelper.symbolize_recursive(YAML.load_file(CONFIG_PATH) || {})
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Rubyhub
|
2
|
+
class ConfigFileDoesNotExistError < StandardError
|
3
|
+
def message
|
4
|
+
'.rubyhub.yml is not found. Please, provide it.'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class IncorrectTemplateError < StandardError
|
9
|
+
def message
|
10
|
+
'You haven\'t pass the template name or template name not present in config file'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module Rubyhub
|
4
|
+
module Operations
|
5
|
+
module Configuration
|
6
|
+
class Setup
|
7
|
+
TEMPLATE_PATH = 'lib/rubyhub/config/templates/.rubyhub.yml'.freeze
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def call
|
11
|
+
if Rubyhub::Configuration.exists?
|
12
|
+
puts 'Config already exists!'
|
13
|
+
else
|
14
|
+
initialize_config
|
15
|
+
puts 'Config successfully installed!'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def initialize_config
|
22
|
+
FileUtils.cp full_template_path, target_path, preserve: true, verbose: false
|
23
|
+
end
|
24
|
+
|
25
|
+
def full_template_path
|
26
|
+
File.join(Rubyhub.root_path, TEMPLATE_PATH)
|
27
|
+
end
|
28
|
+
|
29
|
+
def target_path
|
30
|
+
Dir.pwd
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'pry'
|
2
|
+
module Rubyhub
|
3
|
+
module Operations
|
4
|
+
module PullRequest
|
5
|
+
class Create
|
6
|
+
class << self
|
7
|
+
def call(options)
|
8
|
+
@template = options[:template]
|
9
|
+
raise ConfigFileDoesNotExistError unless Rubyhub::Configuration.exists?
|
10
|
+
raise IncorrectTemplateError if !@template || !data || data.empty?
|
11
|
+
|
12
|
+
Rubyhub::PullRequest.new(data).create!
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
attr_reader :template
|
18
|
+
|
19
|
+
def data
|
20
|
+
@data ||= Rubyhub::Configuration.instance.to_h.dig(:template, @template.to_sym)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module Rubyhub
|
2
|
+
class PullRequest
|
3
|
+
ATTRIBUTES = %i[base_branch labels assignees reviewers description_main_body jira_base_url push open].freeze
|
4
|
+
|
5
|
+
def initialize(options)
|
6
|
+
assign_attributes(options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_command
|
10
|
+
build_base_query
|
11
|
+
add_branch if @base_branch
|
12
|
+
add_labels if @labels&.any?
|
13
|
+
add_assignees if @assignees&.any?
|
14
|
+
add_reviewers if @reviewers&.any?
|
15
|
+
add_push_setting if @push
|
16
|
+
add_open_setting if @open
|
17
|
+
|
18
|
+
@query
|
19
|
+
end
|
20
|
+
|
21
|
+
def create!
|
22
|
+
system(to_command)
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def assign_attributes(options)
|
28
|
+
ATTRIBUTES.each { |attr| instance_variable_set(:"@#{attr}", options[:attr]) }
|
29
|
+
end
|
30
|
+
|
31
|
+
def build_base_query
|
32
|
+
@query = 'hub pull-request'
|
33
|
+
end
|
34
|
+
|
35
|
+
def add_branch
|
36
|
+
@query << " -b '#{@base_branch}'"
|
37
|
+
end
|
38
|
+
|
39
|
+
def add_labels
|
40
|
+
@query << " -l '#{@labels.join(',')}'"
|
41
|
+
end
|
42
|
+
|
43
|
+
def add_assignees
|
44
|
+
@query << " -a '#{@assignees.join(',')}'"
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_reviewers
|
48
|
+
@query << " -r '#{@reviewers.join(',')}'"
|
49
|
+
end
|
50
|
+
|
51
|
+
def add_push_settings
|
52
|
+
@query << ' --push -f'
|
53
|
+
end
|
54
|
+
|
55
|
+
def add_open_settings
|
56
|
+
@query << ' --open'
|
57
|
+
end
|
58
|
+
|
59
|
+
def add_message
|
60
|
+
@query << " -m '#{message}'"
|
61
|
+
end
|
62
|
+
|
63
|
+
def branch
|
64
|
+
@branch ||= `git rev-parse --symbolic-full-name --abbrev-ref HEAD`
|
65
|
+
end
|
66
|
+
|
67
|
+
def parsed_branch
|
68
|
+
@parsed_branch ||= branch.split('/')
|
69
|
+
end
|
70
|
+
|
71
|
+
def branch_type
|
72
|
+
parsed_branch[0].capitalize
|
73
|
+
end
|
74
|
+
|
75
|
+
def branch_name
|
76
|
+
parsed_branch[1].to_s.upcase
|
77
|
+
end
|
78
|
+
|
79
|
+
def jira_ticket
|
80
|
+
[data[:jira_base_url], branch_name].join
|
81
|
+
end
|
82
|
+
|
83
|
+
def message
|
84
|
+
description = "#{branch_type} | #{branch_name.strip}\n\n"
|
85
|
+
description << "JIRA ticket - #{jira_ticket}" if data[:jira_base_url]
|
86
|
+
description << @description_main_body if @description_main_body
|
87
|
+
description
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module DeepSymbolizeKeysHelper
|
2
|
+
extend self
|
3
|
+
|
4
|
+
def symbolize_recursive(hash)
|
5
|
+
{}.tap do |h|
|
6
|
+
hash.each { |key, value| h[key.to_sym] = transform(value) }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def transform(thing)
|
13
|
+
case thing
|
14
|
+
when Hash; symbolize_recursive(thing)
|
15
|
+
when Array; thing.map { |v| transform(v) }
|
16
|
+
else; thing
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
refine Hash do
|
21
|
+
def deep_symbolize_keys
|
22
|
+
DeepSymbolizeKeysHelper.symbolize_recursive(self)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/rubyhub.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubyhub/utils/deep_symbolize_keys_helper'
|
2
|
+
|
3
|
+
using DeepSymbolizeKeysHelper
|
4
|
+
|
5
|
+
require 'rubyhub/configuration'
|
6
|
+
require 'rubyhub/pull_request'
|
7
|
+
|
8
|
+
require 'rubyhub/operations/configuration/setup'
|
9
|
+
require 'rubyhub/operations/pull_request/create'
|
10
|
+
|
11
|
+
module Rubyhub
|
12
|
+
def self.root_path
|
13
|
+
File.dirname(__dir__)
|
14
|
+
end
|
15
|
+
end
|
data/rubyhub.gemspec
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'rubyhub/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'rubyhub'
|
7
|
+
spec.version = Rubyhub::VERSION
|
8
|
+
spec.authors = ['Denis Zemlianoy', 'Vsevolod Voloshyn']
|
9
|
+
spec.email = ['']
|
10
|
+
|
11
|
+
spec.summary = "Tool for faster creation of GitHub's Pull Requests"
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = 'https://github.com'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
17
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
end
|
19
|
+
spec.bindir = 'exe'
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ['lib']
|
22
|
+
|
23
|
+
spec.add_dependency 'thor'
|
24
|
+
|
25
|
+
spec.add_development_dependency 'bundler'
|
26
|
+
spec.add_development_dependency 'fasterer'
|
27
|
+
spec.add_development_dependency 'pry'
|
28
|
+
spec.add_development_dependency 'rake'
|
29
|
+
spec.add_development_dependency 'rspec'
|
30
|
+
spec.add_development_dependency 'rubocop'
|
31
|
+
spec.add_development_dependency 'rubocop-performance'
|
32
|
+
spec.add_development_dependency 'rubocop-rspec'
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rubyhub
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Denis Zemlianoy
|
8
|
+
- Vsevolod Voloshyn
|
9
|
+
autorequire:
|
10
|
+
bindir: exe
|
11
|
+
cert_chain: []
|
12
|
+
date: 2019-12-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: thor
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: fasterer
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: pry
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rake
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rspec
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rubocop
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rubocop-performance
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rubocop-rspec
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
description: Tool for faster creation of GitHub's Pull Requests
|
141
|
+
email:
|
142
|
+
- ''
|
143
|
+
executables:
|
144
|
+
- rubyhub
|
145
|
+
extensions: []
|
146
|
+
extra_rdoc_files: []
|
147
|
+
files:
|
148
|
+
- ".fasterer.yml"
|
149
|
+
- ".gitignore"
|
150
|
+
- ".rspec"
|
151
|
+
- ".rubocop.yml"
|
152
|
+
- Gemfile
|
153
|
+
- Gemfile.lock
|
154
|
+
- README.md
|
155
|
+
- Rakefile
|
156
|
+
- bin/console
|
157
|
+
- bin/setup
|
158
|
+
- exe/rubyhub
|
159
|
+
- lib/rubyhub.rb
|
160
|
+
- lib/rubyhub/cli.rb
|
161
|
+
- lib/rubyhub/configuration.rb
|
162
|
+
- lib/rubyhub/errors.rb
|
163
|
+
- lib/rubyhub/operations/configuration/setup.rb
|
164
|
+
- lib/rubyhub/operations/pull_request/create.rb
|
165
|
+
- lib/rubyhub/pull_request.rb
|
166
|
+
- lib/rubyhub/utils/deep_symbolize_keys_helper.rb
|
167
|
+
- lib/rubyhub/version.rb
|
168
|
+
- rubyhub.gemspec
|
169
|
+
homepage: https://github.com
|
170
|
+
licenses:
|
171
|
+
- MIT
|
172
|
+
metadata: {}
|
173
|
+
post_install_message:
|
174
|
+
rdoc_options: []
|
175
|
+
require_paths:
|
176
|
+
- lib
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
requirements: []
|
188
|
+
rubyforge_project:
|
189
|
+
rubygems_version: 2.7.8
|
190
|
+
signing_key:
|
191
|
+
specification_version: 4
|
192
|
+
summary: Tool for faster creation of GitHub's Pull Requests
|
193
|
+
test_files: []
|