mafia 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +6 -0
- data/lib/mafia.rb +34 -9
- data/lib/mafia/templates/LICENSE.tt +20 -0
- data/lib/mafia/templates/README.md.tt +13 -0
- data/lib/mafia/templates/gemspec.tt +4 -4
- data/lib/version.rb +1 -1
- data/mafia.gemspec +1 -1
- metadata +7 -5
- data/lib/mafia/templates/README +0 -0
data/README.md
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
# Mafia
|
2
|
+
Mafia is a generator gem that creates the directory structure and files for a [sinatra](http://www.sinatrarb.com) app that is also a gem in itself. The benefits for writing sinatra apps as gems is you can make your apps more modular and easily use them as rack middleware.
|
3
|
+
|
4
|
+
## Usage
|
5
|
+
sudo gem install mafia
|
6
|
+
mafia appname
|
data/lib/mafia.rb
CHANGED
@@ -8,39 +8,45 @@ module Mafia
|
|
8
8
|
argument :name
|
9
9
|
|
10
10
|
def self.source_root
|
11
|
-
File.dirname(__FILE__)
|
11
|
+
File.expand_path(File.join(File.dirname(__FILE__), 'mafia/templates'))
|
12
12
|
end
|
13
13
|
|
14
14
|
def create_gemspec_file
|
15
|
-
|
15
|
+
opts = {
|
16
|
+
:name => name,
|
17
|
+
:creator_name => `git config user.name`.chomp,
|
18
|
+
:creator_email => `git config user.email`.chomp
|
19
|
+
}
|
20
|
+
|
21
|
+
template("gemspec.tt", "#{name}/#{name}.gemspec", opts)
|
16
22
|
end
|
17
23
|
|
18
24
|
def create_config_ru_file
|
19
|
-
template("
|
25
|
+
template("config.ru.tt", "#{name}/config.ru")
|
20
26
|
end
|
21
27
|
|
22
28
|
def create_version_file
|
23
|
-
template("
|
29
|
+
template("version.rb.tt", "#{name}/lib/version.rb")
|
24
30
|
end
|
25
31
|
|
26
32
|
def create_gem_file
|
27
|
-
template("
|
33
|
+
template("gem.rb.tt", "#{name}/lib/#{name}.rb")
|
28
34
|
end
|
29
35
|
|
30
36
|
def create_app_file
|
31
|
-
template("
|
37
|
+
template("app.rb.tt", "#{name}/lib/#{name}/app.rb")
|
32
38
|
end
|
33
39
|
|
34
40
|
def copy_rakefile
|
35
|
-
copy_file("
|
41
|
+
copy_file("Rakefile", "#{name}/Rakefile")
|
36
42
|
end
|
37
43
|
|
38
44
|
def copy_gemfile
|
39
|
-
copy_file("
|
45
|
+
copy_file("Gemfile", "#{name}/Gemfile")
|
40
46
|
end
|
41
47
|
|
42
48
|
def copy_readme
|
43
|
-
|
49
|
+
template("README.md.tt", "#{name}/README.md")
|
44
50
|
end
|
45
51
|
|
46
52
|
def create_empty_files_and_directories
|
@@ -48,6 +54,25 @@ module Mafia
|
|
48
54
|
empty_directory("#{name}/lib/#{name}/views")
|
49
55
|
empty_directory("#{name}/lib/#{name}/lib")
|
50
56
|
end
|
57
|
+
|
58
|
+
def create_license
|
59
|
+
if yes? "Use MIT License?"
|
60
|
+
|
61
|
+
opts = {
|
62
|
+
:name => name,
|
63
|
+
:creator_name => `git config user.name`.chomp,
|
64
|
+
:creator_email => `git config user.email`.chomp
|
65
|
+
}
|
66
|
+
|
67
|
+
template("LICENSE.tt", "#{name}/LICENSE", opts)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def initalize_git_repo
|
72
|
+
target = File.join(Dir.pwd, name)
|
73
|
+
say "Initializating git repo in #{target}"
|
74
|
+
Dir.chdir(target) { `git init`; `git add .` }
|
75
|
+
end
|
51
76
|
|
52
77
|
end # Generator
|
53
78
|
end # Rackgem
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) <%= Time.now.year %> <%= config[:creator_name] %>, <%= config[:creator_email] %>
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# <%= name.capitalize %>
|
2
|
+
|
3
|
+
**<%= name.capitalize %>** is a [sinatra](http://www.sinatrarb.com) app/middleware that can be run standalone app or required as a gem.
|
4
|
+
|
5
|
+
## Running standalone
|
6
|
+
Simply run the ``bundle`` and then ``rackup`` commands.
|
7
|
+
|
8
|
+
## Bundling as a gem
|
9
|
+
gem build <%= name %>.gemspec
|
10
|
+
sudo gem install <%= name %>-0.0.1.gem
|
11
|
+
|
12
|
+
## License
|
13
|
+
Please see License.txt
|
@@ -3,10 +3,10 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require "version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name = "<%= name %>"
|
7
|
-
s.version = <%= name.capitalize %>::VERSION
|
8
|
-
s.authors = ["
|
9
|
-
s.email = ["
|
6
|
+
s.name = "<%= config[:name] %>"
|
7
|
+
s.version = <%= config[:name].capitalize %>::VERSION
|
8
|
+
s.authors = ["<%= config[:creator_name] %>"]
|
9
|
+
s.email = ["<%= config[:creator_email] %>"]
|
10
10
|
s.homepage = ""
|
11
11
|
s.summary = %q{TODO: Write a gem summary}
|
12
12
|
s.description = %q{TODO: Write a gem description}
|
data/lib/version.rb
CHANGED
data/mafia.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Mafia::VERSION
|
8
8
|
s.authors = ["George Drummond"]
|
9
9
|
s.email = ["george@accountsapp.com"]
|
10
|
-
s.homepage = ""
|
10
|
+
s.homepage = "http://github.com/georgedrummond/mafia"
|
11
11
|
s.summary = %q{Generator to create sinatra apps that are also gems}
|
12
12
|
s.description = %q{Generator to create sinatra apps that are also gems}
|
13
13
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mafia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- George Drummond
|
@@ -43,13 +43,15 @@ extra_rdoc_files: []
|
|
43
43
|
files:
|
44
44
|
- .gitignore
|
45
45
|
- Gemfile
|
46
|
+
- README.md
|
46
47
|
- Rakefile
|
47
48
|
- bin/mafia
|
48
49
|
- lib/.DS_Store
|
49
50
|
- lib/mafia.rb
|
50
51
|
- lib/mafia/.DS_Store
|
51
52
|
- lib/mafia/templates/Gemfile
|
52
|
-
- lib/mafia/templates/
|
53
|
+
- lib/mafia/templates/LICENSE.tt
|
54
|
+
- lib/mafia/templates/README.md.tt
|
53
55
|
- lib/mafia/templates/Rakefile
|
54
56
|
- lib/mafia/templates/app.rb.tt
|
55
57
|
- lib/mafia/templates/config.ru.tt
|
@@ -58,7 +60,7 @@ files:
|
|
58
60
|
- lib/mafia/templates/version.rb.tt
|
59
61
|
- lib/version.rb
|
60
62
|
- mafia.gemspec
|
61
|
-
homepage:
|
63
|
+
homepage: http://github.com/georgedrummond/mafia
|
62
64
|
licenses: []
|
63
65
|
|
64
66
|
post_install_message:
|
data/lib/mafia/templates/README
DELETED
File without changes
|