space2underscore 0.5.1 → 0.5.2
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 +4 -4
- data/.gitignore +1 -1
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +11 -0
- data/README.md +4 -11
- data/bin/s2u +1 -17
- data/bin/space2underscore +1 -17
- data/lib/space2underscore.rb +7 -31
- data/lib/space2underscore/cli.rb +46 -0
- data/lib/space2underscore/executor.rb +21 -0
- data/lib/space2underscore/printer.rb +21 -0
- data/lib/space2underscore/underscore.rb +15 -0
- data/lib/space2underscore/usage.rb +26 -0
- data/lib/space2underscore/version.rb +1 -1
- data/space2underscore.gemspec +2 -2
- data/spec/space2underscore/printer_spec.rb +19 -0
- data/spec/space2underscore/underscore_spec.rb +22 -0
- data/spec/space2underscore/usage_spec.rb +10 -0
- data/spec/spec_helper.rb +0 -1
- metadata +22 -13
- data/spec/space2underscore_spec.rb +0 -91
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47e87d5fef3cbf63b644d8718f6b5b4a6ac600b8
|
4
|
+
data.tar.gz: 3b93e888a49904995689e2eeacc17f552aacfc86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8044f50d77379b6c448c545e34a5d80d4939bd40b1527d34b5d50d45c4e794cd64334cd14ab78a1d270014392b33a3761cc01a59116203aeaac18e4e63884233
|
7
|
+
data.tar.gz: 0f6dc1b4eae1536a67a9ee18fce5e8e666cfe09c7f68f3e63a797ec3bed32ed6522fd2f4cd8ae3e36cb7d73aa9c817bdf0dfb06aeefbdbe2515ceef023717dd9
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Space2underscore Change Log
|
2
2
|
|
3
|
+
## v0.5.2
|
4
|
+
- Refactor methods in space2underscore.
|
5
|
+
- Refactor examples for space2underscore.
|
6
|
+
- Add an option for raw.
|
7
|
+
|
8
|
+
### Security Changes
|
9
|
+
- Lock the RuboCop version over `0.49.0`.
|
10
|
+
|
11
|
+
## v0.5.1
|
12
|
+
- Fix a bug where failed to print usage.
|
13
|
+
|
3
14
|
## v0.5.0
|
4
15
|
- Add a task for tagging
|
5
16
|
- Add tests for bins
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ From the command line:
|
|
19
19
|
### 1. e.g. Create the new branch
|
20
20
|
|
21
21
|
```
|
22
|
-
$
|
22
|
+
$ s2u new branch -c
|
23
23
|
=> Switched to a new branch 'new_branch’
|
24
24
|
```
|
25
25
|
|
@@ -28,18 +28,11 @@ Run with `--create` or `-c` options.
|
|
28
28
|
### 2. e.g. Rename the already created a branch
|
29
29
|
|
30
30
|
```
|
31
|
-
$ git branch -m $(
|
31
|
+
$ git branch -m $(s2u renamed branch)
|
32
32
|
```
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
## Shorthand
|
37
|
-
|
38
|
-
A shorthand alias for space2underscore can also be used.
|
39
|
-
|
40
|
-
```
|
41
|
-
s2u new branch
|
42
|
-
```
|
34
|
+
## !! Cation !!
|
35
|
+
This is a command line tool. So DO NOT include all modules because it uses `system` command. So crackers will be attacking your application.
|
43
36
|
|
44
37
|
## Credits
|
45
38
|
- Help information based on [@motemen's ghq](https://github.com/motemen/ghq)
|
data/bin/s2u
CHANGED
@@ -2,21 +2,5 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'space2underscore'
|
5
|
-
require 'pry'
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
args = ARGV.reject { |arg| CREATE_FLAGS.include?(arg) }
|
10
|
-
convert_flag = ARGV.select { |arg| CREATE_FLAGS.include?(arg) }
|
11
|
-
underscore_include_sentence = Space2underscore.convert(args)
|
12
|
-
|
13
|
-
if ARGV.empty?
|
14
|
-
puts Space2underscore.usage
|
15
|
-
exit
|
16
|
-
end
|
17
|
-
|
18
|
-
if convert_flag.empty?
|
19
|
-
puts underscore_include_sentence
|
20
|
-
else
|
21
|
-
Space2underscore.create_new_branch(underscore_include_sentence)
|
22
|
-
end
|
6
|
+
Space2underscore::Cli.new(ARGV).start
|
data/bin/space2underscore
CHANGED
@@ -2,21 +2,5 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'space2underscore'
|
5
|
-
require 'pry'
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
args = ARGV.reject { |arg| CREATE_FLAGS.include?(arg) }
|
10
|
-
convert_flag = ARGV.select { |arg| CREATE_FLAGS.include?(arg) }
|
11
|
-
underscore_include_sentence = Space2underscore.convert(args)
|
12
|
-
|
13
|
-
if ARGV.empty?
|
14
|
-
puts Space2underscore.usage
|
15
|
-
exit
|
16
|
-
end
|
17
|
-
|
18
|
-
if convert_flag.empty?
|
19
|
-
puts underscore_include_sentence
|
20
|
-
else
|
21
|
-
Space2underscore.create_new_branch(underscore_include_sentence)
|
22
|
-
end
|
6
|
+
Space2underscore::Cli.new(ARGV).start
|
data/lib/space2underscore.rb
CHANGED
@@ -1,37 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'space2underscore/version'
|
4
|
-
|
5
3
|
# This is the main functions.
|
6
4
|
module Space2underscore
|
7
|
-
|
8
|
-
NAME:
|
9
|
-
space2underscore - Change the space into underscore
|
10
|
-
|
11
|
-
USAGE:
|
12
|
-
$ space2underscore new branch -c
|
13
|
-
=> Switched to the new branch 'new_branch’
|
14
|
-
|
15
|
-
Or
|
16
|
-
|
17
|
-
$ git branch -m $(space2underscore renamed branch)
|
18
|
-
|
19
|
-
VERSION:
|
20
|
-
#{Space2underscore::VERSION}
|
21
|
-
|
22
|
-
OPTIONS:
|
23
|
-
--create, -c create a new branch
|
24
|
-
EOF
|
25
|
-
|
26
|
-
def self.convert(argv)
|
27
|
-
argv.length == 1 ? argv[0].strip.gsub(/\s/, '_') : argv.join('_')
|
28
|
-
end
|
5
|
+
end
|
29
6
|
|
30
|
-
|
31
|
-
system "git checkout -b #{underscore_include_sentence}"
|
32
|
-
end
|
7
|
+
require 'space2underscore/version'
|
33
8
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
9
|
+
require 'space2underscore/executor'
|
10
|
+
require 'space2underscore/printer'
|
11
|
+
require 'space2underscore/underscore'
|
12
|
+
require 'space2underscore/usage'
|
13
|
+
require 'space2underscore/cli'
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Space2underscore
|
2
|
+
class Cli
|
3
|
+
CREATE_FLAGS = %w[-c --create].freeze
|
4
|
+
RAW_FLAGS = %w[-r --raw].freeze
|
5
|
+
|
6
|
+
FLAGS = [CREATE_FLAGS, RAW_FLAGS].flatten.freeze
|
7
|
+
|
8
|
+
OptionParseError = Class.new(ArgumentError)
|
9
|
+
|
10
|
+
def initialize(argv)
|
11
|
+
@argv = argv
|
12
|
+
@underscore_include_branch = Underscore.new(branch).convert
|
13
|
+
end
|
14
|
+
|
15
|
+
def start
|
16
|
+
$stdout.puts Usage.new.content && exit if @argv.empty?
|
17
|
+
|
18
|
+
case
|
19
|
+
when included?(CREATE_FLAGS) && included?(RAW_FLAGS)
|
20
|
+
Executor.new(@underscore_include_branch).run_with_raw
|
21
|
+
when included?(CREATE_FLAGS) && not_included?(RAW_FLAGS)
|
22
|
+
Executor.new(@underscore_include_branch).run_with_downcase
|
23
|
+
when not_included?(CREATE_FLAGS) && included?(RAW_FLAGS)
|
24
|
+
Printer.instance.run_with_raw(@underscore_include_branch)
|
25
|
+
when not_included?(CREATE_FLAGS) && not_included?(RAW_FLAGS)
|
26
|
+
Printer.instance.run_with_downcase(@underscore_include_branch)
|
27
|
+
else
|
28
|
+
raise OptionParseError, 'Option is invalid format. It is only avaliable for `-c --create -d --downcase`'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def branch
|
35
|
+
@argv.reject { |arg| FLAGS.include?(arg) }
|
36
|
+
end
|
37
|
+
|
38
|
+
def included?(flags)
|
39
|
+
@argv.any? { |arg| flags.include?(arg) }
|
40
|
+
end
|
41
|
+
|
42
|
+
def not_included?(flags)
|
43
|
+
!included?(flags)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Space2underscore
|
2
|
+
class Executor
|
3
|
+
def initialize(underscore_include_sentence)
|
4
|
+
@underscore_include_sentence = underscore_include_sentence
|
5
|
+
end
|
6
|
+
|
7
|
+
def run_with_raw
|
8
|
+
run @underscore_include_sentence
|
9
|
+
end
|
10
|
+
|
11
|
+
def run_with_downcase
|
12
|
+
run @underscore_include_sentence.downcase
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def run(sentence)
|
18
|
+
exit system "git checkout -b #{sentence}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
module Space2underscore
|
4
|
+
class Printer
|
5
|
+
include Singleton
|
6
|
+
|
7
|
+
def run_with_raw(branch)
|
8
|
+
run branch
|
9
|
+
end
|
10
|
+
|
11
|
+
def run_with_downcase(branch)
|
12
|
+
run branch.downcase
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def run(branch)
|
18
|
+
$stdout.puts branch
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Space2underscore
|
2
|
+
class Usage
|
3
|
+
MESSAGE = <<-EOF.chomp
|
4
|
+
NAME:
|
5
|
+
space2underscore - Change the space into underscore
|
6
|
+
|
7
|
+
USAGE:
|
8
|
+
$ space2underscore new branch -c
|
9
|
+
=> Switched to the new branch 'new_branch’
|
10
|
+
|
11
|
+
Or
|
12
|
+
|
13
|
+
$ git branch -m $(space2underscore renamed branch)
|
14
|
+
|
15
|
+
VERSION:
|
16
|
+
#{Space2underscore::VERSION}
|
17
|
+
|
18
|
+
OPTIONS:
|
19
|
+
--create, -c create a new branch
|
20
|
+
EOF
|
21
|
+
|
22
|
+
def content
|
23
|
+
MESSAGE.gsub(' ', '')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/space2underscore.gemspec
CHANGED
@@ -21,9 +21,9 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.post_install_message = File.read('post_install_message.txt')
|
23
23
|
|
24
|
-
spec.add_development_dependency 'bundler'
|
24
|
+
spec.add_development_dependency 'bundler'
|
25
25
|
spec.add_development_dependency 'rake'
|
26
26
|
spec.add_development_dependency 'rspec'
|
27
27
|
spec.add_development_dependency 'pry'
|
28
|
-
spec.add_development_dependency 'rubocop'
|
28
|
+
spec.add_development_dependency 'rubocop', '< 0.49.0'
|
29
29
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Space2underscore::Printer do
|
6
|
+
let(:branch) { 'FOO_bar' }
|
7
|
+
|
8
|
+
describe '#run_with_raw' do
|
9
|
+
subject { -> { described_class.instance.run_with_raw(branch) } }
|
10
|
+
|
11
|
+
it { is_expected.to output(/FOO_bar/).to_stdout }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '#run_with_downcase' do
|
15
|
+
subject { -> { described_class.instance.run_with_downcase(branch) } }
|
16
|
+
|
17
|
+
it { is_expected.to output(/foo_bar/).to_stdout }
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'open3'
|
5
|
+
|
6
|
+
describe Space2underscore::Underscore do
|
7
|
+
describe '#convert' do
|
8
|
+
subject { described_class.new(argument).convert }
|
9
|
+
|
10
|
+
context 'when number of argument is one' do
|
11
|
+
let(:argument) { ['foo bar'] }
|
12
|
+
|
13
|
+
it { is_expected.to include('_') }
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'when number of argument is many' do
|
17
|
+
let(:argument) { %w(foo bar) }
|
18
|
+
|
19
|
+
it { is_expected.to include('_') }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: space2underscore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sachin21
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "<"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.49.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "<"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.49.0
|
83
83
|
description: Change the space into underscore
|
84
84
|
email:
|
85
85
|
- sachin21.developer@gmail.com
|
@@ -101,10 +101,17 @@ files:
|
|
101
101
|
- bin/s2u
|
102
102
|
- bin/space2underscore
|
103
103
|
- lib/space2underscore.rb
|
104
|
+
- lib/space2underscore/cli.rb
|
105
|
+
- lib/space2underscore/executor.rb
|
106
|
+
- lib/space2underscore/printer.rb
|
107
|
+
- lib/space2underscore/underscore.rb
|
108
|
+
- lib/space2underscore/usage.rb
|
104
109
|
- lib/space2underscore/version.rb
|
105
110
|
- post_install_message.txt
|
106
111
|
- space2underscore.gemspec
|
107
|
-
- spec/
|
112
|
+
- spec/space2underscore/printer_spec.rb
|
113
|
+
- spec/space2underscore/underscore_spec.rb
|
114
|
+
- spec/space2underscore/usage_spec.rb
|
108
115
|
- spec/spec_helper.rb
|
109
116
|
homepage: https://github.com/sachin21/space2underscore
|
110
117
|
licenses:
|
@@ -144,10 +151,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
151
|
version: '0'
|
145
152
|
requirements: []
|
146
153
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.6.
|
154
|
+
rubygems_version: 2.6.13
|
148
155
|
signing_key:
|
149
156
|
specification_version: 4
|
150
157
|
summary: Change the space into underscore
|
151
158
|
test_files:
|
152
|
-
- spec/
|
159
|
+
- spec/space2underscore/printer_spec.rb
|
160
|
+
- spec/space2underscore/underscore_spec.rb
|
161
|
+
- spec/space2underscore/usage_spec.rb
|
153
162
|
- spec/spec_helper.rb
|
@@ -1,91 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
require 'open3'
|
5
|
-
|
6
|
-
describe Space2underscore do
|
7
|
-
let(:branch_name) { 'foo_bar' }
|
8
|
-
let(:hidden) { '&> /dev/null' }
|
9
|
-
|
10
|
-
describe '.convert' do
|
11
|
-
it 'returns underscore included in string' do
|
12
|
-
expect(Space2underscore.convert(['foo bar'])).to include('_')
|
13
|
-
expect(Space2underscore.convert(%w(foo bar))).to include('_')
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def checkout_master
|
18
|
-
execute_command('git checkout master')
|
19
|
-
end
|
20
|
-
|
21
|
-
def delete_branch
|
22
|
-
execute_command("git branch -D #{branch_name}")
|
23
|
-
end
|
24
|
-
|
25
|
-
def create_branch
|
26
|
-
execute_command("git branch #{branch_name}")
|
27
|
-
end
|
28
|
-
|
29
|
-
def execute_command(command)
|
30
|
-
system("#{command} #{hidden}")
|
31
|
-
end
|
32
|
-
|
33
|
-
describe '.create_new_branch' do
|
34
|
-
before do
|
35
|
-
checkout_master
|
36
|
-
delete_branch
|
37
|
-
end
|
38
|
-
|
39
|
-
after do
|
40
|
-
checkout_master
|
41
|
-
delete_branch
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'creates the new branch' do
|
45
|
-
expect(Space2underscore.create_new_branch(branch_name)).to eq true
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
describe '.usage' do
|
50
|
-
it 'returns String class' do
|
51
|
-
expect(Space2underscore.usage).to be_a(String)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'does not return an blank string does' do
|
55
|
-
expect(Space2underscore.usage).not_to be_nil
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe 'bin' do
|
60
|
-
let(:argument1) { 'hoge' }
|
61
|
-
let(:argument2) { 'fuga' }
|
62
|
-
let(:result) { Open3.capture2(bin, argument1, argument2) }
|
63
|
-
subject(:output) { result[0] }
|
64
|
-
subject(:status) { result[1] }
|
65
|
-
|
66
|
-
shared_examples_for 'output' do
|
67
|
-
it 'returns underscore included in string' do
|
68
|
-
expect(output).to eq "hoge_fuga\n"
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
shared_examples_for 'status' do
|
73
|
-
it 'returns underscore included in string' do
|
74
|
-
expect(status.success?).to be true
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
context 'with Space2underscore' do
|
79
|
-
let(:bin) { File.join('bin', 's2u') }
|
80
|
-
|
81
|
-
it_behaves_like 'output'
|
82
|
-
it_behaves_like 'status'
|
83
|
-
end
|
84
|
-
context 'with s2u' do
|
85
|
-
let(:bin) { File.join('bin', 'space2underscore') }
|
86
|
-
|
87
|
-
it_behaves_like 'output'
|
88
|
-
it_behaves_like 'status'
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|