dynamics 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/base/Rakefile +31 -3
- data/base/app/application.rb +7 -0
- data/base/app/controllers/sub1_controller.rb +4 -0
- data/base/app/controllers/sub2_controller.rb +4 -0
- data/base/app/views/sub1_view.rb +4 -0
- data/base/app/views/sub2_view.rb +4 -0
- data/base/templates/layouts/_navigation.rb +7 -0
- data/bin/dynamics +57 -17
- data/lib/dynamics.rb +37 -7
- metadata +12 -6
- /data/base/{controllers → app/controllers}/main_controller.rb +0 -0
- /data/base/{views → app/views}/main_view.rb +0 -0
data/base/Rakefile
CHANGED
@@ -6,8 +6,36 @@ require 'motion/project'
|
|
6
6
|
require 'rubygems'
|
7
7
|
require 'bubble-wrap'
|
8
8
|
|
9
|
+
def render_code(name)
|
10
|
+
f = File.open(name)
|
11
|
+
content = f.read
|
12
|
+
f.close
|
13
|
+
content
|
14
|
+
end
|
15
|
+
|
9
16
|
Motion::Project::App.setup do |app|
|
10
17
|
app.name = ''
|
11
|
-
app.delegate_class = '
|
12
|
-
|
13
|
-
|
18
|
+
app.delegate_class = ''
|
19
|
+
|
20
|
+
# Copy gem library to tmp location
|
21
|
+
tmp_dir = File.join(File.dirname(__FILE__), 'tmp')
|
22
|
+
f = File.new(File.join(tmp_dir, 'dynamics.rb'), 'w+')
|
23
|
+
f.write(render_code(File.join(Gem.bin_path('dynamics', 'dynamics').gsub(File.join('bin', 'dynamics'), ''), 'lib', 'dynamics.rb')))
|
24
|
+
f.close
|
25
|
+
|
26
|
+
# Parse layouts
|
27
|
+
layouts_dir = File.join(File.dirname(__FILE__), 'templates', 'layouts')
|
28
|
+
lib_code = render_code(File.join(tmp_dir, 'dynamics.rb'))
|
29
|
+
new_code = lib_code
|
30
|
+
lib_code.scan(/# \@layouts\/[a-z_]+\@/) do |layout|
|
31
|
+
layout_file = '_' + layout.split('/')[1].chomp('@') + '.rb'
|
32
|
+
layout_code = render_code(File.join(layouts_dir, layout_file))
|
33
|
+
new_code = new_code.gsub(layout, layout_code)
|
34
|
+
end
|
35
|
+
f = File.open(File.join(tmp_dir, 'dynamics.rb'), 'w+')
|
36
|
+
f.write(new_code)
|
37
|
+
f.close
|
38
|
+
|
39
|
+
app.files.unshift(File.join(tmp_dir, 'dynamics.rb'))
|
40
|
+
end
|
41
|
+
|
@@ -0,0 +1,7 @@
|
|
1
|
+
controller = MainController.alloc.initWithNibName(nil, bundle: nil)
|
2
|
+
controller.navigationItem.rightBarButtonItem = UIBarButtonItem.alloc.initWithTitle("Next", style: UIBarButtonItemStyleBordered, target:controller, action:'on_next')
|
3
|
+
sub1_controller = Sub1Controller.alloc.initWithNibName(nil, bundle: nil)
|
4
|
+
sub1_controller.navigationItem.rightBarButtonItem = UIBarButtonItem.alloc.initWithTitle("Next", style: UIBarButtonItemStyleBordered, target:sub1_controller, action:'on_next')
|
5
|
+
controller.next_controller = sub1_controller
|
6
|
+
sub2_controller = Sub2Controller.alloc.initWithNibName(nil, bundle: nil)
|
7
|
+
sub1_controller.next_controller = sub2_controller
|
data/bin/dynamics
CHANGED
@@ -6,36 +6,76 @@ def create_scaffold(name)
|
|
6
6
|
else
|
7
7
|
Dir.mkdir(name)
|
8
8
|
|
9
|
+
# Base
|
10
|
+
|
9
11
|
app_dir = File.join(name, 'app')
|
10
12
|
build_dir = File.join(name, 'build')
|
11
|
-
|
12
|
-
|
13
|
+
resources_dir = File.join(name, 'resources')
|
14
|
+
templates_dir = File.join(name, 'templates')
|
15
|
+
tmp_dir = File.join(name, 'tmp')
|
16
|
+
|
13
17
|
Dir.mkdir(app_dir)
|
14
18
|
Dir.mkdir(build_dir)
|
15
|
-
Dir.mkdir(
|
16
|
-
|
17
|
-
|
18
|
-
models_dir = File.join(app_dir, 'models')
|
19
|
-
views_dir = File.join(app_dir, 'views')
|
20
|
-
|
21
|
-
Dir.mkdir(controllers_dir)
|
22
|
-
Dir.mkdir(models_dir)
|
23
|
-
Dir.mkdir(views_dir)
|
19
|
+
Dir.mkdir(resources_dir)
|
20
|
+
Dir.mkdir(templates_dir)
|
21
|
+
Dir.mkdir(tmp_dir)
|
24
22
|
|
25
23
|
base_dir = File.join(File.dirname(__FILE__), '..', 'base')
|
26
24
|
|
25
|
+
f = File.new(File.join(name, 'Rakefile'), 'w+')
|
26
|
+
code = render_code(File.join(base_dir, 'Rakefile'))
|
27
|
+
code.gsub!("app.name = ''", "app.name = '#{name}'")
|
28
|
+
code.gsub!("app.delegate_class = ''", "app.delegate_class = '#{name}'")
|
29
|
+
f.write(code)
|
30
|
+
f.close
|
31
|
+
|
32
|
+
f = File.new(File.join(app_dir, 'application.rb'), 'w+')
|
33
|
+
code = render_code(File.join(base_dir, 'app', 'application.rb'))
|
34
|
+
code.gsub!("class Application", "class #{name}")
|
35
|
+
f.write(code)
|
36
|
+
f.close
|
37
|
+
|
38
|
+
# Controllers
|
39
|
+
|
40
|
+
controllers_dir = File.join(app_dir, 'controllers')
|
41
|
+
Dir.mkdir(controllers_dir)
|
42
|
+
|
27
43
|
f = File.new(File.join(controllers_dir, 'main_controller.rb'), 'w+')
|
28
|
-
f.write(render_code(File.join(base_dir, 'controllers', 'main_controller.rb')))
|
44
|
+
f.write(render_code(File.join(base_dir, 'app', 'controllers', 'main_controller.rb')))
|
29
45
|
f.close
|
30
46
|
|
47
|
+
f = File.new(File.join(controllers_dir, 'sub1_controller.rb'), 'w+')
|
48
|
+
f.write(render_code(File.join(base_dir, 'app', 'controllers', 'sub1_controller.rb')))
|
49
|
+
f.close
|
50
|
+
|
51
|
+
f = File.new(File.join(controllers_dir, 'sub2_controller.rb'), 'w+')
|
52
|
+
f.write(render_code(File.join(base_dir, 'app', 'controllers', 'sub2_controller.rb')))
|
53
|
+
f.close
|
54
|
+
|
55
|
+
# Views
|
56
|
+
|
57
|
+
views_dir = File.join(app_dir, 'views')
|
58
|
+
Dir.mkdir(views_dir)
|
59
|
+
|
31
60
|
f = File.new(File.join(views_dir, 'main_view.rb'), 'w+')
|
32
|
-
f.write(render_code(File.join(base_dir, 'views', 'main_view.rb')))
|
61
|
+
f.write(render_code(File.join(base_dir, 'app', 'views', 'main_view.rb')))
|
33
62
|
f.close
|
34
63
|
|
35
|
-
f = File.new(File.join(
|
36
|
-
|
37
|
-
|
38
|
-
|
64
|
+
f = File.new(File.join(views_dir, 'sub1_view.rb'), 'w+')
|
65
|
+
f.write(render_code(File.join(base_dir, 'app', 'views', 'sub1_view.rb')))
|
66
|
+
f.close
|
67
|
+
|
68
|
+
f = File.new(File.join(views_dir, 'sub2_view.rb'), 'w+')
|
69
|
+
f.write(render_code(File.join(base_dir, 'app', 'views', 'sub2_view.rb')))
|
70
|
+
f.close
|
71
|
+
|
72
|
+
# Layouts
|
73
|
+
|
74
|
+
layouts_dir = File.join(templates_dir, 'layouts')
|
75
|
+
Dir.mkdir(layouts_dir)
|
76
|
+
|
77
|
+
f = File.new(File.join(templates_dir, 'layouts', '_navigation.rb'), 'w+')
|
78
|
+
f.write(render_code(File.join(base_dir, 'templates', 'layouts', '_navigation.rb')))
|
39
79
|
f.close
|
40
80
|
end
|
41
81
|
end
|
data/lib/dynamics.rb
CHANGED
@@ -1,20 +1,50 @@
|
|
1
1
|
|
2
2
|
module Dynamics
|
3
|
-
|
4
|
-
class
|
3
|
+
|
4
|
+
class Application
|
5
|
+
def initialize(layout)
|
6
|
+
@layout = layout
|
7
|
+
end
|
5
8
|
|
6
9
|
def application(application, didFinishLaunchingWithOptions:launchOptions)
|
7
10
|
@window = MainView.alloc.initWithFrame(UIScreen.mainScreen.bounds)
|
8
|
-
@window.
|
9
|
-
@
|
11
|
+
@window.makeKeyAndVisible
|
12
|
+
if @layout == 'Navigation'
|
13
|
+
# @layouts/navigation@
|
14
|
+
|
15
|
+
@window.rootViewController = UINavigationController.alloc.initWithRootViewController(controller)
|
16
|
+
elsif @layout == 'Tab Bar'
|
17
|
+
controller = MainController.alloc.initWithNibName(nil, bundle: nil)
|
18
|
+
nav_controller = UINavigationController.alloc.initWithRootViewController(controller)
|
19
|
+
|
20
|
+
tab_controller = UITabBarController.alloc.initWithNibName(nil, bundle: nil)
|
21
|
+
tab_controller.viewControllers = [nav_controller]
|
22
|
+
|
23
|
+
@window.rootViewController = tab_controller
|
24
|
+
else
|
25
|
+
@window.rootViewController = MainController.alloc.initWithNibName(nil, bundle: nil)
|
26
|
+
end
|
10
27
|
true
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Controller < UIViewController
|
32
|
+
attr_accessor :next_controller
|
33
|
+
|
34
|
+
def on_next
|
35
|
+
self.navigationController.pushViewController(@next_controller, animated: true)
|
11
36
|
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def viewDidLoad
|
41
|
+
super
|
12
42
|
|
43
|
+
self.title = App.name
|
44
|
+
self.view.backgroundColor = UIColor.whiteColor
|
45
|
+
end
|
13
46
|
end
|
14
47
|
|
15
|
-
class View < UIView
|
16
|
-
end
|
17
|
-
|
18
48
|
class Window < UIWindow
|
19
49
|
end
|
20
50
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 8
|
10
|
+
version: 0.0.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ng Say Joe
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-07-
|
18
|
+
date: 2012-07-22 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: A framework for developing RubyMotion applications quickly.
|
@@ -29,8 +29,14 @@ extra_rdoc_files: []
|
|
29
29
|
files:
|
30
30
|
- lib/dynamics.rb
|
31
31
|
- base/Rakefile
|
32
|
-
- base/
|
33
|
-
- base/
|
32
|
+
- base/app/application.rb
|
33
|
+
- base/app/controllers/main_controller.rb
|
34
|
+
- base/app/controllers/sub1_controller.rb
|
35
|
+
- base/app/controllers/sub2_controller.rb
|
36
|
+
- base/app/views/main_view.rb
|
37
|
+
- base/app/views/sub1_view.rb
|
38
|
+
- base/app/views/sub2_view.rb
|
39
|
+
- base/templates/layouts/_navigation.rb
|
34
40
|
- bin/dynamics
|
35
41
|
homepage: http://www.dynamics.io/
|
36
42
|
licenses: []
|
File without changes
|
File without changes
|