coronate 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzEwYTQ2MzcyOWFiM2E1NDc0OWE4NjlhM2I3YmNjZDYzNDEyMTZiNA==
4
+ ZThlMDdmZjQ1Mzk5NTRkMzkxZWQ3MjgzN2E1YjUyNGVjNmM2MTY2Ng==
5
5
  data.tar.gz: !binary |-
6
- YTM3NjM5MmY1ZWEwNjlkMTg1MGI1MjVlYzkwNzIwYTMyMTFhNzA0OQ==
6
+ ZjNkMDU5OTQ5MGJlZDNjMDdhODc3YzU5OWE4NjJlMTg5ZmRhOGUwZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWExNzBjNTVlMzM3MjExNjdlM2IxMGI4YmQ1NDQ0ZTcyN2ZjZTcyODQzYTQ2
10
- ZGIxNzZhYmZmNjdlYTY4ZmNlNjQwYjg4NDEzN2U2NjAzZmMxZDVlZDZmMDkw
11
- N2I1NmU2NWFjNzgxNWEzNjc0NzczMmRmNzM4NmExMjQ5ZjJiNDQ=
9
+ MDg3YTIxZTZjYTM4N2M0NzE5MDAwZGIxOWJlY2NkZTIxNmYzNGE0OGE4MTdl
10
+ MDgyYTMxN2FkMWEwYTY4OTU5ZDlmYjM0M2M4NTY0ZWU0MGY4NjlhNzIyYmNi
11
+ MzUyMzMyZmI0M2ExMWE5ZDliMDU4NjgxYTMwMTIwNDgxZmIxMzc=
12
12
  data.tar.gz: !binary |-
13
- MWViMjUxNGQxMjQ2Yjg5Mzg4NGZjOWRkMjczZTE0MWFjMjQwMjQ3YjIzODNh
14
- MDA0MDVmNTA0M2I3ODgxOGQzNzZlYjUzY2RjMDY2ZDE4MWIxOWJjMjg2OGJm
15
- ZmRmN2U4MWZkYTI5ODQ4NGVmNWUzZTE3ZGQ2NTdhMDI1MTdjZTc=
13
+ NWYyN2FkNzljODkwZDUyNGJhMzdmMmI0NTI4NGEyNzM4OGY4NjllOTI5MDYw
14
+ MDNkNWQ2MDI5YTU5OGU1ZGJjOGU1M2QzZWJhMjMyMDZiZTg5OGM0ZGJlYzlk
15
+ Njc0MzhmNTkyNDgyMzdiNjMxOTM4YTVkYjQ0YTEyYjY4YjU3M2M=
@@ -1,27 +1,22 @@
1
1
  module Coronate
2
- module Builder
3
- module AppBuilder
2
+ module Builder
3
+ module AppBuilder
4
+ def build_app
5
+ template 'builder/templates/app/build.settings.tt', "#{@name}/build.settings"
6
+ template 'builder/templates/app/config.lua.tt', "#{@name}/config.lua"
7
+ template 'builder/templates/app/view1.lua.tt', "#{@name}/view1.lua"
8
+ template 'builder/templates/app/view2.lua.tt', "#{@name}/view2.lua"
9
+ template 'builder/templates/app/main.lua.tt', "#{@name}/main.lua"
4
10
 
