kitty_gen 0.0.17 → 0.0.18
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.
- data/Gemfile +0 -1
- data/README.textile +2 -0
- data/kitty_gen.gemspec +1 -0
- data/lib/kitty_gen/base_recipes +2 -0
- data/lib/kitty_gen/cli.rb +15 -13
- data/lib/kitty_gen/cook.rb +6 -11
- data/lib/kitty_gen/helpers.rb +0 -6
- data/lib/kitty_gen/recipes/kitty_gen_gem_recipe.rb +1 -0
- data/lib/kitty_gen/recipes/rvm_with_gemset_recipe.rb +1 -1
- data/lib/kitty_gen/version.rb +1 -1
- metadata +21 -11
- data/lib/kitty_gen/master_template.rb +0 -6
data/Gemfile
CHANGED
data/README.textile
CHANGED
@@ -11,6 +11,7 @@ Shave hours off your next project and amaze your client and friends. This produc
|
|
11
11
|
# Ruby debugger, wirble, looksee and more ready for debugging
|
12
12
|
# A sensible gitignore
|
13
13
|
# All those annoying files you never use removed
|
14
|
+
# All your configurations, e.g. for omniauth, aws, exception nofitifer and paypal filled in automatically via a global configuration file you maitain (~/.kittygenrc)
|
14
15
|
|
15
16
|
Unlike other application templates this one is *packaged in a gem* meaning you can call it from the command line as simply as this:
|
16
17
|
@$ kitty_gen new MY_NEW_APP_NAME@
|
@@ -87,6 +88,7 @@ h2. How To Use
|
|
87
88
|
@kittygen your-new-app-name@
|
88
89
|
|
89
90
|
h2. All Possible Recipes
|
91
|
+
kitty_gen_gem
|
90
92
|
login_with_facebook_and_twitter
|
91
93
|
reload_css_and_html_in_browser_on_save
|
92
94
|
|
data/kitty_gen.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "kitty_gen"
|
16
16
|
s.add_dependency "rails", "~> 3.1"
|
17
17
|
s.add_dependency "colored"
|
18
|
+
s.add_dependency "rvm"
|
18
19
|
s.add_development_dependency "bundler", "~> 1.0.0"
|
19
20
|
s.add_development_dependency "ruby-debug19"
|
20
21
|
|
data/lib/kitty_gen/base_recipes
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Order here is important
|
2
2
|
# Comment out what you don't want
|
3
3
|
rvm_with_gemset
|
4
|
+
initialize_git_repo
|
4
5
|
sensible_defaults
|
5
6
|
devise_with_user_model
|
6
7
|
basic_layout_with_login_using_slim
|
@@ -14,3 +15,4 @@ factory_girl_with_generators
|
|
14
15
|
formtastic
|
15
16
|
reload_css_and_html_in_browser_on_save
|
16
17
|
login_with_facebook_and_twitter
|
18
|
+
kitty_gen_gem
|
data/lib/kitty_gen/cli.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module KittyGen
|
2
2
|
class Cli
|
3
|
-
|
3
|
+
require "kitty_gen/cook"
|
4
4
|
|
5
5
|
def start(command_line_arguments)
|
6
6
|
case ARGV[0]
|
@@ -18,8 +18,14 @@ module KittyGen
|
|
18
18
|
private
|
19
19
|
|
20
20
|
def new(app_name)
|
21
|
-
|
22
|
-
|
21
|
+
generate_new_rails_app(app_name)
|
22
|
+
File.open(File.join(File.dirname(__FILE__), "base_recipes")).each do |recipe_name|
|
23
|
+
run_generator(recipe_name.chomp) unless recipe_name.match(/\s?#/)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def generate_new_rails_app(app_name)
|
28
|
+
Rails::Generators::AppGenerator.start([app_name])
|
23
29
|
end
|
24
30
|
|
25
31
|
def list
|
@@ -28,7 +34,7 @@ module KittyGen
|
|
28
34
|
## Kitty Gen ##
|
29
35
|
## Listing all possible recipes you can add to your application ##
|
30
36
|
|
31
|
-
#{recipes.map.with_index {|recipe, index| " #{index}: #{recipe} "}.join("\n")}
|
37
|
+
#{recipes.map.with_index {|recipe, index| " #{index}: #{recipe} "}.join("\n")}
|
32
38
|
|
33
39
|
USAGE: kitty_gen add recipe_name_or_number
|
34
40
|
EXAMPLE: kitty_gen add formtastic
|
@@ -39,7 +45,7 @@ EXAMPLE: kitty_gen add formtastic
|
|
39
45
|
def recipes
|
40
46
|
File.read(File.join(kitty_gen_dir, "base_recipes")).split("\n").reject {|r| r.match /^\s*#/}
|
41
47
|
end
|
42
|
-
|
48
|
+
|
43
49
|
# Examples:
|
44
50
|
# add(formtastic)
|
45
51
|
# add(3)
|
@@ -50,31 +56,27 @@ EXAMPLE: kitty_gen add formtastic
|
|
50
56
|
else
|
51
57
|
recipe = recipe
|
52
58
|
end
|
53
|
-
|
59
|
+
run_generator(recipe)
|
54
60
|
end
|
55
61
|
|
56
62
|
def run_generator(template)
|
57
|
-
|
63
|
+
Cook.new.cook(template)
|
58
64
|
end
|
59
65
|
|
60
66
|
def is_a_number?(parameter)
|
61
67
|
parameter.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true
|
62
68
|
end
|
63
69
|
|
64
|
-
def master_template
|
65
|
-
File.join(kitty_gen_dir, "master_template.rb")
|
66
|
-
end
|
67
|
-
|
68
70
|
def kitty_gen_dir
|
69
71
|
File.dirname(__FILE__)
|
70
72
|
end
|
71
73
|
|
72
74
|
def help
|
73
|
-
%Q{Commands available:
|
75
|
+
%Q{Commands available:
|
74
76
|
kitty_gen new APPNAME # create a new app APPNAME using preffered recipes
|
75
77
|
kitty_gen list # lists available recipes
|
76
78
|
kitty_gen add RECIPE # adds a recipe RECIPE
|
77
|
-
|
79
|
+
}
|
78
80
|
end
|
79
81
|
|
80
82
|
end
|
data/lib/kitty_gen/cook.rb
CHANGED
@@ -1,21 +1,16 @@
|
|
1
|
-
require "rails/generators"
|
2
|
-
require "rails"
|
3
|
-
require 'rails/generators/rails/app/app_generator'
|
4
|
-
require "kitty_gen/helpers"
|
5
1
|
module KittyGen
|
6
2
|
class Cook
|
7
3
|
|
8
|
-
|
9
|
-
require "rails"
|
10
|
-
require 'rails/generators/rails/app/app_generator'
|
11
|
-
require "kitty_gen/helpers"
|
4
|
+
attr_reader :generator
|
12
5
|
|
13
|
-
def initialize
|
14
|
-
generator = Rails::Generators::AppGenerator.new [Dir.pwd], {}, :destination_root => Dir.pwd
|
6
|
+
def initialize
|
7
|
+
@generator = Rails::Generators::AppGenerator.new [Dir.pwd], {}, :destination_root => Dir.pwd
|
15
8
|
generator.extend(::KittyGen::Helpers)
|
9
|
+
end
|
10
|
+
|
11
|
+
def cook(template)
|
16
12
|
generator.recipe template
|
17
13
|
end
|
18
14
|
|
19
15
|
end
|
20
|
-
|
21
16
|
end
|
data/lib/kitty_gen/helpers.rb
CHANGED
@@ -10,12 +10,6 @@ module KittyGen
|
|
10
10
|
title "Welcome To Kitty Gen. Lets Make You an App"
|
11
11
|
end
|
12
12
|
|
13
|
-
def prepare_standard_features
|
14
|
-
File.open(File.join(File.dirname(__FILE__), "base_recipes")).each do |recipe_name|
|
15
|
-
recipe recipe_name.chomp.intern unless recipe_name.match(/\s?#/)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
13
|
# Importantly, this runs each recipe
|
20
14
|
# in its own exclusive scope. This means
|
21
15
|
# symbols from one recipe cannot pollute
|
@@ -0,0 +1 @@
|
|
1
|
+
gem "kitty_gen"
|
@@ -11,5 +11,5 @@ puts "Successfully installed bundler" if @env.system("gem", "install", "bundler"
|
|
11
11
|
puts "Installing rails gem."
|
12
12
|
puts "successfully installed rails" if @env.system("gem", "install", "rails")
|
13
13
|
file ".rvmrc", <<-END
|
14
|
-
rvm use #{
|
14
|
+
rvm use #{rvm_ruby}
|
15
15
|
END
|
data/lib/kitty_gen/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitty_gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-09-25 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &2160582220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2160582220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: colored
|
27
|
-
requirement: &
|
27
|
+
requirement: &2160581840 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,21 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2160581840
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rvm
|
38
|
+
requirement: &2160581240 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2160581240
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: bundler
|
38
|
-
requirement: &
|
49
|
+
requirement: &2160579200 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ~>
|
@@ -43,10 +54,10 @@ dependencies:
|
|
43
54
|
version: 1.0.0
|
44
55
|
type: :development
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *2160579200
|
47
58
|
- !ruby/object:Gem::Dependency
|
48
59
|
name: ruby-debug19
|
49
|
-
requirement: &
|
60
|
+
requirement: &2160577560 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
62
|
requirements:
|
52
63
|
- - ! '>='
|
@@ -54,7 +65,7 @@ dependencies:
|
|
54
65
|
version: '0'
|
55
66
|
type: :development
|
56
67
|
prerelease: false
|
57
|
-
version_requirements: *
|
68
|
+
version_requirements: *2160577560
|
58
69
|
description: Save 5 hours starting your next project and use the latest and greatest
|
59
70
|
best practices.
|
60
71
|
email:
|
@@ -70,7 +81,6 @@ files:
|
|
70
81
|
- Rakefile
|
71
82
|
- bin/kitty_gen
|
72
83
|
- kitty_gen.gemspec
|
73
|
-
- lib/.DS_Store
|
74
84
|
- lib/kitty_gen.rb
|
75
85
|
- lib/kitty_gen/.DS_Store
|
76
86
|
- lib/kitty_gen/base_recipes
|
@@ -79,7 +89,6 @@ files:
|
|
79
89
|
- lib/kitty_gen/cook.rb
|
80
90
|
- lib/kitty_gen/helpers.rb
|
81
91
|
- lib/kitty_gen/kittens/kitty_1
|
82
|
-
- lib/kitty_gen/master_template.rb
|
83
92
|
- lib/kitty_gen/recipes/add_handy_application_wide_helpers_recipe.rb
|
84
93
|
- lib/kitty_gen/recipes/basic_layout_with_login_using_slim_recipe.rb
|
85
94
|
- lib/kitty_gen/recipes/debugging_and_console_helpers_recipe.rb
|
@@ -88,6 +97,7 @@ files:
|
|
88
97
|
- lib/kitty_gen/recipes/factory_girl_with_generators_recipe.rb
|
89
98
|
- lib/kitty_gen/recipes/formtastic_recipe.rb
|
90
99
|
- lib/kitty_gen/recipes/initialize_git_repo_recipe.rb
|
100
|
+
- lib/kitty_gen/recipes/kitty_gen_gem_recipe.rb
|
91
101
|
- lib/kitty_gen/recipes/login_with_facebook_and_twitter_recipe.rb
|
92
102
|
- lib/kitty_gen/recipes/make_readme_a_textile_file_recipe.rb
|
93
103
|
- lib/kitty_gen/recipes/reload_css_and_html_in_browser_on_save_recipe.rb
|