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 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 = 'MainController'
12
- app.files.unshift(File.join(Gem.bin_path('dynamics', 'dynamics').gsub(File.join('bin', 'dynamics'), ''), 'lib', 'dynamics.rb'))
13
- end
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
+
2
+ class Application < Dynamics::Application
3
+
4
+ def initialize
5
+ super('Navigation')
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Sub1Controller < Dynamics::Controller
3
+
4
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Sub2Controller < Dynamics::Controller
3
+
4
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Sub1View < Dynamics::Window
3
+
4
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Sub2View < Dynamics::Window
3
+
4
+ end
@@ -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
- res_dir = File.join(name, 'resources')
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(res_dir)
16
-
17
- controllers_dir = File.join(app_dir, 'controllers')
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(name, 'Rakefile'), 'w+')
36
- code = render_code(File.join(base_dir, 'Rakefile'))
37
- code.gsub!("app.name = ''", "app.name = '#{name}'")
38
- f.write(code)
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 Controller
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.backgroundColor = UIColor.blueColor
9
- @window.makeKeyAndVisible
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: 17
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
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-21 00:00:00 Z
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/controllers/main_controller.rb
33
- - base/views/main_view.rb
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