5
- def build_app(options={})
6
- @name, @width, @height = options[:name], options[:width], options[:height]
7
- @orient = if options[:landscape] then %{ "landscapeLeft", "landscapeRight" } else %{ "portrait", "portraitUpsideDown" } end
8
-
9
- template 'builder/templates/app/build.settings.tt', "#{@name}/build.settings"
10
- template 'builder/templates/app/config.lua.tt', "#{@name}/config.lua"
11
- template 'builder/templates/app/view1.lua.tt', "#{@name}/view1.lua"
12
- template 'builder/templates/app/view2.lua.tt', "#{@name}/view2.lua"
13
- template 'builder/templates/app/main.lua.tt', "#{@name}/main.lua"
14
-
15
- copy_file 'builder/templates/app/icon1-down.png', "#{@name}/icon1-down.png"
16
- copy_file 'builder/templates/app/icon1-down@2x.png', "#{@name}/icon1-down@2x.png"
17
- copy_file 'builder/templates/app/icon2-down.png', "#{@name}/icon2-down.png"
18
- copy_file 'builder/templates/app/icon2-down@2x.png', "#{@name}/icon2-down@2x.png"
19
- copy_file 'builder/templates/app/icon1.png', "#{@name}/icon1.png"
20
- copy_file 'builder/templates/app/icon1@2x.png', "#{@name}/icon1@2x.png"
21
- copy_file 'builder/templates/app/icon2.png', "#{@name}/icon2.png"
22
- copy_file 'builder/templates/app/icon2@2x.png', "#{@name}/icon2@2x.png"
23
- end
24
-
25
- end
26
- end
11
+ copy_file 'builder/templates/app/icon1-down.png', "#{@name}/icon1-down.png"
12
+ copy_file 'builder/templates/app/icon1-down@2x.png', "#{@name}/icon1-down@2x.png"
13
+ copy_file 'builder/templates/app/icon2-down.png', "#{@name}/icon2-down.png"
14
+ copy_file 'builder/templates/app/icon2-down@2x.png', "#{@name}/icon2-down@2x.png"
15
+ copy_file 'builder/templates/app/icon1.png', "#{@name}/icon1.png"
16
+ copy_file 'builder/templates/app/icon1@2x.png', "#{@name}/icon1@2x.png"
17
+ copy_file 'builder/templates/app/icon2.png', "#{@name}/icon2.png"
18
+ copy_file 'builder/templates/app/icon2@2x.png', "#{@name}/icon2@2x.png"
19
+ end
20
+ end
21
+ end
27
22
  end
@@ -1,25 +1,20 @@
1
1
  module Coronate
2
- module Builder
3
- module EbookBuilder
2
+ module Builder
3
+ module EbookBuilder
4
+ def build_ebook
5
+ template 'builder/templates/ebook/build.settings.tt', "#{@name}/build.settings"
6
+ template 'builder/templates/ebook/title.lua.tt', "#{@name}/title.lua"
7
+ template 'builder/templates/ebook/config.lua.tt', "#{@name}/config.lua"
8
+ template 'builder/templates/ebook/main.lua.tt', "#{@name}/main.lua"
9
+ template 'builder/templates/ebook/page1.lua.tt', "#{@name}/page1.lua"
4
10
 
5
- def build_ebook(options={})
6
- @name, @width, @height = options[:name], options[:width], options[:height]
7
- @orient = if options[:landscape] then %{ "landscapeLeft", "landscapeRight" } else %{ "portrait", "portraitUpsideDown" } end
8
-
9
- template 'builder/templates/ebook/build.settings.tt', "#{@name}/build.settings"
10
- template 'builder/templates/ebook/title.lua.tt', "#{@name}/title.lua"
11
- template 'builder/templates/ebook/config.lua.tt', "#{@name}/config.lua"
12
- template 'builder/templates/ebook/main.lua.tt', "#{@name}/main.lua"
13
- template 'builder/templates/ebook/page1.lua.tt', "#{@name}/page1.lua"
14
-
15
- copy_file 'builder/templates/ebook/coronaicon-big.png', "#{@name}/coronaicon-big.png"
16
- copy_file 'builder/templates/ebook/cover.jpg', "#{@name}/cover.jpg"
17
- copy_file 'builder/templates/ebook/moon.png', "#{@name}/moon.png"
18
- copy_file 'builder/templates/ebook/pagebg1.png', "#{@name}/pagebg1.png"
19
- copy_file 'builder/templates/ebook/space.jpg', "#{@name}/space.jpg"
20
- copy_file 'builder/templates/ebook/sun.png', "#{@name}/sun.png"
21
- end
22
-
23
- end
24
- end
11
+ copy_file 'builder/templates/ebook/coronaicon-big.png', "#{@name}/coronaicon-big.png"
12
+ copy_file 'builder/templates/ebook/cover.jpg', "#{@name}/cover.jpg"
13
+ copy_file 'builder/templates/ebook/moon.png', "#{@name}/moon.png"
14
+ copy_file 'builder/templates/ebook/pagebg1.png', "#{@name}/pagebg1.png"
15
+ copy_file 'builder/templates/ebook/space.jpg', "#{@name}/space.jpg"
16
+ copy_file 'builder/templates/ebook/sun.png', "#{@name}/sun.png"
17
+ end
18
+ end
19
+ end
25
20
  end
@@ -1,25 +1,20 @@
1
1
  module Coronate
