ti 0.0.2 → 0.0.5
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 +14 -12
- data/Gemfile.lock +25 -15
- data/Rakefile +6 -13
- data/TODO.mkd +17 -0
- data/VERSION +1 -1
- data/bin/ti +13 -43
- data/lib/ti.rb +19 -96
- data/lib/ti/generate/model.rb +19 -0
- data/lib/ti/generate/project.rb +74 -0
- data/lib/ti/generate/view.rb +19 -0
- data/lib/ti/logger.rb +13 -0
- data/lib/ti/options.rb +64 -0
- data/lib/ti/parse_options.rb +48 -0
- data/lib/ti/templates/app/app.coffee +54 -0
- data/lib/ti/{config → templates/config} +3 -3
- data/lib/ti/{gitignore → templates/gitignore} +0 -0
- data/lib/ti/templates/guardfile +15 -0
- data/lib/ti/{rakefile → templates/rakefile} +36 -8
- data/lib/ti/templates/readme +1 -0
- data/lib/ti/templates/specs/app_spec.coffee +3 -0
- data/lib/ti/utils.rb +48 -0
- data/ti.gemspec +52 -38
- metadata +84 -57
data/Gemfile
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
+
|
3
4
|
group :runtime do
|
4
|
-
gem
|
5
|
-
gem
|
6
|
-
gem 'guard
|
7
|
-
gem '
|
8
|
-
gem '
|
9
|
-
gem '
|
10
|
-
gem '
|
11
|
-
gem '
|
12
|
-
gem '
|
5
|
+
gem "sass", "~> 3.1.1"
|
6
|
+
gem "guard-sass", :git => "https://github.com/pengwynn/guard-sass"
|
7
|
+
gem 'guard', "~> 0.3.4"
|
8
|
+
gem 'guard-coffeescript', "~> 0.2.0"
|
9
|
+
gem 'guard-livereload', "~> 0.1.10"
|
10
|
+
gem 'jasmine', "~> 1.0.2.0"
|
11
|
+
gem 'coffee-script', "~> 2.2.0"
|
12
|
+
gem 'colored', "~> 1.2"
|
13
|
+
gem 'rocco', "~> 0.6"
|
14
|
+
gem 'rake', "~> 0.8.7"
|
13
15
|
end
|
14
16
|
|
15
17
|
group :development do
|
16
|
-
gem "bundler",
|
17
|
-
gem "jeweler",
|
18
|
-
gem "
|
18
|
+
gem "bundler", "~> 1.0.10"
|
19
|
+
gem "jeweler", "~> 1.5.2"
|
20
|
+
gem "rspec", "~> 2.5.0"
|
19
21
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,17 @@
|
|
1
|
+
GIT
|
2
|
+
remote: https://github.com/pengwynn/guard-sass
|
3
|
+
revision: 6bcf5f4de45d1b994468ad51cec68298ed3d9c5e
|
4
|
+
specs:
|
5
|
+
guard-sass (0.0.5)
|
6
|
+
guard (>= 0.2.1)
|
7
|
+
sass (~> 3.1.0)
|
8
|
+
|
1
9
|
GEM
|
2
10
|
remote: http://rubygems.org/
|
3
11
|
specs:
|
4
12
|
addressable (2.2.5)
|
5
13
|
childprocess (0.1.8)
|
6
14
|
ffi (~> 1.0.6)
|
7
|
-
choice (0.1.4)
|
8
15
|
coffee-script (2.2.0)
|
9
16
|
coffee-script-source
|
10
17
|
execjs
|
@@ -15,11 +22,12 @@ GEM
|
|
15
22
|
addressable (>= 2.1.1)
|
16
23
|
eventmachine (>= 0.12.9)
|
17
24
|
eventmachine (0.12.10)
|
18
|
-
execjs (0.
|
25
|
+
execjs (0.3.0)
|
26
|
+
multi_json (~> 1.0)
|
19
27
|
ffi (1.0.7)
|
20
28
|
rake (>= 0.8.7)
|
21
29
|
git (1.2.5)
|
22
|
-
guard (0.3.
|
30
|
+
guard (0.3.4)
|
23
31
|
thor (~> 0.14.6)
|
24
32
|
guard-coffeescript (0.2.0)
|
25
33
|
coffee-script (~> 2.2.0)
|
@@ -39,10 +47,10 @@ GEM
|
|
39
47
|
rake
|
40
48
|
json (1.5.1)
|
41
49
|
json_pure (1.5.1)
|
50
|
+
multi_json (1.0.0)
|
42
51
|
mustache (0.99.3)
|
43
52
|
rack (1.2.2)
|
44
53
|
rake (0.8.7)
|
45
|
-
rcov (0.9.9)
|
46
54
|
rdiscount (1.6.8)
|
47
55
|
rocco (0.6)
|
48
56
|
mustache
|
@@ -56,7 +64,8 @@ GEM
|
|
56
64
|
diff-lcs (~> 1.1.2)
|
57
65
|
rspec-mocks (2.5.0)
|
58
66
|
rubyzip (0.9.4)
|
59
|
-
|
67
|
+
sass (3.1.1)
|
68
|
+
selenium-webdriver (0.2.0)
|
60
69
|
childprocess (>= 0.1.7)
|
61
70
|
ffi (>= 1.0.7)
|
62
71
|
json_pure
|
@@ -68,14 +77,15 @@ PLATFORMS
|
|
68
77
|
|
69
78
|
DEPENDENCIES
|
70
79
|
bundler (~> 1.0.10)
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
guard
|
75
|
-
guard-
|
76
|
-
guard-
|
77
|
-
jasmine
|
80
|
+
coffee-script (~> 2.2.0)
|
81
|
+
colored (~> 1.2)
|
82
|
+
guard (~> 0.3.4)
|
83
|
+
guard-coffeescript (~> 0.2.0)
|
84
|
+
guard-livereload (~> 0.1.10)
|
85
|
+
guard-sass!
|
86
|
+
jasmine (~> 1.0.2.0)
|
78
87
|
jeweler (~> 1.5.2)
|
79
|
-
rake
|
80
|
-
|
81
|
-
|
88
|
+
rake (~> 0.8.7)
|
89
|
+
rocco (~> 0.6)
|
90
|
+
rspec (~> 2.5.0)
|
91
|
+
sass (~> 3.1.1)
|
data/Rakefile
CHANGED
@@ -7,8 +7,10 @@ rescue Bundler::BundlerError => e
|
|
7
7
|
$stderr.puts "Run `bundle install` to install missing gems"
|
8
8
|
exit e.status_code
|
9
9
|
end
|
10
|
+
|
10
11
|
require 'rake'
|
11
12
|
|
13
|
+
|
12
14
|
require 'jeweler'
|
13
15
|
Jeweler::Tasks.new do |gem|
|
14
16
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
@@ -16,15 +18,13 @@ Jeweler::Tasks.new do |gem|
|
|
16
18
|
gem.homepage = "http://github.com/revans/ti"
|
17
19
|
gem.license = "MIT"
|
18
20
|
gem.summary = %Q{Ti}
|
19
|
-
gem.description = %Q{Titanium
|
21
|
+
gem.description = %Q{Titanium Project Generator}
|
20
22
|
gem.email = "robert@codewranglers.org"
|
21
|
-
gem.authors = ["Robert R Evans"]
|
23
|
+
gem.authors = ["Robert R Evans", "Julius Francisco", 'Wynn Netherland']
|
22
24
|
gem.date = "2011-04-16"
|
23
25
|
gem.executables = ["ti"]
|
24
|
-
|
25
|
-
|
26
|
-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
27
|
-
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
|
+
gem.version = File.read(File.join(File.dirname(__FILE__), 'VERSION')).chomp
|
27
|
+
|
28
28
|
end
|
29
29
|
Jeweler::RubygemsDotOrgTasks.new
|
30
30
|
|
@@ -35,13 +35,6 @@ Rake::TestTask.new(:test) do |test|
|
|
35
35
|
test.verbose = true
|
36
36
|
end
|
37
37
|
|
38
|
-
require 'rcov/rcovtask'
|
39
|
-
Rcov::RcovTask.new do |test|
|
40
|
-
test.libs << 'test'
|
41
|
-
test.pattern = 'test/**/test_*.rb'
|
42
|
-
test.verbose = true
|
43
|
-
end
|
44
|
-
|
45
38
|
task :default => :test
|
46
39
|
|
47
40
|
require 'rake/rdoctask'
|
data/TODO.mkd
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# TODO
|
2
|
+
|
3
|
+
* CoffeeScript Compiling doesn't work because "path" needs to be implemented. The idea is to make this a dynamic lookup.
|
4
|
+
* File creation, moving, replacing, etc should be moved to a module that can be included in other classes.
|
5
|
+
* Config, gitignore, rakefile, readme need to be moved to an appropriately named folder inside of the ti directory.
|
6
|
+
* Jasmine needs to be added.
|
7
|
+
* Guard needs to be added
|
8
|
+
* SASS needs to be added.
|
9
|
+
* Need to remove the perl script in the rakefile
|
10
|
+
* Use Thor instead of the choice gem.
|
11
|
+
* Documentation.
|
12
|
+
|
13
|
+
## Versioning
|
14
|
+
|
15
|
+
When doing small upgrades/changes, use patch versioning.
|
16
|
+
Once everything is in this, and it's well tested, we can go to version
|
17
|
+
1.0
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.0.5
|
data/bin/ti
CHANGED
@@ -1,50 +1,20 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
|
3
|
+
require 'ti'
|
4
|
+
options = ::Ti::Options.parse(ARGV)
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
option :name do
|
13
|
-
short '-n'
|
14
|
-
long '--name=demo'
|
15
|
-
desc 'Titanium Project Name'
|
16
|
-
default 'HelloWorld'
|
17
|
-
end
|
18
|
-
|
19
|
-
option :id do
|
20
|
-
short '-i'
|
21
|
-
long '--id=com.codewranglers.demo'
|
22
|
-
desc 'Your Project id'
|
23
|
-
default 'org.company.demo'
|
24
|
-
end
|
25
|
-
|
26
|
-
option :platform do
|
27
|
-
short '-p'
|
28
|
-
long '--platform=iphone'
|
29
|
-
desc 'Project Platform where you want to run your application'
|
30
|
-
default 'iphone'
|
31
|
-
end
|
32
|
-
|
33
|
-
separator ''
|
34
|
-
separator 'Common options:'
|
35
|
-
|
36
|
-
option :help do
|
37
|
-
long '--help'
|
38
|
-
desc 'Show this message'
|
39
|
-
end
|
6
|
+
# Create a new project
|
7
|
+
if options.name
|
8
|
+
puts "Generating a new Ti Project named #{options.name}"
|
9
|
+
Ti::Generate::Project.create(options.name, options.device_id, (options.platform || 'iphone'))
|
10
|
+
end
|
40
11
|
|
41
|
-
option :version do
|
42
|
-
short 'v'
|
43
|
-
long '--version'
|
44
|
-
desc 'Show version'
|
45
|
-
end
|
46
12
|
|
13
|
+
if options.model
|
14
|
+
Ti::Generate::Model.create(options.model)
|
47
15
|
end
|
48
16
|
|
49
|
-
|
50
|
-
|
17
|
+
|
18
|
+
if options.view
|
19
|
+
Ti::Generate::View.create(options.view)
|
20
|
+
end
|
data/lib/ti.rb
CHANGED
@@ -1,108 +1,31 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
2
2
|
|
3
|
+
require 'rubygems'
|
3
4
|
require 'pathname'
|
4
5
|
require 'fileutils'
|
5
6
|
require 'colored'
|
6
7
|
require 'rocco'
|
7
|
-
|
8
|
-
@@ti = Pathname(__FILE__).dirname.expand_path
|
9
|
-
|
8
|
+
require 'ostruct'
|
10
9
|
|
11
10
|
module Ti
|
12
|
-
VERSION
|
11
|
+
VERSION = File.read(File.join(File.dirname(__FILE__), '../VERSION')).chomp
|
12
|
+
ROOT_PATH = Pathname(__FILE__).dirname.expand_path
|
13
|
+
TITANIUM_VERSION = '1.6.0'
|
14
|
+
|
13
15
|
# TODO: Need to support those how have install Titanium in their $HOME dir.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
class Generate
|
18
|
-
class << self
|
19
|
-
attr_accessor :project_name, :devise_platform, :app_id
|
20
|
-
|
21
|
-
|
22
|
-
# Ti::Generate.new_project('demo', 'org.codewranglers.demo', 'ipad')
|
23
|
-
def new_project(name, id, platform='iphone')
|
24
|
-
@project_name = name
|
25
|
-
@devise_platform = platform
|
26
|
-
@app_id = id
|
27
|
-
if `#{generate_titanium_project}`
|
28
|
-
remove_old_files
|
29
|
-
generate_files
|
30
|
-
log "Your Titanium project is ready for you to get rockin!"
|
31
|
-
else
|
32
|
-
error "There was an error generating your Titanium project."
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
def create_new_file(name, contents)
|
38
|
-
log "Creating #{name}"
|
39
|
-
File.open(location.join(name), 'w') { |f| f.write(contents) }
|
40
|
-
end
|
41
|
-
|
42
|
-
def touch(*filenames)
|
43
|
-
filenames.each do |filename|
|
44
|
-
log "Creating #{filename} file."
|
45
|
-
FileUtils.touch(location.join(filename))
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def create_directories(*dirs)
|
50
|
-
dirs.each do |dir|
|
51
|
-
log "Creating the #{dir} directory."
|
52
|
-
FileUtils.mkdir_p(location.join(dir))
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
def remove_directories(*names)
|
58
|
-
names.each do |name|
|
59
|
-
log "Removing #{name} directory."
|
60
|
-
FileUtils.rm_rf(location.join(name))
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def remove_files(*files)
|
65
|
-
files.each do |file|
|
66
|
-
log "Removing #{file} file."
|
67
|
-
FileUtils.rm(location.join(file))
|
68
|
-
end
|
69
|
-
end
|
16
|
+
|
17
|
+
OSX_TITANIUM = "/Library/Application\\ Support/Titanium/mobilesdk/osx/#{::Ti::TITANIUM_VERSION}/titanium.py"
|
18
|
+
LINUX_TITANIUM = "$HOME/.titanium/mobilesdk/linux/#{::Ti::TITANIUM_VERSION}/titanium.py"
|
70
19
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
touch('Readme.mkd')
|
81
|
-
create_new_file("src/app.coffee", '')
|
82
|
-
create_new_file(".gitignore", File.read(@@ti.join('ti/gitignore')))
|
83
|
-
create_new_file("config.rb", File.read(@@ti.join('ti/config')))
|
84
|
-
create_new_file("Rakefile", File.read(@@ti.join('ti/rakefile')))
|
85
|
-
end
|
86
|
-
|
87
|
-
|
88
|
-
def location
|
89
|
-
@location ||= Pathname.new(Dir.pwd).join(@project_name)
|
90
|
-
end
|
91
|
-
|
92
|
-
|
93
|
-
def generate_titanium_project
|
94
|
-
"#{OSX_TITANIUM} create --name=#{@project_name} --platform=#{@devise_platform} --id=#{@app_id}"
|
95
|
-
end
|
96
|
-
|
97
|
-
|
98
|
-
def log(msg)
|
99
|
-
$stdout.puts(msg.green.bold)
|
100
|
-
end
|
101
|
-
|
102
|
-
def error(msg)
|
103
|
-
$stderr.puts(msg.red.bold)
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
20
|
+
autoload :Options, 'ti/options.rb'
|
21
|
+
autoload :ParseOptions, 'ti/parse_options.rb'
|
22
|
+
autoload :Logger, "ti/logger.rb"
|
23
|
+
autoload :Utils, "ti/utils.rb"
|
24
|
+
|
25
|
+
module Generate
|
26
|
+
autoload :Project, "ti/generate/project.rb"
|
27
|
+
autoload :Model, "ti/generate/model.rb"
|
28
|
+
autoload :View, "ti/generate/view.rb"
|
107
29
|
end
|
30
|
+
|
108
31
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Ti
|
2
|
+
module Generate
|
3
|
+
class Model
|
4
|
+
class << self
|
5
|
+
include Utils
|
6
|
+
|
7
|
+
def create(name, options={})
|
8
|
+
create_new_file("app/models/#{name}.coffee")
|
9
|
+
create_new_file("specs/models/#{name}_spec.coffee", File.read(::Ti::ROOT_PATH.join("ti/templates/specs/app_spec.coffee")))
|
10
|
+
end
|
11
|
+
|
12
|
+
def location
|
13
|
+
base_location
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Ti
|
2
|
+
module Generate
|
3
|
+
class Project
|
4
|
+
class << self
|
5
|
+
attr_accessor :project_name, :device_platform, :app_id
|
6
|
+
include Utils
|
7
|
+
|
8
|
+
# Ti::Generate::Project.create('demo', 'org.codewranglers.demo', 'ipad')
|
9
|
+
def create(name, id, platform='iphone')
|
10
|
+
@project_name = name
|
11
|
+
@device_platform = platform
|
12
|
+
@app_id = id
|
13
|
+
if system(generate_titanium_project)
|
14
|
+
create_directories('tmp')
|
15
|
+
copy_defaults
|
16
|
+
remove_old_files
|
17
|
+
generate_files
|
18
|
+
log "Your Titanium project is ready for you to get rockin!"
|
19
|
+
else
|
20
|
+
error "There was an error generating your Titanium project."
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def copy_defaults
|
26
|
+
FileUtils.cp(location.join("Resources/KS_nav_ui.png"), "/tmp/")
|
27
|
+
FileUtils.cp(location.join("Resources/KS_nav_views.png"), "/tmp/")
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
def generate_files
|
32
|
+
create_project_directory
|
33
|
+
touch('Readme.mkd')
|
34
|
+
# touch('specs/spec_helper.coffee') # TODO: Necessary? If so, what is in it?
|
35
|
+
|
36
|
+
create_new_file("app/app.coffee", File.read(::Ti::ROOT_PATH.join('ti/templates/app/app.coffee')))
|
37
|
+
create_new_file(".gitignore", File.read(::Ti::ROOT_PATH.join('ti/templates/gitignore')))
|
38
|
+
create_new_file("config/config.rb", File.read(::Ti::ROOT_PATH.join('ti/templates/config')))
|
39
|
+
create_new_file("Rakefile", File.read(::Ti::ROOT_PATH.join('ti/templates/rakefile')))
|
40
|
+
create_new_file("Readme.mkd", File.read(::Ti::ROOT_PATH.join('ti/templates/readme')))
|
41
|
+
create_new_file("Guardfile", File.read(::Ti::ROOT_PATH.join('ti/templates/guardfile')))
|
42
|
+
create_new_file("specs/app_spec.coffee", File.read(::Ti::ROOT_PATH.join('ti/templates/specs/app_spec.coffee')))
|
43
|
+
|
44
|
+
# load default images
|
45
|
+
FileUtils.cp("/tmp/KS_nav_ui.png", location.join("Resources/images/"))
|
46
|
+
FileUtils.cp("/tmp/KS_nav_views.png", location.join("Resources/images/"))
|
47
|
+
end
|
48
|
+
|
49
|
+
def create_project_directory
|
50
|
+
create_directories('Resources', 'Resources/images', 'Resources/vendor',
|
51
|
+
'config',
|
52
|
+
'docs',
|
53
|
+
'app/models', 'app/views', 'app/stylesheets',
|
54
|
+
'specs/models', 'specs/views')
|
55
|
+
end
|
56
|
+
|
57
|
+
def remove_old_files
|
58
|
+
remove_files('README')
|
59
|
+
remove_directories('Resources')
|
60
|
+
end
|
61
|
+
|
62
|
+
def location
|
63
|
+
base_location.join(@project_name)
|
64
|
+
end
|
65
|
+
|
66
|
+
# TODO: Need to look at what system this is being ran on. If OSX check if titanium was installed in the $HOME dir.
|
67
|
+
def generate_titanium_project
|
68
|
+
"#{::Ti::OSX_TITANIUM} create --name=#{@project_name} --platform=#{@device_platform} --id=#{@app_id}"
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Ti
|
2
|
+
module Generate
|
3
|
+
class View
|
4
|
+
class << self
|
5
|
+
include Utils
|
6
|
+
|
7
|
+
def create(name, options={})
|
8
|
+
create_new_file("app/views/#{name}.coffee")
|
9
|
+
create_new_file("specs/views/#{name}_spec.coffee", File.read(::Ti::ROOT_PATH.join("ti/templates/specs/app_spec.coffee")))
|
10
|
+
end
|
11
|
+
|
12
|
+
def location
|
13
|
+
base_location
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/ti/logger.rb
ADDED
data/lib/ti/options.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
module Ti
|
2
|
+
class Options
|
3
|
+
|
4
|
+
def self.parse(args)
|
5
|
+
options = OpenStruct.new
|
6
|
+
|
7
|
+
ParseOptions.new(args) do |opts|
|
8
|
+
|
9
|
+
opts.value('new') do |name|
|
10
|
+
options.name = name
|
11
|
+
end
|
12
|
+
|
13
|
+
opts.value('-i', '--id') do |id|
|
14
|
+
options.device_id = id
|
15
|
+
end
|
16
|
+
|
17
|
+
opts.value('-p', '--platform') do |platform|
|
18
|
+
options.platform = platform
|
19
|
+
end
|
20
|
+
|
21
|
+
opts.value('generate') do |generate|
|
22
|
+
options.generate = !!generate
|
23
|
+
end
|
24
|
+
|
25
|
+
opts.value('g') do |g|
|
26
|
+
options.generate = !!g
|
27
|
+
end
|
28
|
+
|
29
|
+
opts.value('model') do |model|
|
30
|
+
options.model = model
|
31
|
+
end
|
32
|
+
|
33
|
+
opts.value('view') do |view|
|
34
|
+
options.view = view
|
35
|
+
end
|
36
|
+
|
37
|
+
opts.help('help', '-h') do
|
38
|
+
puts "
|
39
|
+
|
40
|
+
Usage: ti new name
|
41
|
+
|
42
|
+
Ti Options:
|
43
|
+
|
44
|
+
new: The name of the ti project.
|
45
|
+
e.g. ti new cool_iphone_app
|
46
|
+
generate Generate a specific file type:
|
47
|
+
e.g. ti generate model user
|
48
|
+
g Shortcut for generate
|
49
|
+
help View the Help Screen
|
50
|
+
version View the current version of Ti
|
51
|
+
|
52
|
+
"
|
53
|
+
exit(0)
|
54
|
+
end
|
55
|
+
|
56
|
+
opts.version('-v', 'version') do
|
57
|
+
puts "Ti's current version is #{Ti::VERSION}"
|
58
|
+
exit(0)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
options
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
class ParseOptions
|
2
|
+
|
3
|
+
##
|
4
|
+
# Initialize
|
5
|
+
#
|
6
|
+
def initialize(args, &block)
|
7
|
+
@args = args
|
8
|
+
instance_eval(&block) if block_given?
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
##
|
13
|
+
# Help Menu
|
14
|
+
#
|
15
|
+
def help(value, value2='', &block)
|
16
|
+
puts yield(block) if display_message?(value, value2)
|
17
|
+
end
|
18
|
+
alias_method :version, :help
|
19
|
+
|
20
|
+
|
21
|
+
##
|
22
|
+
# Scan for values
|
23
|
+
#
|
24
|
+
def scan_for_value(v1, v2='', &block)
|
25
|
+
found = nil
|
26
|
+
@args.each_with_index do |value, index|
|
27
|
+
next if found
|
28
|
+
found = @args[index + 1] if (v1.to_s == value.to_s || v2.to_s == value.to_s)
|
29
|
+
end
|
30
|
+
yield found
|
31
|
+
end
|
32
|
+
alias_method :value, :scan_for_value
|
33
|
+
|
34
|
+
|
35
|
+
##
|
36
|
+
# Boolean
|
37
|
+
#
|
38
|
+
def boolean(v1, v2='', &block)
|
39
|
+
found = false
|
40
|
+
@args.each do |value|
|
41
|
+
next if found
|
42
|
+
found = true if (v1.to_s == value.to_s || v2.to_s == value.to_s)
|
43
|
+
end
|
44
|
+
block_given? ? yield(found) : found
|
45
|
+
end
|
46
|
+
alias_method :display_message?, :boolean
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# ## This sets the background color of the master UIView (when there are no windows)
|
2
|
+
Titanium.UI.setBackgroundColor('#000')
|
3
|
+
|
4
|
+
# ## Create tab Group
|
5
|
+
tabGroup = Titanium.UI.createTabGroup({ barColor:'#336699' })
|
6
|
+
|
7
|
+
# ## Create base UI tab and root window
|
8
|
+
win1 = Titanium.UI.createWindow
|
9
|
+
title: 'Tab 1'
|
10
|
+
backgroundColor: '#fff'
|
11
|
+
|
12
|
+
tab1 = Titanium.UI.createTab
|
13
|
+
icon: '/images/KS_nav_views.png'
|
14
|
+
title: 'Tab 1'
|
15
|
+
window: win1
|
16
|
+
|
17
|
+
label1 = Titanium.UI.createLabel
|
18
|
+
color: '#999'
|
19
|
+
text: 'I am Window 1'
|
20
|
+
font:
|
21
|
+
fontSize: 20
|
22
|
+
fontFamily: 'Helvetica Neue'
|
23
|
+
textAlign: 'center'
|
24
|
+
width: 'auto'
|
25
|
+
|
26
|
+
win1.add label1
|
27
|
+
|
28
|
+
# ## Create controls tab and root window
|
29
|
+
win2 = Titanium.UI.createWindow
|
30
|
+
title: 'Tab 2'
|
31
|
+
backgroundColor: '#fff'
|
32
|
+
|
33
|
+
tab2 = Titanium.UI.createTab
|
34
|
+
icon: '/images/KS_nav_ui.png'
|
35
|
+
title: 'Tab 2'
|
36
|
+
window: win2
|
37
|
+
|
38
|
+
label2 = Titanium.UI.createLabel
|
39
|
+
color: '#999'
|
40
|
+
text: 'I am Window 2'
|
41
|
+
font:
|
42
|
+
fontSize: 20
|
43
|
+
fontFamily: 'Helvetica Neue'
|
44
|
+
textAlign: 'center'
|
45
|
+
width: 'auto'
|
46
|
+
|
47
|
+
win2.add label2
|
48
|
+
|
49
|
+
# ## Add tabs
|
50
|
+
tabGroup.addTab tab1
|
51
|
+
tabGroup.addTab tab2
|
52
|
+
|
53
|
+
# ## Open tab group
|
54
|
+
tabGroup.open()
|
@@ -13,7 +13,7 @@ module Config
|
|
13
13
|
ANDROID_SDK_VERSION = ""
|
14
14
|
|
15
15
|
TI_SDK_VERSION = "1.6.0"
|
16
|
-
TI_DIR = "/Library/Application
|
16
|
+
TI_DIR = "/Library/Application\\ Support/Titanium"
|
17
17
|
|
18
18
|
TI_ASSETS_DIR = "#{TI_DIR}/mobilesdk/osx/#{TI_SDK_VERSION}"
|
19
19
|
TI_IPHONE_DIR = "#{TI_ASSETS_DIR}/iphone"
|
@@ -22,6 +22,6 @@ module Config
|
|
22
22
|
|
23
23
|
# Application
|
24
24
|
APP_ID = doc.xpath('ti:app/id').text
|
25
|
-
APP_NAME = doc.xpath('ti:app/
|
26
|
-
|
25
|
+
APP_NAME = doc.xpath('ti:app/name').text
|
26
|
+
APP_DEVICE = "iphone"
|
27
27
|
end
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
group 'styles' do
|
2
|
+
guard 'sass', :output => 'Resources', :output_format => 'jss' do
|
3
|
+
watch(%r{^stylesheets/.+\.sass}) { puts 'compiling sass' }
|
4
|
+
watch(%r{^stylesheets/.+\.scss}) { puts 'compiling scss' }
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
group 'coffee' do
|
9
|
+
guard 'shell' do
|
10
|
+
watch(%r{src/(.+\.coffee)}) do
|
11
|
+
puts 'compiling coffeescript'
|
12
|
+
`coffee -p --bare src > Resources/app_name.js`
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'colored'
|
2
3
|
require File.join(File.dirname(__FILE__), 'config.rb')
|
3
4
|
include Config
|
4
5
|
|
@@ -10,17 +11,28 @@ namespace :project do
|
|
10
11
|
puts "#{PROJECT_NAME} at version #{PROJECT_VERSION}."
|
11
12
|
puts " App ID: #{APP_ID}."
|
12
13
|
puts " App Name: #{APP_NAME}."
|
13
|
-
puts " Building for: #{
|
14
|
+
puts " Building for: #{APP_DEVICE}."
|
14
15
|
puts " Using iOS SDK Version #{IPHONE_SDK_VERSION}."
|
15
16
|
puts " Using Android Version #{ANDROID_SDK_VERSION}."
|
16
17
|
puts " Titanium Build Version #{TI_SDK_VERSION}."
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
21
|
+
namespace :compile do
|
22
|
+
desc "Compile all"
|
23
|
+
task :all do
|
24
|
+
compile
|
25
|
+
end
|
20
26
|
|
21
|
-
desc "Compile
|
22
|
-
task :
|
23
|
-
|
27
|
+
desc "Compile coffee"
|
28
|
+
task :coffee do
|
29
|
+
compile_coffee
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Compile sass"
|
33
|
+
task :styles do
|
34
|
+
compile_sass
|
35
|
+
end
|
24
36
|
end
|
25
37
|
|
26
38
|
namespace :build do
|
@@ -31,9 +43,25 @@ namespace :build do
|
|
31
43
|
end
|
32
44
|
|
33
45
|
def compile
|
34
|
-
|
35
|
-
|
36
|
-
|
46
|
+
compile_coffee && compile_sass
|
47
|
+
end
|
48
|
+
|
49
|
+
def compile_sass
|
50
|
+
puts "Compiling stylesheets".blue
|
51
|
+
`sass --compass -C -t expanded stylesheets/app.sass > Resources/app.jss`
|
52
|
+
puts "Done".green
|
53
|
+
end
|
54
|
+
|
55
|
+
def compile_coffee
|
56
|
+
puts "Compiling CoffeeScript".blue
|
57
|
+
paths = [
|
58
|
+
"app/#{APP_NAME}.coffee",
|
59
|
+
"app/models/*.coffee",
|
60
|
+
"app/views/*.coffee"
|
61
|
+
]
|
62
|
+
|
63
|
+
puts "PATHS: #{paths.join(' ')} ".yellow
|
64
|
+
|
37
65
|
`coffee -p --join --bare #{paths.join(' ')} > Resources/#{APP_NAME}.js`
|
38
66
|
`coffee -p --bare src/app.coffee > Resources/app.js`
|
39
67
|
end
|
@@ -41,7 +69,7 @@ end
|
|
41
69
|
def build(options={})
|
42
70
|
compile
|
43
71
|
options[:device] ||= 'iphone'
|
44
|
-
puts "Building with Titanium... (DEVICE_TYPE:#{options[:device]})"
|
72
|
+
puts "Building with Titanium with Ti... (DEVICE_TYPE:#{options[:device]})"
|
45
73
|
FileUtils.mkdir_p "#{PROJECT_ROOT}/#{PROJECT_NAME}/build/iphone/"
|
46
74
|
sh %Q{bash -c "#{TI_BUILD} run #{PROJECT_ROOT}/ #{IPHONE_SDK_VERSION} #{APP_ID} #{APP_NAME} #{APP_DEVICE}" \
|
47
75
|
| perl -pe 's/^\\[DEBUG\\].*$/\\e[35m$&\\e[0m/g;s/^\\[INFO\\].*$/\\e[36m$&\\e[0m/g;s/^\\[WARN\\].*$/\\e[33m$&\\e[0m/g;s/^\\[ERROR\\].*$/\\e[31m$&\\e[0m/g;'}
|
@@ -0,0 +1 @@
|
|
1
|
+
# My Titanium Project - Generated by Ti
|
data/lib/ti/utils.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
module Utils
|
2
|
+
def create_new_file(name, contents='')
|
3
|
+
log "Creating #{name}"
|
4
|
+
File.open(location.join(name), 'w') { |f| f.write(contents) }
|
5
|
+
end
|
6
|
+
|
7
|
+
def touch(*filenames)
|
8
|
+
filenames.each do |filename|
|
9
|
+
log "Creating #{filename} file."
|
10
|
+
FileUtils.touch(location.join(filename))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_directories(*dirs)
|
15
|
+
dirs.each do |dir|
|
16
|
+
log "Creating the #{dir} directory."
|
17
|
+
FileUtils.mkdir_p(location.join(dir))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
def remove_directories(*names)
|
23
|
+
names.each do |name|
|
24
|
+
log "Removing #{name} directory."
|
25
|
+
FileUtils.rm_rf(location.join(name))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def remove_files(*files)
|
30
|
+
files.each do |file|
|
31
|
+
log "Removing #{file} file."
|
32
|
+
FileUtils.rm(location.join(file))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def log(msg)
|
37
|
+
::Ti::Logger.report(msg)
|
38
|
+
end
|
39
|
+
|
40
|
+
def error(msg)
|
41
|
+
::Ti::Logger.error(msg)
|
42
|
+
end
|
43
|
+
|
44
|
+
def base_location
|
45
|
+
@location ||= Pathname.new(Dir.pwd)
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/ti.gemspec
CHANGED
@@ -5,13 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ti}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Robert R Evans"]
|
11
|
+
s.authors = ["Robert R Evans", "Julius Francisco", "Wynn Netherland"]
|
12
12
|
s.date = %q{2011-04-16}
|
13
|
-
s.
|
14
|
-
s.description = %q{Titanium Commandline Helper}
|
13
|
+
s.description = %q{Titanium Project Generator}
|
15
14
|
s.email = %q{robert@codewranglers.org}
|
16
15
|
s.executables = ["ti"]
|
17
16
|
s.extra_rdoc_files = [
|
@@ -26,12 +25,24 @@ Gem::Specification.new do |s|
|
|
26
25
|
"LICENSE.txt",
|
27
26
|
"README.rdoc",
|
28
27
|
"Rakefile",
|
28
|
+
"TODO.mkd",
|
29
29
|
"VERSION",
|
30
30
|
"bin/ti",
|
31
31
|
"lib/ti.rb",
|
32
|
-
"lib/ti/
|
33
|
-
"lib/ti/
|
34
|
-
"lib/ti/
|
32
|
+
"lib/ti/generate/model.rb",
|
33
|
+
"lib/ti/generate/project.rb",
|
34
|
+
"lib/ti/generate/view.rb",
|
35
|
+
"lib/ti/logger.rb",
|
36
|
+
"lib/ti/options.rb",
|
37
|
+
"lib/ti/parse_options.rb",
|
38
|
+
"lib/ti/templates/app/app.coffee",
|
39
|
+
"lib/ti/templates/config",
|
40
|
+
"lib/ti/templates/gitignore",
|
41
|
+
"lib/ti/templates/guardfile",
|
42
|
+
"lib/ti/templates/rakefile",
|
43
|
+
"lib/ti/templates/readme",
|
44
|
+
"lib/ti/templates/specs/app_spec.coffee",
|
45
|
+
"lib/ti/utils.rb",
|
35
46
|
"test/helper.rb",
|
36
47
|
"test/test_ti.rb",
|
37
48
|
"ti.gemspec"
|
@@ -39,7 +50,7 @@ Gem::Specification.new do |s|
|
|
39
50
|
s.homepage = %q{http://github.com/revans/ti}
|
40
51
|
s.licenses = ["MIT"]
|
41
52
|
s.require_paths = ["lib"]
|
42
|
-
s.rubygems_version = %q{1.
|
53
|
+
s.rubygems_version = %q{1.7.2}
|
43
54
|
s.summary = %q{Ti}
|
44
55
|
s.test_files = [
|
45
56
|
"test/helper.rb",
|
@@ -50,45 +61,48 @@ Gem::Specification.new do |s|
|
|
50
61
|
s.specification_version = 3
|
51
62
|
|
52
63
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
53
|
-
s.add_runtime_dependency(%q<
|
54
|
-
s.add_runtime_dependency(%q<guard-
|
55
|
-
s.add_runtime_dependency(%q<guard
|
56
|
-
s.add_runtime_dependency(%q<
|
57
|
-
s.add_runtime_dependency(%q<
|
58
|
-
s.add_runtime_dependency(%q<
|
59
|
-
s.add_runtime_dependency(%q<
|
60
|
-
s.add_runtime_dependency(%q<
|
61
|
-
s.add_runtime_dependency(%q<
|
64
|
+
s.add_runtime_dependency(%q<sass>, ["~> 3.1.1"])
|
65
|
+
s.add_runtime_dependency(%q<guard-sass>, [">= 0"])
|
66
|
+
s.add_runtime_dependency(%q<guard>, ["~> 0.3.4"])
|
67
|
+
s.add_runtime_dependency(%q<guard-coffeescript>, ["~> 0.2.0"])
|
68
|
+
s.add_runtime_dependency(%q<guard-livereload>, ["~> 0.1.10"])
|
69
|
+
s.add_runtime_dependency(%q<jasmine>, ["~> 1.0.2.0"])
|
70
|
+
s.add_runtime_dependency(%q<coffee-script>, ["~> 2.2.0"])
|
71
|
+
s.add_runtime_dependency(%q<colored>, ["~> 1.2"])
|
72
|
+
s.add_runtime_dependency(%q<rocco>, ["~> 0.6"])
|
73
|
+
s.add_runtime_dependency(%q<rake>, ["~> 0.8.7"])
|
62
74
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.10"])
|
63
75
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
64
|
-
s.add_development_dependency(%q<
|
76
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
|
65
77
|
else
|
66
|
-
s.add_dependency(%q<
|
67
|
-
s.add_dependency(%q<guard-
|
68
|
-
s.add_dependency(%q<guard
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<
|
71
|
-
s.add_dependency(%q<
|
72
|
-
s.add_dependency(%q<
|
73
|
-
s.add_dependency(%q<
|
74
|
-
s.add_dependency(%q<
|
78
|
+
s.add_dependency(%q<sass>, ["~> 3.1.1"])
|
79
|
+
s.add_dependency(%q<guard-sass>, [">= 0"])
|
80
|
+
s.add_dependency(%q<guard>, ["~> 0.3.4"])
|
81
|
+
s.add_dependency(%q<guard-coffeescript>, ["~> 0.2.0"])
|
82
|
+
s.add_dependency(%q<guard-livereload>, ["~> 0.1.10"])
|
83
|
+
s.add_dependency(%q<jasmine>, ["~> 1.0.2.0"])
|
84
|
+
s.add_dependency(%q<coffee-script>, ["~> 2.2.0"])
|
85
|
+
s.add_dependency(%q<colored>, ["~> 1.2"])
|
86
|
+
s.add_dependency(%q<rocco>, ["~> 0.6"])
|
87
|
+
s.add_dependency(%q<rake>, ["~> 0.8.7"])
|
75
88
|
s.add_dependency(%q<bundler>, ["~> 1.0.10"])
|
76
89
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
77
|
-
s.add_dependency(%q<
|
90
|
+
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
78
91
|
end
|
79
92
|
else
|
80
|
-
s.add_dependency(%q<
|
81
|
-
s.add_dependency(%q<guard-
|
82
|
-
s.add_dependency(%q<guard
|
83
|
-
s.add_dependency(%q<
|
84
|
-
s.add_dependency(%q<
|
85
|
-
s.add_dependency(%q<
|
86
|
-
s.add_dependency(%q<
|
87
|
-
s.add_dependency(%q<
|
88
|
-
s.add_dependency(%q<
|
93
|
+
s.add_dependency(%q<sass>, ["~> 3.1.1"])
|
94
|
+
s.add_dependency(%q<guard-sass>, [">= 0"])
|
95
|
+
s.add_dependency(%q<guard>, ["~> 0.3.4"])
|
96
|
+
s.add_dependency(%q<guard-coffeescript>, ["~> 0.2.0"])
|
97
|
+
s.add_dependency(%q<guard-livereload>, ["~> 0.1.10"])
|
98
|
+
s.add_dependency(%q<jasmine>, ["~> 1.0.2.0"])
|
99
|
+
s.add_dependency(%q<coffee-script>, ["~> 2.2.0"])
|
100
|
+
s.add_dependency(%q<colored>, ["~> 1.2"])
|
101
|
+
s.add_dependency(%q<rocco>, ["~> 0.6"])
|
102
|
+
s.add_dependency(%q<rake>, ["~> 0.8.7"])
|
89
103
|
s.add_dependency(%q<bundler>, ["~> 1.0.10"])
|
90
104
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
91
|
-
s.add_dependency(%q<
|
105
|
+
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
92
106
|
end
|
93
107
|
end
|
94
108
|
|
metadata
CHANGED
@@ -1,19 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Robert R Evans
|
9
|
+
- Julius Francisco
|
10
|
+
- Wynn Netherland
|
9
11
|
autorequire:
|
10
12
|
bindir: bin
|
11
13
|
cert_chain: []
|
12
14
|
date: 2011-04-16 00:00:00.000000000Z
|
13
15
|
dependencies:
|
14
16
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement: &
|
17
|
+
name: sass
|
18
|
+
requirement: &2152171360 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 3.1.1
|
24
|
+
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: *2152171360
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: guard-sass
|
29
|
+
requirement: &2152170760 !ruby/object:Gem::Requirement
|
17
30
|
none: false
|
18
31
|
requirements:
|
19
32
|
- - ! '>='
|
@@ -21,98 +34,98 @@ dependencies:
|
|
21
34
|
version: '0'
|
22
35
|
type: :runtime
|
23
36
|
prerelease: false
|
24
|
-
version_requirements: *
|
37
|
+
version_requirements: *2152170760
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: guard
|
40
|
+
requirement: &2152166100 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.3.4
|
46
|
+
type: :runtime
|
47
|
+
prerelease: false
|
48
|
+
version_requirements: *2152166100
|
25
49
|
- !ruby/object:Gem::Dependency
|
26
50
|
name: guard-coffeescript
|
27
|
-
requirement: &
|
51
|
+
requirement: &2152165540 !ruby/object:Gem::Requirement
|
28
52
|
none: false
|
29
53
|
requirements:
|
30
|
-
- -
|
54
|
+
- - ~>
|
31
55
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
56
|
+
version: 0.2.0
|
33
57
|
type: :runtime
|
34
58
|
prerelease: false
|
35
|
-
version_requirements: *
|
59
|
+
version_requirements: *2152165540
|
36
60
|
- !ruby/object:Gem::Dependency
|
37
61
|
name: guard-livereload
|
38
|
-
requirement: &
|
62
|
+
requirement: &2152164820 !ruby/object:Gem::Requirement
|
39
63
|
none: false
|
40
64
|
requirements:
|
41
|
-
- -
|
65
|
+
- - ~>
|
42
66
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
67
|
+
version: 0.1.10
|
44
68
|
type: :runtime
|
45
69
|
prerelease: false
|
46
|
-
version_requirements: *
|
70
|
+
version_requirements: *2152164820
|
47
71
|
- !ruby/object:Gem::Dependency
|
48
72
|
name: jasmine
|
49
|
-
requirement: &
|
73
|
+
requirement: &2152163720 !ruby/object:Gem::Requirement
|
50
74
|
none: false
|
51
75
|
requirements:
|
52
|
-
- -
|
76
|
+
- - ~>
|
53
77
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
78
|
+
version: 1.0.2.0
|
55
79
|
type: :runtime
|
56
80
|
prerelease: false
|
57
|
-
version_requirements: *
|
81
|
+
version_requirements: *2152163720
|
58
82
|
- !ruby/object:Gem::Dependency
|
59
83
|
name: coffee-script
|
60
|
-
requirement: &
|
84
|
+
requirement: &2152163080 !ruby/object:Gem::Requirement
|
61
85
|
none: false
|
62
86
|
requirements:
|
63
|
-
- -
|
87
|
+
- - ~>
|
64
88
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
89
|
+
version: 2.2.0
|
66
90
|
type: :runtime
|
67
91
|
prerelease: false
|
68
|
-
version_requirements: *
|
92
|
+
version_requirements: *2152163080
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
94
|
name: colored
|
71
|
-
requirement: &
|
95
|
+
requirement: &2152162520 !ruby/object:Gem::Requirement
|
72
96
|
none: false
|
73
97
|
requirements:
|
74
|
-
- -
|
98
|
+
- - ~>
|
75
99
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
100
|
+
version: '1.2'
|
77
101
|
type: :runtime
|
78
102
|
prerelease: false
|
79
|
-
version_requirements: *
|
103
|
+
version_requirements: *2152162520
|
80
104
|
- !ruby/object:Gem::Dependency
|
81
105
|
name: rocco
|
82
|
-
requirement: &
|
106
|
+
requirement: &2152162000 !ruby/object:Gem::Requirement
|
83
107
|
none: false
|
84
108
|
requirements:
|
85
|
-
- -
|
109
|
+
- - ~>
|
86
110
|
- !ruby/object:Gem::Version
|
87
|
-
version: '0'
|
111
|
+
version: '0.6'
|
88
112
|
type: :runtime
|
89
113
|
prerelease: false
|
90
|
-
version_requirements: *
|
114
|
+
version_requirements: *2152162000
|
91
115
|
- !ruby/object:Gem::Dependency
|
92
116
|
name: rake
|
93
|
-
requirement: &
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- - ! '>='
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '0'
|
99
|
-
type: :runtime
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *2164290740
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: choice
|
104
|
-
requirement: &2164290120 !ruby/object:Gem::Requirement
|
117
|
+
requirement: &2152158600 !ruby/object:Gem::Requirement
|
105
118
|
none: false
|
106
119
|
requirements:
|
107
|
-
- -
|
120
|
+
- - ~>
|
108
121
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
122
|
+
version: 0.8.7
|
110
123
|
type: :runtime
|
111
124
|
prerelease: false
|
112
|
-
version_requirements: *
|
125
|
+
version_requirements: *2152158600
|
113
126
|
- !ruby/object:Gem::Dependency
|
114
127
|
name: bundler
|
115
|
-
requirement: &
|
128
|
+
requirement: &2152158120 !ruby/object:Gem::Requirement
|
116
129
|
none: false
|
117
130
|
requirements:
|
118
131
|
- - ~>
|
@@ -120,10 +133,10 @@ dependencies:
|
|
120
133
|
version: 1.0.10
|
121
134
|
type: :development
|
122
135
|
prerelease: false
|
123
|
-
version_requirements: *
|
136
|
+
version_requirements: *2152158120
|
124
137
|
- !ruby/object:Gem::Dependency
|
125
138
|
name: jeweler
|
126
|
-
requirement: &
|
139
|
+
requirement: &2152157620 !ruby/object:Gem::Requirement
|
127
140
|
none: false
|
128
141
|
requirements:
|
129
142
|
- - ~>
|
@@ -131,19 +144,19 @@ dependencies:
|
|
131
144
|
version: 1.5.2
|
132
145
|
type: :development
|
133
146
|
prerelease: false
|
134
|
-
version_requirements: *
|
147
|
+
version_requirements: *2152157620
|
135
148
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
137
|
-
requirement: &
|
149
|
+
name: rspec
|
150
|
+
requirement: &2152156920 !ruby/object:Gem::Requirement
|
138
151
|
none: false
|
139
152
|
requirements:
|
140
|
-
- -
|
153
|
+
- - ~>
|
141
154
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
155
|
+
version: 2.5.0
|
143
156
|
type: :development
|
144
157
|
prerelease: false
|
145
|
-
version_requirements: *
|
146
|
-
description: Titanium
|
158
|
+
version_requirements: *2152156920
|
159
|
+
description: Titanium Project Generator
|
147
160
|
email: robert@codewranglers.org
|
148
161
|
executables:
|
149
162
|
- ti
|
@@ -159,12 +172,24 @@ files:
|
|
159
172
|
- LICENSE.txt
|
160
173
|
- README.rdoc
|
161
174
|
- Rakefile
|
175
|
+
- TODO.mkd
|
162
176
|
- VERSION
|
163
177
|
- bin/ti
|
164
178
|
- lib/ti.rb
|
165
|
-
- lib/ti/
|
166
|
-
- lib/ti/
|
167
|
-
- lib/ti/
|
179
|
+
- lib/ti/generate/model.rb
|
180
|
+
- lib/ti/generate/project.rb
|
181
|
+
- lib/ti/generate/view.rb
|
182
|
+
- lib/ti/logger.rb
|
183
|
+
- lib/ti/options.rb
|
184
|
+
- lib/ti/parse_options.rb
|
185
|
+
- lib/ti/templates/app/app.coffee
|
186
|
+
- lib/ti/templates/config
|
187
|
+
- lib/ti/templates/gitignore
|
188
|
+
- lib/ti/templates/guardfile
|
189
|
+
- lib/ti/templates/rakefile
|
190
|
+
- lib/ti/templates/readme
|
191
|
+
- lib/ti/templates/specs/app_spec.coffee
|
192
|
+
- lib/ti/utils.rb
|
168
193
|
- test/helper.rb
|
169
194
|
- test/test_ti.rb
|
170
195
|
- ti.gemspec
|
@@ -181,6 +206,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
181
206
|
- - ! '>='
|
182
207
|
- !ruby/object:Gem::Version
|
183
208
|
version: '0'
|
209
|
+
segments:
|
210
|
+
- 0
|
211
|
+
hash: 3838389161754621473
|
184
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
213
|
none: false
|
186
214
|
requirements:
|
@@ -196,4 +224,3 @@ summary: Ti
|
|
196
224
|
test_files:
|
197
225
|
- test/helper.rb
|
198
226
|
- test/test_ti.rb
|
199
|
-
has_rdoc:
|