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 CHANGED
@@ -2,4 +2,3 @@ source :rubygems
2
2
 
3
3
  # Specify your gem's dependencies in foodie.gemspec
4
4
  gemspec
5
- gem "omniauth"
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
 
@@ -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
- require "kitty_gen/cook"
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
- exec "rails new #{app_name}"
22
- run_generator(master_template)
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
- run_generator(recipe)
59
+ run_generator(recipe)
54
60
  end
55
61
 
56
62
  def run_generator(template)
57
- Cook.new(template)
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
@@ -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
- require "rails/generators"
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(template)
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
@@ -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 #{current_ruby}@#{app_name}
14
+ rvm use #{rvm_ruby}
15
15
  END
@@ -1,4 +1,4 @@
1
1
  module KittyGen
2
- VERSION = "0.0.17" #aka Beta
2
+ VERSION = "0.0.18" #aka Beta
3
3
  end
4
4
 
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.17
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: &2157011160 !ruby/object:Gem::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: *2157011160
24
+ version_requirements: *2160582220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colored
27
- requirement: &2157010760 !ruby/object:Gem::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: *2157010760
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: &2157010160 !ruby/object:Gem::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: *2157010160
57
+ version_requirements: *2160579200
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: ruby-debug19
49
- requirement: &2157009740 !ruby/object:Gem::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: *2157009740
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
@@ -1,6 +0,0 @@
1
- #try getting cook to inherit from AppGenerator
2
- introduce_yourself
3
- #hack since thor expends an empty options hash
4
- # @options = {}
5
- app_name = ARGV.first
6
- prepare_standard_features