2
- module Builder
3
- module GameBuilder
2
+ module Builder
3
+ module GameBuilder
4
+ def build_game
5
+ template 'builder/templates/game/build.settings.tt', "#{@name}/build.settings"
6
+ template 'builder/templates/game/config.lua.tt', "#{@name}/config.lua"
7
+ template 'builder/templates/game/main.lua.tt', "#{@name}/main.lua"
8
+ template 'builder/templates/game/menu.lua.tt', "#{@name}/menu.lua"
9
+ template 'builder/templates/game/level1.lua.tt', "#{@name}/level1.lua"
4
10
 
5
- def build_game(options={})
6
- @name, @width, @height = options[:name], options[:width], options[:height]
7
- @orient = if options[:landscape] then %{ "landscapeLeft", "landscapeRight" } else %{ "portrait", "portraitUpsideDown" } end
8
-
9
- template 'builder/templates/game/build.settings.tt', "#{@name}/build.settings"
10
- template 'builder/templates/game/config.lua.tt', "#{@name}/config.lua"
11
- template 'builder/templates/game/main.lua.tt', "#{@name}/main.lua"
12
- template 'builder/templates/game/menu.lua.tt', "#{@name}/menu.lua"
13
- template 'builder/templates/game/level1.lua.tt', "#{@name}/level1.lua"
14
-
15
- copy_file 'builder/templates/game/background.jpg', "#{@name}/background.jpg"
16
- copy_file 'builder/templates/game/button-over.png', "#{@name}/button-over.png"
17
- copy_file 'builder/templates/game/button.png', "#{@name}/button.png"
18
- copy_file 'builder/templates/game/crate.png', "#{@name}/crate.png"
19
- copy_file 'builder/templates/game/grass.png', "#{@name}/grass.png"
20
- copy_file 'builder/templates/game/logo.png', "#{@name}/logo.png"
21
- end
22
-
23
- end
24
- end
11
+ copy_file 'builder/templates/game/background.jpg', "#{@name}/background.jpg"
12
+ copy_file 'builder/templates/game/button-over.png', "#{@name}/button-over.png"
13
+ copy_file 'builder/templates/game/button.png', "#{@name}/button.png"
14
+ copy_file 'builder/templates/game/crate.png', "#{@name}/crate.png"
15
+ copy_file 'builder/templates/game/grass.png', "#{@name}/grass.png"
16
+ copy_file 'builder/templates/game/logo.png', "#{@name}/logo.png"
17
+ end
18
+ end
19
+ end
25
20
  end
@@ -1,21 +1,17 @@
1
1
  module Coronate
2
- module Builder
3
- module ProjectBuilder
4
-
5
- def build_project(options={})
6
- @name, @width, @height = options[:name], options[:width], options[:height]
7
- @orient = if options[:landscape] then %{ "landscapeLeft", "landscapeRight" } else %{ "portrait", "portraitUpsideDown" } end
8
- empty_directory "#{@name}/assets"
9
- template 'builder/templates/project/main.tt', "#{@name}/main.lua"
10
- template 'builder/templates/project/utils.tt', "#{@name}/utils.lua"
11
- template 'builder/templates/project/titleScene.tt', "#{@name}/titleScene.lua"
12
- template 'builder/templates/project/endingScene.tt', "#{@name}/endingScene.lua"
13
- template 'builder/templates/project/settingsScene.tt', "#{@name}/settingsScene.lua"
14
- template 'builder/templates/project/menuScene.tt', "#{@name}/menuScene.lua"
15
- template 'builder/templates/project/config.tt', "#{@name}/config.lua"
16
- template 'builder/templates/project/build.settings.tt', "#{@name}/build.settings"
17
- end
18
-
19
- end
20
- end
2
+ module Builder
3
+ module ProjectBuilder
4
+ def build_project
5
+ empty_directory "#{@name}/assets"
6
+ template 'builder/templates/project/main.tt', "#{@name}/main.lua"
7
+ template 'builder/templates/project/utils.tt', "#{@name}/utils.lua"
8
+ template 'builder/templates/project/titleScene.tt', "#{@name}/titleScene.lua"
9
+ template 'builder/templates/project/endingScene.tt', "#{@name}/endingScene.lua"
10
+ template 'builder/templates/project/settingsScene.tt', "#{@name}/settingsScene.lua"
11
+ template 'builder/templates/project/menuScene.tt', "#{@name}/menuScene.lua"
12
+ template 'builder/templates/project/config.tt', "#{@name}/config.lua"
13
+ template 'builder/templates/project/build.settings.tt', "#{@name}/build.settings"
14
+ end
15
+ end
16
+ end
21
17
  end
