fluby 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.mdown CHANGED
@@ -37,98 +37,3 @@ There are other rake tasks available:
37
37
  rake package # Creates a ZIP file containing your SWF file on the 'pkg' folder
38
38
  rake test # Opens a HTML file with your SWF for testing on your default browser (available on Mac only)
39
39
 
40
-
41
- ### script/generate
42
-
43
- Starting from version 0.6, fluby installs a 'generate' script in the 'scripts' folder that you can use to speed up the creation of new classes.
44
-
45
- Right now there are 3 template types:
46
-
47
- #### **class**
48
-
49
- Use it to create a generic class by running:
50
-
51
- script/generate class your.class.path.ClassName attribute:Type attribute:Type (...)
52
-
53
- For example: if you want to create a "Car" class with attributes "make" and "model" of type String and an attribute "year" of type Number, you'd run:
54
-
55
- script/generate class com.yourdomain.Car make:String model:String year:Number
56
-
57
- This will create a file in com/yourdomain/Car.as with this content:
58
-
59
- class com.yourdomain.Car {
60
- var make:String;
61
- var model:String;
62
- var year:Number;
63
- function Car(){
64
- // Init class
65
- }
66
- }
67
-
68
-
69
- #### **xml_loader**
70
-
71
- Use to create a simple XML loader class by running:
72
-
73
- script/generate xml_loader your.class.path.ClassName
74
-
75
- Example: if you run
76
-
77
- script/generate xml_loader com.bomberstudios.xml.Loader
78
-
79
- you'll get a com/bomberstudios/xml/Loader.as file containing:
80
-
81
- class com.bomberstudios.xml.Loader {
82
- var _path:String;
83
- var raw_data:XML;
84
- function Loader(path:String,callback:Function){
85
- _path = path;
86
- raw_data = new XML();
87
- raw_data.ignoreWhite = true;
88
- raw_data.onLoad = callback;
89
- }
90
- function give_me(node_name){
91
- if (raw_data.firstChild.nodeName == node_name) {
92
- return raw_data.firstChild;
93
- }
94
- for(var i=raw_data.firstChild.childNodes.length; i>=0; i--){
95
- if(raw_data.firstChild.childNodes[i].nodeName == node_name){
96
- return raw_data.firstChild.childNodes[i];
97
- }
98
- }
99
- }
100
- public function load(){
101
- raw_data.load(_path);
102
- }
103
- }
104
-
105
-
106
- #### **delegate**
107
-
108
- To generate a MTASC-compatible Delegate class, run
109
-
110
- script/generate delegate your.class.path.Delegate
111
-
112
- This will produce a your/class/path/Delegate.as file containing:
113
-
114
- /**
115
- *
116
- * Delegate Class, MTASC compatible
117
- *
118
- **/
119
- class your.class.path.Delegate {
120
- public static function create(scope:Object,method:Function):Function{
121
- var params:Array = arguments.splice(2,arguments.length-2);
122
- var proxyFunc:Function = function():Void{
123
- method.apply(scope,arguments.concat(params));
124
- }
125
- return proxyFunc;
126
- }
127
- public static function createR(scope:Object,method:Function):Function{
128
- var params:Array = arguments.splice(2,arguments.length-2);
129
- var proxyFunc:Function = function():Void{
130
- method.apply(scope,params.concat(arguments));
131
- }
132
- return proxyFunc;
133
- }
134
- }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.0
1
+ 0.7.1
data/bin/fluby CHANGED
@@ -3,13 +3,23 @@
3
3
  # Handcrafted with love by bomberstudios & mamuso
4
4
  # 2008-03-16
5
5
 
6
+ actions = ['build','release','create','generate']
7
+
6
8
  require File.dirname(__FILE__) + '/../lib/fluby.rb'
7
9
 
8
- # Display help
9
- if ARGV[0].nil?
10
- puts "Fluby v#{Fluby::VERSION}"
10
+ case ARGV.size
11
+ when 0
12
+ puts "Fluby v#{Fluby.version}"
11
13
  puts "Usage: fluby project_name"
12
14
  exit
