runa 0.3.0 → 0.5.0

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: fe8ddbd576436a3027eab72ac6c6dd8b06abd9478b79db9e770f6b35f7c046fa
4
- data.tar.gz: 53446e3a8c1d0ad7e2036b89bf8916ffb47f67b34c725b6b86745dba46947de8
3
+ metadata.gz: 271c1000bf8af7eccc88aa0be7a0aa4b33e5bea595f594aa37e6c2401a829c86
4
+ data.tar.gz: 4c5fa2123e0b5035dca582cc373762d83e5160d98721f5a98278276b5ab5b7d1
5
5
  SHA512:
6
- metadata.gz: 7ec89be51ba7b7f6e3f8dab32857a25ac84e0c2c45c147ce31505bf4fd97bcb421355836927177ad8c5756189708c7e6eb01ad343494d40c0533aacfa9635fc3
7
- data.tar.gz: dc9d62f052f7fbdf8a8781b18d4d3e1b80b438f4373a768054b68afab1fd2633861f4c7eadf99e49c7eb6c010f1ffe0698d98b56f3a4491c395676b5ae5c1606
6
+ metadata.gz: 7aae1569645d9695a2d447fb1a4fe899a6fcc53fb9bebac390b517be9f42c338f21178fa6fb1c7a70615b372f2f16574c5ecc8c6b51ab42487bdb3cf56eeea65
7
+ data.tar.gz: 8ef6ea23f1a42d11d0f7f502125d47b45bc4ae045686ef9768a2c2a7aa376d6e55545e8e687609d4b11ec05dc60c88d144d7954f4acdb7399ee4e988e160fda0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [0.4.0] - 2023-06-24
2
+ - Rename generate command to deploy
3
+ - Add add_gem command
4
+ - Show message when new command
5
+
1
6
  ## [0.3.0] - 2023-06-13
2
7
  - Rename release command to generate(gen)
3
8
  - Support Mac/Linux/WSL
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- runa (0.2.0)
4
+ runa (0.3.0)
5
+ os
5
6
  thor
6
7
 
7
8
  GEM
data/README.md CHANGED
@@ -10,40 +10,51 @@ $ gem install runa
10
10
 
11
11
  ## Usage
12
12
 
13
- Create a new application.
13
+ ### Create a new application
14
14
 
15
15
  ```
16
16
  $ runa new runa_app
17
+ Created 'runa_app' application.
17
18
  $ cd runa_app
18
19
  ```
19
20
 
21
+ ### Add gems
20
22
  If you need a gem, Write it in the `Gemfile`.
21
23
 
22
24
  ```
23
25
  $ code Gemfile
24
26
  $ runa install
27
+ .
28
+ .
29
+ Generate '.runa/runa_load_path.rb'
30
+ ```
31
+
32
+ Or use gem_add command.
33
+
34
+ ```
35
+ $ runa gem_add launchy
36
+ .
37
+ .
38
+ Generate '.runa/runa_load_path.rb'
25
39
  ```
26
40
 
27
- Run application.
41
+ ### Run application
28
42
 
29
43
  ```
30
- $ runa run
44
+ $ runa run runa_app.rb
31
45
  Hello, World!
32
46
  ```
33
47
 
34
- Generate scripts for production execution.
48
+ ### Deploy scripts for production execution
35
49
 
36
50
  Mac/Linux/WSL
37
51
 
38
52
  ```
39
- $ runa gen
53
+ $ runa deploy runa_app.rb path/to/bin
40
54
  Generate '.runa/runa_app'
41
- '.runa/runa_app' is the script to run. Copy it to any location and use it.
42
-
43
- $ chmod +x .runa/runa_app
44
-
45
- $ cp .runa/runa_app path/to/bin
55
+ Deploy execution script to 'path/to/bin/runa_app'.
46
56
 
57
+ $ chmod +x path/to/bin/runa_app
47
58
  $ runa_app
48
59
  Hello, World!
49
60
  ```
@@ -51,15 +62,10 @@ Hello, World!
51
62
  Windows
52
63
 
53
64
  ```
54
- PS> runa gen
65
+ PS> runa deploy runa_app.rb path\to\bin
55
66
  Generate '.runa/runa_load_path.rb'
56
- Generate '.runa/runa_app.bat'
57
- '.runa/runa_app.bat' is the script to run. Copy it to any location and use it.
58
-
59
- PS> cp .runa\runa_app.bat path\to\bin
67
+ Deploy execution script to 'path\to\bin\runa_app.bat'.
60
68
 
61
69
  PS> runa_app
62
70
  Hello, world!
63
71
  ```