@@ -1,13 +1,9 @@
1
1
  module Coronate
2
- module Builder
3
- module SceneBuilder
4
-
5
- def build_scene(options={})
6
- @name, @width, @height = options[:name], options[:width], options[:height]
7
- @orient = if options[:landscape] then %{ "landscapeLeft", "landscapeRight" } else %{ "portrait", "portraitUpsideDown" } end
8
- template 'builder/templates/scene/scene.tt', "#{name}.lua"
9
- end
10
-
11
- end
12
- end
2
+ module Builder
3
+ module SceneBuilder
4
+ def build_scene
5
+ template 'builder/templates/scene/scene.tt', "#{@name}.lua"
6
+ end
7
+ end
8
+ end
13
9
  end
data/lib/coronate/cli.rb CHANGED
@@ -1,75 +1,51 @@
1
- require "thor"
1
+ require 'thor'
2
+ require_relative 'extensions/string_extention'
2
3
 
3
- %w[project app game ebook scene].each { |mb| require_relative "builder/#{mb}_builder" }
4
+ %w[project app game ebook scene].each { |task| require_relative "builder/#{task}_builder" }
4
5
 
5
- class Coronate::CLI < Thor
6
+ class Coronate::CLI < Thor
6
7
  include Thor::Actions
7
- include Coronate::Builder::ProjectBuilder, Coronate::Builder::AppBuilder, Coronate::Builder::GameBuilder, Coronate::Builder::EbookBuilder, Coronate::Builder::SceneBuilder
8
+
9
+ Coronate::Builder.constants.each { |b| include "Coronate::Builder::#{b}".to_class }
10
+
11
+ def initialize(*args)
12
+ super
13
+ method = args[2][:current_command][:name]
14
+ processing(args[0][0] || "#{method}1" , method)
15
+ end
8
16
 
9
17
  def self.source_root
10
- File.dirname(__FILE__)
11
- end
12
-
13
- desc "scene [NAME]", "generate an scene"
14
- def scene(name='scene1')
15
- build_scene({
16
- :name => name,
17
- :width => options[:width],
18
- :height => options[:height],
19
- :landscape => options[:landscape]
20
- })
18
+ File.dirname(__FILE__)
21
19
  end
22
20
 
21
+ class_option :width, :type => :numeric, :default => 320, :required => false, :aliases => "-w", :desc => "width"
22
+ class_option :height, :type => :numeric, :default => 480, :required => false, :aliases => "-h", :desc => "height"
23
+ class_option :landscape, :type => :boolean, :default => false, :required => false, :aliases => "-l", :desc => "landscape or not"
24
+
25
+ desc "scene [NAME]", "generate an scene"
26
+ def scene(name='scene1') end
27
+
23
28
  desc "project [NAME]", "generate a corona project"
24
- method_option :width, :type => :numeric, :default => 320, :required => false, :aliases => "-w", :desc => "width"
25
- method_option :height, :type => :numeric, :default => 480, :required => false, :aliases => "-h", :desc => "height"
26
- method_option :landscape, :type => :boolean, :default => false, :required => false, :aliases => "-l", :desc => "landscape or not"
27
- def project(name='project1')
28
- build_project({
29
- :name => name,
30
- :width => options[:width],
31
- :height => options[:height],
32
- :landscape => options[:landscape]
33
- })
34
- end
29
+ def project(name='project1') end
35
30
 
36
31
  desc "game [NAME]", "generate a corona game project"
37
- method_option :width, :type => :numeric, :default => 320, :required => false, :aliases => "-w", :desc => "width"
38
- method_option :height, :type => :numeric, :default => 480, :required => false, :aliases => "-h", :desc => "height"
39
- method_option :landscape, :type => :boolean, :default => false, :required => false, :aliases => "-l", :desc => "landscape or not"
40
- def game(name='game1')
41
- build_game({
42
- :name => name,
43
- :width => options[:width],
44
- :height => options[:height],
45
- :landscape => options[:landscape]
46
- })
47
- end
32
+ def game(name='game1') end
48
33
 
49
34
  desc "ebook [NAME]", "generate a corona ebook project"