13
- end
14
-
15
- Fluby.create_project(ARGV[0])
15
+ when 1
16
+ action = ARGV[0]
17
+ if actions.include? action
18
+ Fluby.send(action)
19
+ else
20
+ Fluby.create_project(ARGV[0])
21
+ end
22
+ else
23
+ action = ARGV[0]
24
+ Fluby.send(action,ARGV[1..ARGV.size-1])
25
+ end
data/lib/fluby.rb CHANGED
@@ -1,10 +1,11 @@
1
+ require "rubygems"
1
2
  require "erb"
3
+ require "yaml"
4
+ # require "rake"
2
5
  require "fileutils"
3
6
 
4
7
  module Fluby
5
8
  NAME = 'fluby'
6
- VERSION = %x(cat VERSION)
7
-
8
9
  COLORS = {
9
10
  :black => "\033[0;30m",
10
11
  :red => "\033[0;31m",
@@ -16,63 +17,66 @@ module Fluby
16
17
  :white => "\033[0;37m",
17
18
  :whitebold => "\033[1;37m"
18
19
  }
19
- PATH = File.expand_path(__FILE__)
20
20
 
21
- def self.create_project(name)
22
- require "fileutils"
23
- require "erb"
21
+ def self.version
22
+ %x(cat #{gem_path}/VERSION)
23
+ end
24
+ def self.gem_path
25
+ File.dirname(__FILE__) + "/../"
26
+ end
27
+ def self.template_path
28
+ gem_path + "/lib/templates"
29
+ end
30
+ def self.current_path
31
+ Dir.pwd
32
+ end
33
+ def self.is_a_project?
34
+ File.exist?("#{current_path}/index.rhtml")
35
+ end
24
36
 
37
+ # Project creation
38
+ def self.create_project(name)
25
39
  # TODO: Support project creation in subfolders (i.e: fluby test/project)
26
40
  @project_name = name
27
- @project_folder = FileUtils.pwd + "/" + @project_name
41
+ @project_folder = FileUtils.pwd + "/" + name
28
42
 
29
- puts "\n#{COLORS[:green]}Creating project #{@project_name}"
43
+ puts "\n#{COLORS[:green]}Creating project #{name}"
30
44
 
31
45
  # Make folders
32
46
  if File.exist? @project_folder
33
- puts "#{COLORS[:red]}Folder #{@project_name} already exists,"
47
+ puts "#{COLORS[:red]}Folder #{name} already exists,"
34
48
  puts "#{COLORS[:red]}please choose a different name for your project"
35
49
  raise RuntimeError
36
50
  end
37
51
  FileUtils.mkdir [@project_folder,"#{@project_folder}/deploy","#{@project_folder}/assets","#{@project_folder}/script"], :verbose => false
38
52
 
39
53
  # Make files
40
- ["Rakefile","README"].each do |file|
41
- render_template file
54
+ ["Rakefile","README","config.yml"].each do |file|
55
+ render_template "#{template_path}/#{file}", "#{@project_folder}/#{file}"
42
56
  end
43
57
 
44
58
  # Static Templates
45
- copy_template "index.rhtml"
46
- copy_template "project.rxml", "#{@project_name}.rxml"
47
- copy_template "swfobject.js", "assets/swfobject.js"
59
+ copy_template "#{template_path}/index.rhtml", "#{@project_folder}/index.rhtml"
60
+ copy_template "#{template_path}/project.rxml", "#{@project_folder}/#{name}.rxml"
61
+ copy_template "#{template_path}/swfobject.js", "#{@project_folder}/assets/swfobject.js"
48
62
 
49
63
  # Main Class
50
- render_template "ASClass.as", "#{@project_name}.as"
51
-
52
- # script/generate
53
- render_template "generate", "script/generate"
54
- %x(chmod 755 "#{@project_folder}/script/generate")
64
+ render_template "#{template_path}/ASClass.as", "#{@project_folder}/#{name}.as"
55
65
 
56
66
  end
57
-
58
- def self.copy_template source, destination=nil
59
- if destination.nil?
60
- destination = source
61
- end
62
- FileUtils.cp "#{File.dirname(__FILE__)}/templates/#{source}", "#{@project_folder}/#{destination}", :verbose => false
63
- log "create", "#{@project_name}/#{destination}"
67
+ def self.copy_template source, destination
68
+ FileUtils.cp source, destination, :verbose => false
69
+ log "create", destination
64
70
  end
65
-
66
71
  def self.render_template source, destination=nil
67
72
  if destination.nil?
68
73
  destination = source
69
74
  end
70
- open("#{@project_folder}/#{destination}","w") do |f|
71
- f << ERB.new(IO.read("#{File.dirname(__FILE__)}/templates/#{source}")).result(binding)
75
+ open(destination,"w") do |f|
76
+ f << ERB.new(IO.read(source)).result(binding)
72
77
  end
73
- log "create", "#{@project_name}/#{destination}"
78
+ log "create", destination
74
79
  end
75
-
76
80
  def self.log type, string
77
81
  case type
78
82
  when "alert"
@@ -81,7 +85,6 @@ module Fluby
81
85
  puts "\t#{COLORS[:white]}Created:\t#{COLORS[:cyan]}#{string}#{COLORS[:white]}"
82
86
  end
83
87
  end
84
-
85
88
  def self.in_textmate?
86
89
  begin
87
90
  if TextMate
@@ -91,41 +94,138 @@ module Fluby
91
94
  return false
92
95
  end
93
96
  end
94
-
95
97
  def self.is_mac?
96
98
  return RUBY_PLATFORM =~ /darwin/
97
99
  end
98
-
99
100
  def self.has_growl?
100
101
  return is_mac? && !`which "growlnotify"`.empty?
101
102
  end
103
+ def self.create *args
104
+ create_project(*args[0])
105
+ end
106
+
107
+ # Utils
108
+ def self.setup_debug
109
+ debug_cfg_file = "/Library/Application\ Support/Macromedia/mm.cfg"
110
+ system("touch '#{debug_cfg_file}'")
111
+ File.open(debug_cfg_file,"w") do |f|
112
+ f << <<-EOF
113
+ ErrorReportingEnable=1
114
+ TraceOutputFileEnable=1
115
+ EOF
116
+
117
+ end unless File.exist?(debug_cfg_file)
118
+ %x(touch "$HOME/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt")
119
+ end
102
120
 
103
121
  # these functions are used by script/generate
104
- def self.generate(type, name, options={})
105
- target_path = File.dirname(name.split(".").join("/").to_s)
106
- target_file = name.split(".").join("/") + ".as".to_s
107
- if File.exist?(target_file)
108
- log "alert", "File #{target_file} already exists!"
109
- raise RuntimeError
122
+ # def self.generate(type, name, options={})
123
+ # target_path = File.dirname(name.split(".").join("/").to_s)
124
+ # target_file = name.split(".").join("/") + ".as".to_s
125
+ # if File.exist?(target_file)
126
+ # log "alert", "File #{target_file} already exists!"
127
+ # raise RuntimeError
128
+ # end
129
+ # FileUtils.mkdir_p target_path unless File.exist? target_path
130
+ # @classpath = target_path.split("/").join(".")
131
+ # @classname = name.split(".").last
132
+ # options = options.map { |i| i = i.split(":") } unless options == {}
133
+ # @opts = options
134
+ # File.open(target_file,"w") do |file|
135
+ # file << ERB.new(File.read("#{template_path}/generators/#{type}")).result(binding)
136
+ # end
137
+ # log "create", "#{target_path}/#{@classname}.as"
138
+ # end
139
+
140
+ def self.available_templates
141
+ return Dir["#{template_path}/generators/**"]
142
+ end
143
+
144
+ # Terminal
145
+ def self.alert txt
146
+ puts "\n\t#{COLORS[:red]}#{txt}#{COLORS[:white]}"
147
+ end
148
+ def self.say txt
149
+ puts "\n\t#{COLORS[:green]}#{txt}#{COLORS[:white]}"
150
+ end
151
+ def self.txt txt=""
152
+ puts "\t#{COLORS[:white]}#{txt}#{COLORS[:white]}"
153
+ end
154
+
155
+ # Project data
156
+ def self.project_name
157
+ options["app"]
158
+ end
159
+ def self.project_fullname
160
+ "#{project_name} v#{options['version']}"
161
+ end
162
+ def self.options
163
+ YAML.load_file('config.yml')
164
+ end
165
+
166
+ # Compilation
167
+ def self.build *args
168
+ if is_a_project?
169
+ say "Building #{project_fullname}"
170
+ assets
171
+ preprocess
172
+ compile
173
+ notify if has_growl?
174
+ else
175
+ alert "This is not a fluby project!"
110
176
  end
111
- FileUtils.mkdir_p target_path unless File.exist? target_path
112
- @classpath = target_path.split("/").join(".")
113
- @classname = name.split(".").last
114
- options = options.map { |i| i = i.split(":") } unless options == {}
115
- @opts = options
116
- File.open(target_file,"w") do |file|
117
- file << ERB.new(File.read("#{template_path}/generators/#{type}")).result(binding)
177
+ end
178
+ def self.release *args
179
+ @nodebug = true
180
+ build
181
+ @nodebug = false
182
+ end
183
+ def self.notify
184
+ %x(growlnotify --name Rake -m 'Finished building #{project_name} in #{@end - @start} seconds')
185
+ end
186
+ def self.assets
187
+ Dir.glob(['assets/*.js','assets/*.xml']).each do |file|
188
+ FileUtils.cp file, "deploy/#{File.basename(file)}"
118
189
  end
119
- log "create", "#{target_path}/#{@classname}.as"
120
190
  end
191
+ def self.compile
192
+ if @nodebug
193
+ txt "Trace disabled"
194
+ trace = " -trace no"
195
+ else
196
+ txt "Trace enabled"
197
+ trace = ""
198
+ end
199
+
200
+ txt
201
+
202
+ @start = Time.now
203
+
204
+ render_template "index.rhtml", "index.html"
205
+ render_template "#{project_name}.rxml", "#{project_name}.xml"
206
+
207
+ txt
208
+
209
+ system("swfmill simple #{project_name}.xml #{project_name}.swf")
210
+ txt "√ swfmill"
211
+ FileUtils.rm "#{project_name}.xml", {:verbose => false}
121
212
 
122
- def self.path
123
- File.dirname(PATH)
213
+ system("mtasc -swf #{project_name}.swf -main -mx -version #{options["player"]} #{trace} #{project_name}.as")
214
+ txt "√ mtasc"
215
+ @end = Time.now
216
+
217
+ ["*.html","*.swf"].each do |list|
218
+ Dir[list].each do |file|
219
+ FileUtils.mv file, "deploy/#{file}", {:verbose => false}
220
+ end
221
+ end
222
+ say "Project compiled in #{@end - @start} seconds"
124
223
  end
125
- def self.template_path
126
- path + "/templates"
224
+ def self.preprocess
225
+
127
226
  end
128
- def self.available_templates
129
- return Dir["#{template_path}/generators/**"].map { |i| i = File.basename(i) }
227
+
228
+ def self.method_missing name
229
+ options[name.to_s]
130
230
  end
131
231
  end
data/lib/templates/README CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  <%= @project_name %>
3
2
  <%= "="*@project_name.length %>
4
3
 
@@ -1,79 +1,12 @@
1
- require "erb"
1
+ require "fluby"
2
2
  require 'rake/packagetask'
3
3
 
4
- WIDTH = 725
5
- HEIGHT = 480
6
- FPS = 31
7
- PLAYER = 8
8
- BGCOLOR = "#ffffff"
9
- APP = "<%= @project_name %>"
10
-
11
- def render_template(file)
12
- filename = File.basename(file).split(".")[0]
13
- case File.basename(file).split(".")[1]
14
- when "rhtml"
15
- extension = "html"
16
- when "rxml"
17
- extension = "xml"
18
- end
19
- to_file = filename + "." + extension
20
- puts "Rendering #{file}"
21
- open(to_file,"w") do |f|
22
- f << ERB.new(IO.read(file)).result
23
- end
24
- end
25
-
26
- task :assets do
27
- Dir.glob(['assets/*.js','assets/*.xml']).each do |file|
28
- cp file, "deploy/#{File.basename(file)}", :verbose => true
29
- end
30
- end
31
-
32
- task :compile => [:assets] do
33
- if @nodebug
34
- puts "Trace disabled"
35
- trace = " -trace no"
36
- else
37
- trace = ""
38
- end
39
- @start = Time.now
40
- ["*.rhtml","*.rxml"].each do |list|
41
- Dir[list].each do |tpl|
42
- render_template(tpl)
43
- end
44
- end
45
- puts %x(swfmill simple #{APP}.xml #{APP}.swf)
46
- rm "#{APP}.xml", {:verbose => false}
47
- puts %x(mtasc -swf #{APP}.swf -main -mx -version #{PLAYER} #{trace} #{APP}.as)
48
- @end = Time.now
49
-
50
- ["*.html","*.swf"].each do |list|
51
- Dir[list].each do |file|
52
- mv file, "deploy/#{file}", {:verbose => false}
53
- end
54
- end
55
- end
56
-
57
- Rake::PackageTask.new(APP, :noversion) do |p|
4
+ Rake::PackageTask.new("<%= @project_name %>", :noversion) do |p|
58
5
  p.need_zip = true
59
- p.name = Time.now.strftime("%Y%m%d") + "-" + APP
6
+ p.name = Time.now.strftime("%Y%m%d") + "-" + "<%= @project_name %>"
60
7
  p.package_files.include("README",Dir["deploy/*"])
61
8
  end
62
9
 
63
- <% if Fluby.has_growl? %>
64
- task :notify do
65
- msg = "Finished compiling in #{@end - @start}s."
66
- if @nodebug
67
- msg += "\ntrace() disabled"
68
- end
69
- %x(growlnotify --name Rake -m '#{msg}' 'Rake')
70
- end
71
- <% end %>
72
-
73
- task :nodebug do
74
- @nodebug = true
75
- end
76
-
77
10
  task :monitor do
78
11
  command = "rake"
79
12
  files = {}
@@ -96,32 +29,19 @@ task :monitor do
96
29
  end
97
30
  end
98
31
 
99
- <% if Fluby.is_mac? %>
100
- desc "Test the SWF file in your default browser"
101
- task :test => [:compile] do
32
+ task :test => [:build] do
102
33
  %x(open deploy/index.html)
103
34
  end
104
- <% end %>
105
35
 
106
- desc "Install debug support files"
107
- task :setup_debug do
108
- debug_cfg_file = "/Library/Application\ Support/Macromedia/mm.cfg"
109
- %x(touch "#{debug_cfg_file}")
110
- File.open(debug_cfg_file,"w") do |f|
111
- f <<-EOF
112
- ErrorReportingEnable=1
113
- TraceOutputFileEnable=1
114
- EOF
115
- end unless File.exist?(debug_cfg_file)
116
- %x(touch "$HOME/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt")
36
+ desc "Build <%= @project_name %>"
37
+ task :build do
38
+ system('fluby build')
117
39
  end
118
40
 
119
- <% if Fluby.has_growl? %>
120
41
  desc "Build a release version of <%= @project_name %> (with trace() disabled)"
121
- task :release => [:nodebug,:compile,:pack,:notify]
122
- task :default => [:compile,:notify,:test]
123
- <% else %>
124
- desc "Build a release version of <%= @project_name %> (with trace() disabled)"
125
- task :release => [:nodebug,:compile,:pack]
126
- task :default => [:compile,:test]
127
- <% end %>
42
+ task :release do
43
+ system('fluby release')
44
+ system('fluby pack')
45
+ end
46
+
47
+ task :default => [:test]
@@ -0,0 +1,7 @@
1
+ app: <%= @project_name %>
2
+ version: 0.0.0
3
+ width: 800
4
+ height: 600
5
+ player: 8
6
+ fps: 61
7
+ bgcolor: "#ffffff"
@@ -1,7 +1,7 @@
1
1
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
2
2
  <head>
3
3
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
4
- <title><%= APP %></title>
4
+ <title><%= Fluby.project_name %></title>
5
5
  <script type="text/javascript" src="swfobject.js"></script>
6
6
  </head>
7
7
  <body>
@@ -9,7 +9,7 @@
9
9
  This text is replaced by the Flash movie.
10
10
  </div>
11
11
  <script type="text/javascript">
12
- var so = new SWFObject("<%= APP %>.swf", "mymovie", "<%= WIDTH %>", "<%= HEIGHT %>", "<%= PLAYER %>", "<%= BGCOLOR %>");
12
+ var so = new SWFObject("<%= Fluby.project_name %>.swf", "mymovie", "<%= Fluby.width %>", "<%= Fluby.height %>", "<%= Fluby.player %>", "<%= Fluby.bgcolor %>");
13
13
  so.write("flashcontent");
14
14
  </script>
15
15
  </body>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8" ?>
2
- <movie width="<%= WIDTH %>" height="<%= HEIGHT %>" framerate="<%= FPS %>" version="<%= PLAYER %>">
3
- <background color="<%= BGCOLOR %>"/>
2
+ <movie width="<%= Fluby.width %>" height="<%= Fluby.height %>" framerate="<%= Fluby.fps %>" version="<%= Fluby.player %>">
3
+ <background color="<%= Fluby.bgcolor %>"/>
4
4
  <frame>
5
5
  <library>
6
6
  <% Dir["assets/*.png"].each do |file| %>
data/test/test_fluby.rb CHANGED
@@ -13,7 +13,7 @@ class TestFluby < Test::Unit::TestCase
13
13
  end
14
14
 
15
15
  def test_fluby_is_loaded
16
- assert_not_nil Fluby::VERSION
16
+ assert_not_nil Fluby.version
17
17
  assert_equal "fluby", Fluby::NAME
18
18
  end
19
19
 
@@ -41,61 +41,11 @@ class TestFluby < Test::Unit::TestCase
41
41
 
42
42
  def test_compilation
43
43
  in_folder(PROJECT) do
44
- %x(rake compile)
44
+ %x(fluby build)
45
45
  assert File.exist?("deploy/#{PROJECT}.swf"), "Compilation failed. Have you installed mtasc and swfmill?"
46
46
  end
47
47
  end
48
48
 
49
- def test_generator
50
- in_folder(PROJECT) do
51
- Fluby.available_templates.each do |tpl|
52
- Fluby.generate tpl, "com.bomberstudios.#{tpl}"
53
- assert File.exist?("com/bomberstudios/#{tpl}.as"), "Error generating #{tpl}"
54
- end
55
- end
56
- end
57
- def test_generator_with_single_option
58
- in_folder(PROJECT) do
59
- Fluby.generate "class", "com.bomberstudios.ClassTest", "foo:String"
60
- assert File.exist?("com/bomberstudios/ClassTest.as")
61
- assert_not_nil File.read("com/bomberstudios/ClassTest.as").match("var foo:String;")
62
- end
63
- end
64
- def test_generator_with_multiple_options
65
- in_folder(PROJECT) do
66
- Fluby.generate "class", "com.bomberstudios.ClassTest", ["foo:String", "bar:XML"]
67
- assert File.exist?("com/bomberstudios/ClassTest.as")
68
- assert_not_nil File.read("com/bomberstudios/ClassTest.as").match("var foo:String;")
69
- assert_not_nil File.read("com/bomberstudios/ClassTest.as").match("var bar:XML;")
70
- end
71
- end
72
- def test_generator_with_multiple_options_via_commandline
73
- in_folder(PROJECT) do
74
- %x(script/generate class com.bomberstudios.Car make:String model:String year:Number)
75
- assert File.exist?("com/bomberstudios/Car.as")
76
- assert_not_nil File.read("com/bomberstudios/Car.as").match("var make:String;")
77
- assert_not_nil File.read("com/bomberstudios/Car.as").match("var model:String;")
78
- assert_not_nil File.read("com/bomberstudios/Car.as").match("var year:Number;")
79
- end
80
- end
81
- def test_error_creating_existing_template
82
- in_folder(PROJECT) do
83
- assert_raise RuntimeError do
84
- Fluby.generate "class", "com.bomberstudios.ClassTest", ["foo:String", "bar:XML"]
85
- Fluby.generate "class", "com.bomberstudios.ClassTest", ["foo:String", "bar:XML"]
86
- end
87
- end
88
- end
89
-
90
- def test_available_templates
91
- assert_equal Dir["lib/templates/generators/*"].size, Fluby.available_templates.size, "Template count mismatch"
92
- in_folder PROJECT do
93
- templates = %x(script/generate)
94
- tpl_list = Fluby.available_templates.join("\n\t")
95
- assert_equal "Usage: script/generate type classpath [options]\nwhere type is one of\n\t#{tpl_list}\n", templates
96
- end
97
- end
98
-
99
49
  def test_textmate
100
50
  assert !Fluby.in_textmate?
101
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Ale Mu\xC3\xB1oz"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-14 00:00:00 +02:00
12
+ date: 2009-10-15 00:00:00 +02:00
13
13
  default_executable: fluby
14
14
  dependencies: []
15
15
 
@@ -22,26 +22,20 @@ extensions: []
22
22
  extra_rdoc_files:
23
23
  - README.mdown
24
24
  files:
25
- - .gitignore
26
- - Changelog
27
25
  - README.mdown
28
- - Rakefile
29
26
  - VERSION
30
27
  - bin/fluby
31
- - fluby.gemspec
32
28
  - lib/fluby.rb
33
29
  - lib/templates/ASClass.as
34
30
  - lib/templates/README
35
31
  - lib/templates/Rakefile
36
- - lib/templates/generate
32
+ - lib/templates/config.yml
37
33
  - lib/templates/generators/class
38
34
  - lib/templates/generators/delegate
39
35
  - lib/templates/generators/xml_loader
40
36
  - lib/templates/index.rhtml
41
37
  - lib/templates/project.rxml
42
38
  - lib/templates/swfobject.js
43
- - test/helper.rb
44
- - test/test_fluby.rb
45
39
  has_rdoc: true
46
40
  homepage: http://github.com/bomberstudios/fluby
47
41
  licenses: []
data/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- pkg
2
- *.gem
data/Changelog DELETED
@@ -1,37 +0,0 @@
1
- 0.X.X
2
- -----
3
- * Support for user templates
4
-
5
- 0.7.0
6
- -----
7
- * Moved gem to gemcutter.org
8
-
9
- 0.6.4
10
- -----
11
- * Added 'rake monitor' task to fluby project, so the project autocompiles whenever you save the main .as file or any of the auxiliary files (index.rhtml, project.rxml or Rakefile)
12
- * Added :assets task to fluby Rakefile. js and xml files in the 'assets' folder are copied to the 'deploy' folder when compiling.
13
- * Run 'pack' task when running 'rake release'
14
- * Create swfobject.js in 'assets' folder instead of 'deploy'
15
- * Added Video asset to the rxml template. It's commented out in case you don't need it, but it's nice to have it there as I always forget the syntax :)
16
- * Use packed swfobject.js
17
-
18
- 0.6.1
19
- -----
20
- * Added 'delegate' template for script/generate
21
-
22
- 0.6
23
- ---
24
- * Added colorized output to terminal operations
25
- * Added 'rake package' task
26
- * Added 'script/generate' tool to generate common classes (right now there's only a 'xml_loader' template)
27
-
28
- 0.5.7
29
- -----
30
- * Improved Rakefile for non-Mac systems
31
-
32
- 0.5.6
33
- -----
34
-
35
- * Added support for multiple weights of a font family (thanks mamuso)
36
- * Fixed a bug on the project Rakefile that made it imposible to add assets (the SWF was overwritten by MTASC after swfmill imported the assets)
37
- * Improved documentation (just a little bit :)
data/Rakefile DELETED
@@ -1,49 +0,0 @@
1
- ##### Requirements
2
-
3
- require 'rake'
4
- require 'rake/clean'
5
- require 'rake/testtask'
6
- require File.dirname(__FILE__) + '/lib/fluby.rb'
7
-
8
- ##### Jeweler
9
- begin
10
- require 'jeweler'
11
- Jeweler::Tasks.new do |gemspec|
12
- gemspec.name = "fluby"
13
- gemspec.summary = "MTASC + SWFMILL + Rake helper"
14
- gemspec.description = "A simple command to create and compile an ActionScript project for MTASC + SWFMILL + Rake"
15
- gemspec.email = "bomberstudios@gmail.com"
16
- gemspec.homepage = "http://github.com/bomberstudios/fluby"
17
- gemspec.authors = ["Ale Muñoz"]
18
- gemspec.rubyforge_project = 'fluby'
19
- end
20
- Jeweler::GemcutterTasks.new
21
- # release with: $ rake gemcutter:release
22
- rescue LoadError
23
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
24
- end
25
-
26
- ##### Cleaning
27
- CLEAN.include [ 'tmp', 'test/fixtures/*/output/*', 'test/fixtures/*/tmp' ]
28
- CLOBBER.include [ 'pkg', '*.gem', 'coverage.data' ]
29
-
30
- ### Testing
31
- Rake::TestTask.new(:test) do |test|
32
- test.test_files = Dir['test/test_*.rb']
33
- end
34
-
35
- desc 'Test code coverage using rcov'
36
- task :rcov do
37
- rm_f "coverage"
38
- rm_f "coverage.data"
39
- rcov = "rcov --exclude gem --aggregate coverage.data --text-summary -Ilib"
40
- sh "#{rcov} --no-html test/*", :verbose => false
41
- end
42
-
43
- desc "Test and package gem"
44
- task :default => [ :test, :gemspec, :build ]
45
-
46
- desc "Push GEM to Gemcutter"
47
- task :push => [ :clobber, :default ] do
48
- %x(rake gemcutter:release)
49
- end
data/fluby.gemspec DELETED
@@ -1,62 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{fluby}
8
- s.version = "0.7.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ale Muñoz"]
12
- s.date = %q{2009-10-14}
13
- s.default_executable = %q{fluby}
14
- s.description = %q{A simple command to create and compile an ActionScript project for MTASC + SWFMILL + Rake}
15
- s.email = %q{bomberstudios@gmail.com}
16
- s.executables = ["fluby"]
17
- s.extra_rdoc_files = [
18
- "README.mdown"
19
- ]
20
- s.files = [
21
- ".gitignore",
22
- "Changelog",
23
- "README.mdown",
24
- "Rakefile",
25
- "VERSION",
26
- "bin/fluby",
27
- "fluby.gemspec",
28
- "lib/fluby.rb",
29
- "lib/templates/ASClass.as",
30
- "lib/templates/README",
31
- "lib/templates/Rakefile",
32
- "lib/templates/generate",
33
- "lib/templates/generators/class",
34
- "lib/templates/generators/delegate",
35
- "lib/templates/generators/xml_loader",
36
- "lib/templates/index.rhtml",
37
- "lib/templates/project.rxml",
38
- "lib/templates/swfobject.js",
39
- "test/helper.rb",
40
- "test/test_fluby.rb"
41
- ]
42
- s.homepage = %q{http://github.com/bomberstudios/fluby}
43
- s.rdoc_options = ["--charset=UTF-8"]
44
- s.require_paths = ["lib"]
45
- s.rubyforge_project = %q{fluby}
46
- s.rubygems_version = %q{1.3.5}
47
- s.summary = %q{MTASC + SWFMILL + Rake helper}
48
- s.test_files = [
49
- "test/helper.rb",
50
- "test/test_fluby.rb"
51
- ]
52
-
53
- if s.respond_to? :specification_version then
54
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
55
- s.specification_version = 3
56
-
57
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
58
- else
59
- end
60
- else
61
- end
62
- end
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require "rubygems"
3
- require "fluby"
4
-
5
- commandline = ARGV
6
- if commandline.size < 2
7
- puts "Usage: script/generate type classpath [options]"
8
- puts "where type is one of"
9
- Fluby.available_templates.each do |t|
10
- puts "\t#{t}"
11
- end
12
- else
13
- type = commandline.shift
14
- name = commandline.shift
15
- options = commandline
16
- Fluby.generate(type,name,options)
17
- end