64
-
65
-
data/exe/runa CHANGED
@@ -29,42 +29,59 @@ class RunaCli < Thor
29
29
  File.write("lib/#{name}/lib.rb", "module #{module_name}\nend\n")
30
30
  File.write(".gitignore", "/vendor/\n/.runa/*\n!/.runa/.gitkeep\n")
31
31
  File.write("Gemfile", "# frozen_string_literal: true\n\nsource \"https://rubygems.org\"\n\n# gem \"rails\"\n")
32
- File.write("main.rb", "require \"#{name}\"\n\nputs \"Hello, world!\"")
32
+ File.write("#{name}.rb", "require \"#{name}\"\n\nputs \"Hello, world!\"")
33
33
  end
34
+
35
+ puts "Created '#{name}' application."
36
+ end
37
+
38
+ desc "gem_add [GEMS]", "Add gems"
39
+ def gem_add(*gems)
40
+ system("bundle add #{gems.join(" ")}")
41
+ deploy_load_path_script
34
42
  end
35
43
 
36
44
  desc "install", "Install gems"
37
45
  def install
38
46
  system("bundle install")
39
- generate_load_path_script
47
+ deploy_load_path_script
40
48
  end
41
49
 
42
- desc "run [ARGS]", "Run application with arguments"
43
- def run_command(*args)
44
- system("bundle exec ruby -Ilib main.rb #{args.join(" ")}")
50
+ desc "run SCRIPT_FILE [ARGS]", "Run application with arguments"
51
+ def run_command(script_file, *args)
52
+ system("bundle exec ruby -Ilib #{script_file} #{args.join(" ")}")
45
53
  end
46
54
  map "run" => "run_command"
47
55
 
48
- desc "generate", "Generate scripts for production execution"
49
- def generate
56
+ desc "deploy SCRIPT_FILE DEPLOY_PATH", "Deploy scripts for production execution"
57
+ def deploy(script_file, deploy_path)
50
58
  root_dir = File.expand_path(".")
51
- generate_script_name = File.basename(root_dir)
52
- generate_load_path_script
53
- path = File.join(RUNA_DIR, generate_script_name)
54
- path += ".bat" if OS.windows?
55
- File.write(path, generate_script(root_dir))
56
- puts "Generate '#{path}'\n'#{path}' is the script to run. Copy it to any location and use it."
59
+ deploy_load_path_script
60
+ path = nil
61
+ if File.directory?(deploy_path)
62
+ deploy_script_name = File.basename(script_file, ".*")
63
+ path = File.join(deploy_path, deploy_script_name)
64
+ path += ".bat" if OS.windows?
65
+ else
66
+ path = deploy_path
67
+ end
68
+ if !File.exist?(path)
69
+ File.write(path, deploy_script(root_dir, script_file))
70
+ puts "Deploy execution script to '#{path}'."
71
+ else
72
+ puts "Error: '#{path}' is already exists."
73
+ exit(1)
74
+ end
57
75
  end
58
- map "gen" => "generate"
59
76
 
60
77
  private
61
78
 
62
79
  RUNA_DIR = ".runa"
63
80
 
64
- def generate_script(root_dir)
81
+ def deploy_script(root_dir, script_file)
65
82
  lib_dir = File.join(root_dir, "lib")
66
83
  runa_dir = File.join(root_dir, RUNA_DIR)
67
- main_rb = File.join(root_dir, "main.rb")
84
+ main_rb = File.join(root_dir, script_file)
68
85
 
69
86
  if OS.windows?
70
87
  lib_dir = lib_dir.tr("/", "\\")
@@ -83,7 +100,7 @@ class RunaCli < Thor
83
100
  end
84
101
  end
85
102
 
86
- def generate_load_path_script
103
+ def deploy_load_path_script
87
104
  path = "#{RUNA_DIR}/runa_load_path.rb"
88
105
  File.write(path, load_path_script)
89
106
  puts "Generate '#{path}'"
data/lib/runa/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Runa
4
- VERSION = "0.3.0"
4
+ VERSION = "0.5.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ongaeshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-13 00:00:00.000000000 Z
11
+ date: 2023-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: os
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: Runa is a command line interface for easily creating Ruby applications.
28
42
  email:
29
43
  - ongaeshi0621@gmail.com