50
- method_option :width, :type => :numeric, :default => 320, :required => false, :aliases => "-w", :desc => "width"
51
- method_option :height, :type => :numeric, :default => 480, :required => false, :aliases => "-h", :desc => "height"
52
- method_option :landscape, :type => :boolean, :default => false, :required => false, :aliases => "-l", :desc => "landscape or not"
53
- def ebook(name='ebook1')
54
- build_ebook({
55
- :name => name,
56
- :width => options[:width],
57
- :height => options[:height],
58
- :landscape => options[:landscape]
59
- })
60
- end
35
+ def ebook(name='ebook1') end
61
36
 
62
37
  desc "app [NAME]", "generate a corona app project"
63
- method_option :width, :type => :numeric, :default => 320, :required => false, :aliases => "-w", :desc => "width"
64
- method_option :height, :type => :numeric, :default => 480, :required => false, :aliases => "-h", :desc => "height"
65
- method_option :landscape, :type => :boolean, :default => false, :required => false, :aliases => "-l", :desc => "landscape or not"
66
- def app(name='app1')
67
- build_app({
68
- :name => name,
69
- :width => options[:width],
70
- :height => options[:height],
71
- :landscape => options[:landscape]
72
- })
73
- end
38
+ def app(name='app1') end
39
+
40
+ private
41
+
42
+ def processing(name,method)
43
+ @name, @width, @height, @orient = name,
44
+ options[:width],
45
+ options[:height],
46
+ options[:landscape] ?
47
+ %{ "landscapeLeft", "landscapeRight" } : %{ "portrait", "portraitUpsideDown" }
48
+ send "build_#{method}"
49
+ end
74
50
 
75
51
  end
@@ -0,0 +1,68 @@
1
+ module Extensions
2
+ module MethodHooker
3
+ def self.included(base)
4
+ base.extend(ClassMethods)
5
+ end
6
+
7
+ def self.extended(base)
8
+ base.extend(ClassMethods)
9
+ end
10
+
11
+ module ClassMethods
12
+ def before_each_method type, &block
13
+ singleton = class << self; self; end
14
+ case type
15
+ when :instance
16
+ this = self
17
+ singleton.instance_eval do
18
+ define_method :method_added do |name|
19
+ last = instance_variable_get(:@__last_methods_added)
20
+ return if last and last.include?(name)
21
+ with = :"#{name}_with_before_each_method"
22
+ without = :"#{name}_without_before_each_method"
23
+ instance_variable_set(:@__last_methods_added, [name, with, without])
24
+ this.class_eval do
25
+ define_method with do |*args, &blk|
26
+ instance_exec(name, args, blk, &block)
27
+ send without, *args, &blk
28
+ end
29
+ alias_method without, name
30
+ alias_method name, with
31
+ end
32
+ instance_variable_set(:@__last_methods_added, nil)
33
+ end
34
+ end
35
+ when :class
36
+ this = self
37
+ singleton.instance_eval do
38
+ define_method :singleton_method_added do |name|
39
+ return if name == :singleton_method_added
40
+ last = instance_variable_get(:@__last_singleton_methods_added)
41
+ return if last and last.include?(name)
42
+ with = :"#{name}_with_before_each_method"
43
+ without = :"#{name}_without_before_each_method"
44
+ instance_variable_set(:@__last_singleton_methods_added, [name, with, without])
45
+ singleton.class_eval do
46
+ define_method with do |*args, &blk|
47
+ instance_exec(name, args, blk, &block)
48
+ send without, *args, &blk
49
+ end
50
+ alias_method without, name
51
+ alias_method name, with
52
+ end
53
+ instance_variable_set(:@__last_singleton_methods_added, nil)
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ def before_class_method &block
60
+ before_each_method :class, &block
61
+ end
62
+
63
+ def before_instance_method &block
64
+ before_each_method :instance, &block
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,7 @@
1
+ class String
2
+ def to_class
3
+ self.split('::').inject(Object) do |mod, class_name|
4
+ mod.const_get(class_name)
5
+ end
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coronate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eiffel Qiu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-06 00:00:00.000000000 Z
11
+ date: 2013-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -140,6 +140,8 @@ files:
140
140
  - lib/coronate/builder/templates/project/utils.tt
141
141
  - lib/coronate/builder/templates/scene/scene.tt
142
142
  - lib/coronate/cli.rb
143
+ - lib/coronate/extensions/method_hooker.rb
144
+ - lib/coronate/extensions/string_extention.rb
143
145
  - LICENSE.txt
144
146
  - README.md
145
147
  - bin/coronate