nakor 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
@@ -0,0 +1,3 @@
1
+ [submodule "lib/nakor/generators/corona-game-template"]
2
+ path = lib/nakor/generators/corona-game-template
3
+ url = git@github.com:radamanthus/corona-game-template.git
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in nakor.gemspec
4
+ gemspec
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'nakor/cli'
4
+ Nakor::CLI.start
@@ -0,0 +1,12 @@
1
+ Feature: Generate
2
+ In order to make the world a better place
3
+ As a CLI
4
+ I want to be able to generate new apps
5
+
6
+ Scenario: Generate a new app in a non-existing folder
7
+ When I run `../../bin/nakor generate awesome_game`
8
+ Then the output should contain "Successfully generated 'awesome_game'"
9
+ And the following files should exist:
10
+ | awesome_game/main.lua |
11
+
12
+ Scenario: Warn the user when generating an app will overwrite an existing folder
@@ -0,0 +1 @@
1
+ require 'aruba/cucumber'
@@ -0,0 +1,5 @@
1
+ require "nakor/version"
2
+
3
+ module Nakor
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,11 @@
1
+ module Nakor
2
+ class App
3
+ def self.portray(food)
4
+ if food.downcase == "broccoli"
5
+ "Gross!"
6
+ else
7
+ "Delicious!"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'thor'
2
+ require 'nakor/generators/app'
3
+
4
+ module Nakor
5
+ class CLI < Thor
6
+ desc "generate APP_NAME", "generates an application"
7
+ def generate(app_name)
8
+ Nakor::Generators::App.start([app_name])
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,65 @@
1
+ require 'thor/group'
2
+ module Nakor
3
+ module Generators
4
+ class App < Thor::Group
5
+ ASSET_FILES = %W{
6
+ bk_default.png
7
+ btn_about.png
8
+ btn_about_over.png
9
+ btn_help.png
10
+ btn_help_over.png
11
+ btn_play.png
12
+ btn_play_over.png
13
+ btn_settings.png
14
+ btn_settings_over.png
15
+ splash_screen.png
16
+ }
17
+
18
+ TEMPLATE_FILES = %W{
19
+ about.lua
20
+ build.settings
21
+ config.lua
22
+ director.lua
23
+ help.lua
24
+ init_buttons.lua
25
+ loadmenu.lua
26
+ main.lua
27
+ menu.lua
28
+ play.lua
29
+ radlib.lua
30
+ README
31
+ settings.lua
32
+ ui.lua
33
+ }
34
+
35
+ include Thor::Actions
36
+
37
+ argument :app_name, :type => :string
38
+
39
+ def self.source_root
40
+ File.dirname(__FILE__) + "/corona-game-template"
41
+ end
42
+
43
+ def create_group
44
+ empty_directory(app_name)
45
+ end
46
+
47
+ def copy_source_files
48
+ TEMPLATE_FILES.each do |f|
49
+ template f, "#{app_name}/#{f}"
50
+ end
51
+ end
52
+
53
+ def copy_asset_files
54
+ ASSET_FILES.each do |f|
55
+ copy_file f, "#{app_name}/#{f}"
56
+ end
57
+ end
58
+
59
+ def done
60
+ puts "Successfully generated '#{app_name}'"
61
+ end
62
+ end
63
+ end
64
+ end
65
+
@@ -0,0 +1,3 @@
1
+ module Nakor
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,36 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "nakor/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "nakor"
7
+ s.version = Nakor::VERSION
8
+ s.authors = ["Radamanthus Batnag"]
9
+ s.email = ["rad@batnag.org"]
10
+ s.homepage = ""
11
+ s.summary = %q{Nakor is a gem that encapsulates the corona-game-template project.}
12
+ s.description = %q{
13
+ To create a new Corona SDK game using nakor, just run:
14
+
15
+ nakor generate awesome_game
16
+
17
+ This will create an awesome_game directory in the current directory, and copy all corona game template files into it.
18
+
19
+ To run the generated game, type:
20
+
21
+ /Applications/CoronaSDK/simulator awesome_game
22
+ }
23
+
24
+ s.rubyforge_project = "nakor"
25
+
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
29
+ s.require_paths = ["lib"]
30
+
31
+ s.add_dependency "thor"
32
+
33
+ s.add_development_dependency "aruba"
34
+ s.add_development_dependency "cucumber"
35
+ s.add_development_dependency "rspec"
36
+ end
@@ -0,0 +1,11 @@
1
+ require 'nakor/app'
2
+
3
+ describe Nakor::App do
4
+ it "broccoli is gross" do
5
+ Nakor::App.portray("Broccoli").should eql("Gross!")
6
+ end
7
+
8
+ it "anything else is delicious" do
9
+ Nakor::App.portray("Not Broccoli").should eql("Delicious!")
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nakor
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Radamanthus Batnag
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-09-30 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: thor
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: aruba
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :development
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: cucumber
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ type: :development
75
+ version_requirements: *id004
76
+ description: "\n To create a new Corona SDK game using nakor, just run:\n\n nakor generate awesome_game\n\n This will create an awesome_game directory in the current directory, and copy all corona game template files into it.\n\n To run the generated game, type:\n\n /Applications/CoronaSDK/simulator awesome_game\n "
77
+ email:
78
+ - rad@batnag.org
79
+ executables:
80
+ - nakor
81
+ extensions: []
82
+
83
+ extra_rdoc_files: []
84
+
85
+ files:
86
+ - .gitignore
87
+ - .gitmodules
88
+ - Gemfile
89
+ - Rakefile
90
+ - bin/nakor
91
+ - features/generate.feature
92
+ - features/support/setup.rb
93
+ - lib/nakor.rb
94
+ - lib/nakor/app.rb
95
+ - lib/nakor/cli.rb
96
+ - lib/nakor/generators/app.rb
97
+ - lib/nakor/version.rb
98
+ - nakor.gemspec
99
+ - spec/app_spec.rb
100
+ homepage: ""
101
+ licenses: []
102
+
103
+ post_install_message:
104
+ rdoc_options: []
105
+
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ hash: 3
114
+ segments:
115
+ - 0
116
+ version: "0"
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ hash: 3
123
+ segments:
124
+ - 0
125
+ version: "0"
126
+ requirements: []
127
+
128
+ rubyforge_project: nakor
129
+ rubygems_version: 1.8.10
130
+ signing_key:
131
+ specification_version: 3
132
+ summary: Nakor is a gem that encapsulates the corona-game-template project.
133
+ test_files:
134
+ - features/generate.feature
135
+ - features/support/setup.rb
136
+ - spec/app_spec.rb