rocket_api 0.0.1.6 → 0.0.1.7
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/README.md +4 -1
- data/lib/rocket_api/commands/gems_dir.rb +12 -15
- data/lib/rocket_api/commands/helper.rb +16 -13
- data/lib/rocket_api/constants.rb +1 -4
- data/lib/rocket_api/library/gem_repo_plain_text.rb +19 -0
- data/lib/rocket_api/library/helper_plain_text.rb +21 -0
- data/lib/rocket_api/rocket_commands.rb +6 -6
- data/lib/rocket_api/version.rb +1 -1
- data/test/test_version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37afe5384de38860240c2f361e0754b0f4c8a734be348f22979bab0d203ebf4a
|
4
|
+
data.tar.gz: 721db37f2bcc3a254def12a42938127da04d490dc5ac933198dbb23e37d14ea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3aa07c310add8201f2016a2b10cd3ed5c41c95a402e86337446065d6f0a8cce5426ed88a92165a9814061dc3dab5b07bce9dd0f98c5efc926b7f702ac4bcaead
|
7
|
+
data.tar.gz: a65a88c575bb6def0000fe27764ac5ecfe415c1d1f9d1d3313fb2a461d910888c9cdbc09a6c82479bf98e656ab064dec1ec1e95947080309eb72983916182b5c
|
data/README.md
CHANGED
@@ -14,7 +14,10 @@ gem install rocket_api
|
|
14
14
|
```
|
15
15
|
## How it works:
|
16
16
|
```sh
|
17
|
+
Availble commands:
|
18
|
+
- init
|
19
|
+
- gem [ project_name ]
|
17
20
|
In working directory:
|
18
21
|
|
19
|
-
user@bulkas ~/gem/new_dir rocket_api init gem
|
22
|
+
user@bulkas ~/gem/new_dir rocket_api [ init ] [ gem ] [ project_name ]
|
20
23
|
```
|
@@ -2,33 +2,30 @@ module RocketApi
|
|
2
2
|
module Commands
|
3
3
|
module GemsDir
|
4
4
|
# @param [String] name
|
5
|
-
def
|
5
|
+
def gems_version!(name)
|
6
6
|
dir_name = "lib/#{name}"
|
7
7
|
create_dir(dir_name)
|
8
8
|
file_name = "#{dir_name}/version.rb"
|
9
|
-
create_single_file(
|
10
|
-
file_name,
|
11
|
-
plain_version_text(class_name_camel(name))
|
12
|
-
)
|
9
|
+
create_single_file(file_name, plain_version_text(class_name_camel(name)))
|
13
10
|
end
|
14
11
|
|
15
12
|
# @param [String] name
|
16
|
-
def
|
13
|
+
def gems_main_file!(name)
|
17
14
|
file_name = "lib/#{name}.rb"
|
18
15
|
text = "class #{class_name_camel(name)}; end"
|
19
|
-
create_single_file(
|
20
|
-
file_name,
|
21
|
-
text
|
22
|
-
)
|
16
|
+
create_single_file(file_name, text)
|
23
17
|
end
|
24
18
|
|
25
19
|
# @param [String] name
|
26
|
-
def
|
20
|
+
def gemspec!(name)
|
27
21
|
file_name = "#{name}.gemspec"
|
28
|
-
create_single_file(
|
29
|
-
|
30
|
-
|
31
|
-
|
22
|
+
create_single_file(file_name, plain_gemspec_text(name, class_name_camel(name)))
|
23
|
+
end
|
24
|
+
|
25
|
+
# @param [String] name
|
26
|
+
def gem_test!(name)
|
27
|
+
file_name = "test/test_version.rb"
|
28
|
+
create_single_file(file_name, plain_gem_test_version_text(name, class_name_camel(name)))
|
32
29
|
end
|
33
30
|
end
|
34
31
|
end
|
@@ -1,21 +1,24 @@
|
|
1
1
|
module RocketApi
|
2
2
|
module Commands
|
3
3
|
module Helper
|
4
|
-
|
5
|
-
|
6
|
-
create_single_file(
|
7
|
-
dir_name,
|
8
|
-
"",
|
9
|
-
exe: true
|
10
|
-
)
|
4
|
+
# @param [String] name
|
5
|
+
def bin!(name)
|
6
|
+
create_single_file("bin/#{name}", "", exe: true)
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
create_single_file(
|
16
|
-
|
17
|
-
|
18
|
-
|
9
|
+
# @param [String] _name
|
10
|
+
def gitignore!(_name)
|
11
|
+
create_single_file(".gitignore", gitignore_text)
|
12
|
+
end
|
13
|
+
|
14
|
+
# @param [String] _name
|
15
|
+
def rake_file!(_name)
|
16
|
+
create_single_file("Rakefile", rake_text)
|
17
|
+
end
|
18
|
+
|
19
|
+
# @param [String] _name
|
20
|
+
def gem_file!(_name)
|
21
|
+
create_single_file("Gemfile", gemfile_text)
|
19
22
|
end
|
20
23
|
end
|
21
24
|
end
|
data/lib/rocket_api/constants.rb
CHANGED
@@ -4,6 +4,7 @@ module RocketApi
|
|
4
4
|
|
5
5
|
# Dirs map
|
6
6
|
GEM_PROJECTS_DIR = %w[bin lib test].freeze
|
7
|
+
GEM_COMMANDS = %w[bin! gemspec! gems_main_file! gems_version! gem_test! rake_file! gitignore! gem_file!].freeze
|
7
8
|
AVAILABLE_COMMANDS = {
|
8
9
|
init: {
|
9
10
|
gem: %w[init_gem_dir init_gem_files]
|
@@ -13,10 +14,6 @@ module RocketApi
|
|
13
14
|
# Ping
|
14
15
|
PONG = "PONG".freeze
|
15
16
|
|
16
|
-
# Commands
|
17
|
-
BASE = "base".freeze
|
18
|
-
GEM = "gem".freeze
|
19
|
-
|
20
17
|
# Answers
|
21
18
|
INIT_DIR_ERROR = "Init directory error".freeze
|
22
19
|
GEM_DETECTED = "another one gem exist".freeze
|
@@ -30,8 +30,27 @@ module RocketApi
|
|
30
30
|
"\ts.email = 'AUTHOR_MAIL'",
|
31
31
|
"\ts.homepage = 'https://github.com/...'",
|
32
32
|
"\ts.files = `git ls-files`.split($RS)",
|
33
|
+
"\ts.add_dependency \"rubocop\"",
|
34
|
+
"\ts.add_dependency \"rubocop-rake\"",
|
33
35
|
"end"].join("\n")
|
34
36
|
end
|
37
|
+
|
38
|
+
def plain_gem_test_version_text(name, module_name)
|
39
|
+
["require 'minitest/autorun'",
|
40
|
+
"require '#{name}/version'\n",
|
41
|
+
"class TestVersion < Minitest::Test",
|
42
|
+
"\tinclude #{module_name}\n",
|
43
|
+
"\tdef test_ping",
|
44
|
+
"\t\tassert_equal(\"0.0.1\", #{module_name}::VERSION)",
|
45
|
+
"\tend",
|
46
|
+
"end"].join("\n")
|
47
|
+
end
|
48
|
+
|
49
|
+
def gemfile_text
|
50
|
+
["source 'https://rubygems.org/'",
|
51
|
+
"ruby 'RUBY_VERSION'",
|
52
|
+
"gemspec"].join("\n")
|
53
|
+
end
|
35
54
|
end
|
36
55
|
end
|
37
56
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module RocketApi
|
2
|
+
module Library
|
3
|
+
module HelperPlainText
|
4
|
+
def rake_text
|
5
|
+
["require 'rubygems'",
|
6
|
+
"require 'rake'\n",
|
7
|
+
"desc \"Run spec\"",
|
8
|
+
"task default: %i[test rubocop]\n",
|
9
|
+
"require 'rake/testtask'",
|
10
|
+
"Rake::TestTask.new do |test|",
|
11
|
+
"\ttest.libs << 'test'",
|
12
|
+
"end\n",
|
13
|
+
"require 'rubocop/rake_task'",
|
14
|
+
"RuboCop::RakeTask.new do |task|",
|
15
|
+
"\ttask.fail_on_error = true",
|
16
|
+
"\ttask.requires << 'rubocop-rake'",
|
17
|
+
"end"].join("\n")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -3,6 +3,7 @@ require "rocket_api/commands/dirs"
|
|
3
3
|
require "rocket_api/commands/gems_dir"
|
4
4
|
require "rocket_api/commands/helper"
|
5
5
|
require "rocket_api/library/gem_repo_plain_text"
|
6
|
+
require "rocket_api/library/helper_plain_text"
|
6
7
|
|
7
8
|
module RocketApi
|
8
9
|
class RocketCommands
|
@@ -11,7 +12,10 @@ module RocketApi
|
|
11
12
|
extend RocketApi::Commands::GemsDir
|
12
13
|
extend RocketApi::Commands::Helper
|
13
14
|
extend RocketApi::Library::GemRepoPlainText
|
15
|
+
extend RocketApi::Library::HelperPlainText
|
14
16
|
|
17
|
+
# @param [Hah] options
|
18
|
+
# ...
|
15
19
|
# @raise [RocketApi::CreateDirError]
|
16
20
|
def self.init_gem_dir(**_options)
|
17
21
|
raise GEM_DETECTED unless Dir.glob("*.gemspec").empty?
|
@@ -22,18 +26,14 @@ module RocketApi
|
|
22
26
|
"#{RocketApi::CREATE_FAILED} #{e.message}"
|
23
27
|
end
|
24
28
|
|
25
|
-
# @param [
|
29
|
+
# @param [Hash] options
|
26
30
|
# ...
|
27
31
|
# @raise [RocketApi::InitFilesError] error
|
28
32
|
def self.init_gem_files(**options)
|
29
33
|
raise RocketApi::EMPTY_NAME if options[:project_name].nil?
|
30
34
|
|
31
35
|
project_name = options[:project_name]
|
32
|
-
|
33
|
-
init_gemspec!(project_name)
|
34
|
-
init_gems_main_file!(project_name)
|
35
|
-
init_gems_version!(project_name)
|
36
|
-
init_gitignore!
|
36
|
+
RocketApi::GEM_COMMANDS.each { |command| send(command, project_name) }
|
37
37
|
rescue StandardError => e
|
38
38
|
raise RocketApi::InitFilesError,
|
39
39
|
"#{RocketApi::INIT_FAIL} #{e.message}"
|
data/lib/rocket_api/version.rb
CHANGED
data/test/test_version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rocket_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Kondratev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/rocket_api/constants.rb
|
68
68
|
- lib/rocket_api/errors.rb
|
69
69
|
- lib/rocket_api/library/gem_repo_plain_text.rb
|
70
|
+
- lib/rocket_api/library/helper_plain_text.rb
|
70
71
|
- lib/rocket_api/rocket_commands.rb
|
71
72
|
- lib/rocket_api/version.rb
|
72
73
|
- rocket_api.gemspec
|