skelet 0.0.1 → 0.0.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/README.md +20 -0
- data/bin/skelet +24 -3
- data/lib/skelet.rb +7 -6
- data/lib/skelet/files.rb +19 -19
- data/lib/skelet/version.rb +1 -1
- data/test/test_skelet.rb +7 -8
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fc3f916a6bf3a327041e72da6bdba26eb60e61d
|
4
|
+
data.tar.gz: 86392534c0dfa92c5c0935e404e9c29aae67fb98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97f91fc9f15815fb4e1f4d9d1f72fa3af910b82ca760eecf976204a388bb8fb2b8aa070f8575bad0bb3b5a65180a0ae14bd9ef39b9ae0480330092160ba9660c
|
7
|
+
data.tar.gz: b67c6171906726baffbe31fc5631553b60a29370ce309bd6784697bae4ff672ff40b04c87592cbb2bad4746d6e322146eec4718be5e81fd134e3d5a14407331d
|
data/README.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Create an application skeleton - files included - with one command.
|
2
|
+
|
3
|
+
|
4
|
+
Example:
|
5
|
+
>> skelet myapp
|
6
|
+
creates the following skeleton
|
7
|
+
|
8
|
+
myapp
|
9
|
+
├── bin
|
10
|
+
│ └── skelet
|
11
|
+
├── lib
|
12
|
+
│ └── myapp
|
13
|
+
│ │ └── version.rb
|
14
|
+
│ └── myapp.rb
|
15
|
+
├── test
|
16
|
+
│ └── test_myapp.rb
|
17
|
+
└── myapp.gemspec
|
18
|
+
|
19
|
+
The files within are already filled with some basic information allowing to speed up creation.
|
20
|
+
For now it assumes using git and minitest.
|
data/bin/skelet
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
#Create an application skeleton - files included - with one command.
|
4
|
+
#
|
5
|
+
#
|
6
|
+
#Example:
|
7
|
+
# >> skelet myapp
|
8
|
+
#creates the following skeleton
|
9
|
+
#
|
10
|
+
#myapp
|
11
|
+
#├── bin
|
12
|
+
#│ └── skelet
|
13
|
+
#├── lib
|
14
|
+
#│ └── myapp
|
15
|
+
#│ │ └── version.rb
|
16
|
+
#│ └── myapp.rb
|
17
|
+
#├── test
|
18
|
+
#│ └── test_myapp.rb
|
19
|
+
#└── myapp.gemspec
|
20
|
+
#
|
21
|
+
#The files within are already filled with some basic information allowing to speed up creation.
|
22
|
+
#For now it assumes using git and minitest.
|
23
|
+
#
|
24
|
+
$:.push File.expand_path("../../lib", __FILE__)
|
25
|
+
require 'skelet'
|
26
|
+
Skelet::Application.new(ARGV[0]).create_skeleton
|
data/lib/skelet.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
require_relative 'skelet/files'
|
2
|
-
|
3
2
|
include Skelet
|
4
3
|
|
5
4
|
module Skelet
|
5
|
+
#main Skelet engine
|
6
|
+
|
6
7
|
class Application
|
7
|
-
PERM = 'w+'
|
8
|
+
PERM = 'w+'
|
8
9
|
attr_reader :name
|
9
|
-
|
10
|
+
|
10
11
|
def initialize(name)
|
11
12
|
@name=name
|
12
13
|
end
|
13
|
-
|
14
|
+
|
14
15
|
def create_skeleton
|
15
16
|
Dir.mkdir(@name)
|
16
17
|
Dir.chdir(@name) do
|
@@ -23,8 +24,8 @@ module Skelet
|
|
23
24
|
Dir.chdir("lib") { File.open("#{@name}.rb", PERM) {|f| f << Skelet::main(@name)} }
|
24
25
|
Dir.chdir("lib/#{@name}") { File.open("version.rb", PERM) {|f| f << Skelet::version(@name) } }
|
25
26
|
end
|
26
|
-
|
27
|
-
|
27
|
+
rescue
|
28
|
+
puts "#{@name} already exists. Please pick another name or directory."
|
28
29
|
end
|
29
30
|
end
|
30
31
|
end
|
data/lib/skelet/files.rb
CHANGED
@@ -2,10 +2,10 @@ module Skelet
|
|
2
2
|
|
3
3
|
|
4
4
|
def gemspec(skelet_name)
|
5
|
-
|
5
|
+
|
6
6
|
user_name = `git config user.name`.chomp rescue "TODO"
|
7
7
|
user_email = `git config user.email`.chomp rescue "TODO"
|
8
|
-
|
8
|
+
|
9
9
|
gemspec_content= <<EOF
|
10
10
|
#-*- encoding utf-8 -*-
|
11
11
|
$:.push File.expand_path("../lib", __FILE__)
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.homepage = "TODO"
|
21
21
|
s.summary = "TODO"
|
22
22
|
s.description = "TODO"
|
23
|
-
|
23
|
+
|
24
24
|
s.files = `git ls-files`.split("\\n")
|
25
25
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\\n")
|
26
26
|
s.executables = `git ls-files -- bin/*`.split("\\n").map { |f| File.basename(f)}
|
@@ -29,10 +29,10 @@ end
|
|
29
29
|
EOF
|
30
30
|
return gemspec_content
|
31
31
|
end
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
36
|
def version(skelet_name)
|
37
37
|
version_content = <<EOF
|
38
38
|
module #{skelet_name.capitalize}
|
@@ -40,21 +40,21 @@ module #{skelet_name.capitalize}
|
|
40
40
|
end
|
41
41
|
EOF
|
42
42
|
return version_content
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
48
|
def bin(skelet_name)
|
49
49
|
bin_content = <<EOF
|
50
50
|
#!/usr/bin/env ruby
|
51
51
|
|
52
|
-
require '
|
52
|
+
require '#{skelet_name}'
|
53
53
|
EOF
|
54
54
|
return bin_content
|
55
55
|
end
|
56
|
-
|
57
|
-
|
56
|
+
|
57
|
+
|
58
58
|
def test(skelet_name)
|
59
59
|
test_content = <<EOF
|
60
60
|
require 'minitest/autorun'
|
@@ -64,15 +64,15 @@ include #{skelet_name.capitalize}
|
|
64
64
|
class Test#{skelet_name.capitalize} < Minitest::Test
|
65
65
|
def setup
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
def teardown
|
69
69
|
end
|
70
70
|
end
|
71
71
|
EOF
|
72
72
|
return test_content
|
73
73
|
end
|
74
|
-
|
75
|
-
|
74
|
+
|
75
|
+
|
76
76
|
def main(skelet_name)
|
77
77
|
main_content = <<EOF
|
78
78
|
module #{skelet_name.capitalize}
|
@@ -80,4 +80,4 @@ end
|
|
80
80
|
EOF
|
81
81
|
return main_content
|
82
82
|
end
|
83
|
-
end
|
83
|
+
end
|
data/lib/skelet/version.rb
CHANGED
data/test/test_skelet.rb
CHANGED
@@ -1,24 +1,23 @@
|
|
1
1
|
require 'minitest/autorun'
|
2
2
|
require 'fileutils'
|
3
3
|
require_relative '../lib/skelet'
|
4
|
-
|
5
4
|
include Skelet
|
6
5
|
|
7
6
|
class TestSkelet < Minitest::Test
|
8
7
|
def setup
|
9
8
|
@skelet=Skelet::Application.new("new_gem")
|
9
|
+
@skelet.create_skeleton
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
def test_name()
|
13
13
|
assert_equal "new_gem", @skelet.name
|
14
14
|
assert_respond_to @skelet, :name
|
15
15
|
refute_respond_to @skelet, :name=
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
def test_created_skeleton_tree()
|
19
|
-
@skelet.create_skeleton
|
20
19
|
assert_equal true, Dir.exist?(@skelet.name)
|
21
|
-
|
20
|
+
|
22
21
|
Dir.chdir(@skelet.name) do
|
23
22
|
assert_equal true, File.exist?("#{@skelet.name}.gemspec")
|
24
23
|
entries = []
|
@@ -41,8 +40,8 @@ class TestSkelet < Minitest::Test
|
|
41
40
|
end
|
42
41
|
end
|
43
42
|
end
|
44
|
-
|
43
|
+
|
45
44
|
def teardown
|
46
45
|
FileUtils.rm_rf(@skelet.name)
|
47
|
-
end
|
48
|
-
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skelet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kuba Krzempek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Simply generates a skeleton for an app
|
14
14
|
email:
|
@@ -19,6 +19,7 @@ extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
21
|
- .gitignore
|
22
|
+
- README.md
|
22
23
|
- bin/skelet
|
23
24
|
- lib/skelet.rb
|
24
25
|
- lib/skelet/files.rb
|