tohr 0.2.8
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/README.md +18 -0
- data/a.gemspec +18 -0
- data/bin/a +55 -0
- data/lib/a.rb +7 -0
- data/lib/commands/gem.rb +105 -0
- data/rakefile.rb +25 -0
- metadata +50 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7828ee9bc4ed4ded4d2cf7abab37cb93441d4b3702a72e723a8f99ec1c96a5db
|
4
|
+
data.tar.gz: d6f9a8cc3ec05781bd5bc22126b0bc7b7dda449c22196e89391c54b26ad821e0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a58d7649218a8d8aa14a97dc8bd79c9b2165665304578750c920c23a98065238943435a8ed57e526ae89c2926b6b3521a729effdfee51728aae9375f3e928783
|
7
|
+
data.tar.gz: 2ba4bfbc5e3bc40c96885e53ab887aa09a90fb69b4ca0da677fe71b739a7e89620c11b21fa5b25ea1d9b653787a95a2ff3ded629be854b9e5cf2f22f37efee4d
|
data/README.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# a
|
2
|
+
a gem generator etc.
|
3
|
+
|
4
|
+
## install:
|
5
|
+
gem install a
|
6
|
+
will create a `a` command
|
7
|
+
## example: use `a` create a gem
|
8
|
+
sudo a gem mytest
|
9
|
+
cd mytest
|
10
|
+
sudo rake run
|
11
|
+
for starter, you need just type `a gem`
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
## license:
|
16
|
+
MIT
|
17
|
+
## versions:
|
18
|
+
2018-10-17 init
|
data/a.gemspec
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "tohr"
|
3
|
+
s.version = "0.2.8"
|
4
|
+
s.summary = "a gem generator etc."
|
5
|
+
s.authors = ['author']
|
6
|
+
|
7
|
+
s.license = 'MIT'
|
8
|
+
s.email = 'degcat@126.com'
|
9
|
+
s.homepage = 'https://github.com/axgle/a'
|
10
|
+
|
11
|
+
s.files = ["README.md","a.gemspec","rakefile.rb","lib/a.rb"]
|
12
|
+
s.files += Dir["lib/commands/*.rb"]
|
13
|
+
s.executables << "a"
|
14
|
+
|
15
|
+
s.require_paths << 'lib'
|
16
|
+
s.required_ruby_version = '>= 2.0.0'
|
17
|
+
|
18
|
+
end
|
data/bin/a
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
#ex: gem
|
4
|
+
def target
|
5
|
+
|
6
|
+
unless $*[0]
|
7
|
+
puts <<-EOT
|
8
|
+
example:
|
9
|
+
a gem mytest
|
10
|
+
will create new gem project named mytest directory
|
11
|
+
|
12
|
+
EOT
|
13
|
+
exit 1
|
14
|
+
end
|
15
|
+
t = String.new $*[0]
|
16
|
+
t.capitalize!
|
17
|
+
t
|
18
|
+
end
|
19
|
+
|
20
|
+
#ex: mytest
|
21
|
+
def dir
|
22
|
+
|
23
|
+
unless $*[1]
|
24
|
+
puts "must have mtarget_dir\nfor example:\n a gem mytest "
|
25
|
+
exit 2
|
26
|
+
end
|
27
|
+
|
28
|
+
t = String.new $*[1]
|
29
|
+
|
30
|
+
# t.capitalize!
|
31
|
+
t
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
def main
|
36
|
+
|
37
|
+
begin
|
38
|
+
#require 'pathname'
|
39
|
+
#require(File.join(File.dirname(__FILE__),'..','lib','commands',target.downcase))
|
40
|
+
require File.join('commands',target.downcase)
|
41
|
+
rescue LoadError
|
42
|
+
|
43
|
+
puts "the #{target} not exist"
|
44
|
+
exit 4
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
target_class = Object.const_get('A::'+target)
|
49
|
+
|
50
|
+
|
51
|
+
target_class.index(dir: dir,target: target)
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
main()
|
data/lib/a.rb
ADDED
data/lib/commands/gem.rb
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
module A
|
2
|
+
class Gem
|
3
|
+
class << self
|
4
|
+
|
5
|
+
def make_dirs(config)
|
6
|
+
dir = config[:dir]
|
7
|
+
|
8
|
+
Dir.mkdir dir rescue nil
|
9
|
+
|
10
|
+
Dir.chdir dir
|
11
|
+
Dir.mkdir 'lib' rescue nil
|
12
|
+
Dir.mkdir 'bin' rescue nil
|
13
|
+
end
|
14
|
+
|
15
|
+
def make_rakefile(config)
|
16
|
+
dir = config[:dir]
|
17
|
+
|
18
|
+
rakefile = <<-eot
|
19
|
+
def latest_gem
|
20
|
+
Dir["*.gem"].sort.last
|
21
|
+
end
|
22
|
+
|
23
|
+
task :default do
|
24
|
+
puts `gem build #{dir}.gemspec`
|
25
|
+
if $?.success?
|
26
|
+
puts "\\nyou can install it with:"
|
27
|
+
puts "rake install\\n"
|
28
|
+
puts "then run your app with:\\n#{dir}\\n"
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
task :run do
|
33
|
+
puts `gem build #{dir}.gemspec`
|
34
|
+
puts `gem install --local \#{latest_gem}`
|
35
|
+
puts "===output==="
|
36
|
+
puts `#{dir}`
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
task :install do
|
41
|
+
puts `gem install --local \#{latest_gem}`
|
42
|
+
end
|
43
|
+
|
44
|
+
task :push do
|
45
|
+
puts "pusing \#{latest_gem}..."
|
46
|
+
puts `gem push \#{latest_gem}`
|
47
|
+
if $?.success?
|
48
|
+
puts "https://rubygems.org/gems/#{dir}"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
task :i=>:install
|
53
|
+
|
54
|
+
eot
|
55
|
+
IO.write "rakefile.rb",rakefile
|
56
|
+
end
|
57
|
+
|
58
|
+
def make_specfile(config)
|
59
|
+
dir = config[:dir]
|
60
|
+
gemspec = <<-eot
|
61
|
+
|
62
|
+
Gem::Specification.new do |s|
|
63
|
+
s.name = "#{dir}"
|
64
|
+
s.version = "0.0.1"
|
65
|
+
s.summary = "summary"
|
66
|
+
s.authors = ['authors']
|
67
|
+
|
68
|
+
s.license = 'MIT'
|
69
|
+
s.email = 'degcat@126.com'
|
70
|
+
s.homepage = 'https://rubygems.org/gems/a'
|
71
|
+
|
72
|
+
s.files = Dir["lib/*.rb"]
|
73
|
+
s.executables << "#{dir}"
|
74
|
+
end
|
75
|
+
|
76
|
+
eot
|
77
|
+
IO.write "#{dir}.gemspec",gemspec
|
78
|
+
end
|
79
|
+
def index(config)
|
80
|
+
dir = config[:dir]
|
81
|
+
target = config[:target]
|
82
|
+
|
83
|
+
self.make_dirs(config)
|
84
|
+
|
85
|
+
self.make_rakefile(config)
|
86
|
+
self.make_specfile(config)
|
87
|
+
|
88
|
+
IO.write "lib/#{dir}.rb",''
|
89
|
+
|
90
|
+
binfile=<<-eot
|
91
|
+
#!/usr/bin/env ruby
|
92
|
+
puts "hello world!"
|
93
|
+
eot
|
94
|
+
IO.write "bin/#{dir}",binfile
|
95
|
+
|
96
|
+
FileUtils.chmod "u=wrx","bin/#{dir}" rescue nil
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
#puts gemspec
|
101
|
+
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
data/rakefile.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
task :default do
|
2
|
+
puts `gem build a.gemspec`
|
3
|
+
puts `gem install --local #{latest_gem}`
|
4
|
+
puts `ruby -e '' -ra`
|
5
|
+
puts `a gem mytest`
|
6
|
+
end
|
7
|
+
|
8
|
+
task :install do
|
9
|
+
puts `gem install --local #{latest_gem}`
|
10
|
+
end
|
11
|
+
|
12
|
+
task :push do
|
13
|
+
puts "pusing #{latest_gem}..."
|
14
|
+
exec "gem push #{latest_gem}"
|
15
|
+
if $?.success?
|
16
|
+
puts "https://rubygems.org/gems/a"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
task :i=>:install
|
21
|
+
|
22
|
+
|
23
|
+
def latest_gem
|
24
|
+
Dir["*.gem"].sort.last
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tohr
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.8
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- author
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-10-27 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: degcat@126.com
|
15
|
+
executables:
|
16
|
+
- a
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- README.md
|
21
|
+
- a.gemspec
|
22
|
+
- bin/a
|
23
|
+
- lib/a.rb
|
24
|
+
- lib/commands/gem.rb
|
25
|
+
- rakefile.rb
|
26
|
+
homepage: https://github.com/axgle/a
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
- lib
|
35
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 2.0.0
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
requirements: []
|
46
|
+
rubygems_version: 3.2.22
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: a gem generator etc.
|
50
|
+
test_files: []
|