sugarcube 2.12.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/all/sugarcube-repl/repl.rb +191 -0
- data/lib/all/sugarcube/log.rb +2 -2
- data/lib/android/sugarcube-repl/repl.rb +42 -0
- data/lib/android/sugarcube/log.rb +8 -0
- data/lib/cocoa/sugarcube-repl/repl.rb +48 -214
- data/lib/cocoa/sugarcube/log.rb +1 -1
- data/lib/ios/sugarcube-568/uiimage.rb +3 -0
- data/lib/ios/sugarcube-repl/repl.rb +27 -30
- data/lib/osx/sugarcube-repl/repl.rb +14 -25
- data/lib/sugarcube-568.rb +2 -9
- data/lib/sugarcube-animations.rb +2 -12
- data/lib/sugarcube-anonymous.rb +2 -9
- data/lib/sugarcube-appkit.rb +3 -12
- data/lib/sugarcube-attributedstring.rb +3 -12
- data/lib/sugarcube-awesome.rb +2 -9
- data/lib/sugarcube-color.rb +2 -9
- data/lib/sugarcube-constants.rb +2 -9
- data/lib/sugarcube-coregraphics.rb +3 -9
- data/lib/sugarcube-corelocation.rb +6 -9
- data/lib/sugarcube-events.rb +2 -9
- data/lib/sugarcube-factories.rb +2 -9
- data/lib/sugarcube-files.rb +2 -9
- data/lib/sugarcube-foundation.rb +3 -9
- data/lib/sugarcube-gestures.rb +2 -9
- data/lib/sugarcube-image.rb +2 -9
- data/lib/sugarcube-indexpath.rb +2 -9
- data/lib/sugarcube-legacy.rb +2 -18
- data/lib/sugarcube-localized.rb +2 -9
- data/lib/sugarcube-modal.rb +2 -9
- data/lib/sugarcube-notifications.rb +2 -9
- data/lib/sugarcube-nscoder.rb +3 -9
- data/lib/sugarcube-nsdata.rb +3 -12
- data/lib/sugarcube-nsdate.rb +3 -14
- data/lib/sugarcube-nsuserdefaults.rb +3 -9
- data/lib/sugarcube-numbers.rb +2 -15
- data/lib/sugarcube-pipes.rb +2 -9
- data/lib/sugarcube-pointer.rb +2 -9
- data/lib/sugarcube-repl.rb +2 -16
- data/lib/sugarcube-spritekit.rb +6 -12
- data/lib/sugarcube-timer.rb +2 -14
- data/lib/sugarcube-to_s.rb +2 -15
- data/lib/sugarcube-uikit.rb +3 -12
- data/lib/sugarcube-unholy.rb +2 -9
- data/lib/sugarcube.rb +33 -19
- data/lib/sugarcube_pre_setup.rb +44 -0
- data/lib/version.rb +1 -1
- data/spec/cocoa/nsindexpath_spec.rb +12 -0
- metadata +9 -6
- data/lib/ios/sugarcube/sugarcube_cleanup.rb +0 -16
data/lib/sugarcube-gestures.rb
CHANGED
@@ -6,13 +6,6 @@ end
|
|
6
6
|
require 'sugarcube'
|
7
7
|
SugarCube.ios_only!('gestures')
|
8
8
|
|
9
|
-
Motion::Project::App.
|
10
|
-
|
11
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
12
|
-
# the end of the list
|
13
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
14
|
-
|
15
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'ios/sugarcube-gestures/**/*.rb')).reverse.each do |file|
|
16
|
-
app.files.insert(insert_point, file)
|
17
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-gestures')
|
18
11
|
end
|
data/lib/sugarcube-image.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-image/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-image')
|
17
10
|
end
|
data/lib/sugarcube-indexpath.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-indexpath/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-indexpath')
|
17
10
|
end
|
data/lib/sugarcube-legacy.rb
CHANGED
@@ -5,22 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
if SugarCube.ios?
|
15
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'ios/sugarcube/**/*.rb')).reverse.each do |file|
|
16
|
-
app.files.insert(insert_point, file)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-legacy/**/*.rb')).reverse.each do |file|
|
21
|
-
app.files.insert(insert_point, file)
|
22
|
-
end
|
23
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube-legacy/**/*.rb')).reverse.each do |file|
|
24
|
-
app.files.insert(insert_point, file)
|
25
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-legacy')
|
26
10
|
end
|
data/lib/sugarcube-localized.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-localized/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-localized')
|
17
10
|
end
|
data/lib/sugarcube-modal.rb
CHANGED
@@ -6,13 +6,6 @@ end
|
|
6
6
|
require 'sugarcube'
|
7
7
|
SugarCube.ios_only!('modal')
|
8
8
|
|
9
|
-
Motion::Project::App.
|
10
|
-
|
11
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
12
|
-
# the end of the list
|
13
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
14
|
-
|
15
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'ios/sugarcube-modal/**/*.rb')).reverse.each do |file|
|
16
|
-
app.files.insert(insert_point, file)
|
17
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-modal')
|
18
11
|
end
|
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-notifications/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-notifications')
|
17
10
|
end
|
data/lib/sugarcube-nscoder.rb
CHANGED
@@ -4,14 +4,8 @@ end
|
|
4
4
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
|
+
SugarCube.cocoa_only!('nscoder')
|
7
8
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-nscoder/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-nscoder')
|
17
11
|
end
|
data/lib/sugarcube-nsdata.rb
CHANGED
@@ -4,17 +4,8 @@ end
|
|
4
4
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
|
+
SugarCube.cocoa_only!('nsdata')
|
7
8
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-nsdata/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-nsdata/**/*.rb')).reverse.each do |file|
|
18
|
-
app.files.insert(insert_point, file)
|
19
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-nsdata')
|
20
11
|
end
|
data/lib/sugarcube-nsdate.rb
CHANGED
@@ -4,19 +4,8 @@ end
|
|
4
4
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
|
+
SugarCube.cocoa_only!('nsdate')
|
7
8
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-nsdate/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
|
18
|
-
time_rb = File.join(File.dirname(__FILE__), 'all/sugarcube-numbers/time.rb')
|
19
|
-
unless app.files.include?(time_rb)
|
20
|
-
app.files.insert(insert_point, time_rb)
|
21
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-nsdate')
|
22
11
|
end
|
@@ -4,14 +4,8 @@ end
|
|
4
4
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
|
+
SugarCube.cocoa_only!('nsuserdefaults')
|
7
8
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-nsuserdefaults/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-nsuserdefaults')
|
17
11
|
end
|
data/lib/sugarcube-numbers.rb
CHANGED
@@ -5,19 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-numbers/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-numbers/**/*.rb')).reverse.each do |file|
|
18
|
-
app.files.insert(insert_point, file)
|
19
|
-
end
|
20
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube-numbers/**/*.rb')).reverse.each do |file|
|
21
|
-
app.files.insert(insert_point, file)
|
22
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-numbers')
|
23
10
|
end
|
data/lib/sugarcube-pipes.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-pipes/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-pipes')
|
17
10
|
end
|
data/lib/sugarcube-pointer.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-pointer/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-pointer')
|
17
10
|
end
|
data/lib/sugarcube-repl.rb
CHANGED
@@ -5,22 +5,8 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
# This package is only available in development
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
10
9
|
app.development do
|
11
|
-
|
12
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
13
|
-
# the end of the list
|
14
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
15
|
-
|
16
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-repl/**/*.rb')).reverse.each do |file|
|
17
|
-
app.files.insert(insert_point, file)
|
18
|
-
end
|
19
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-repl/**/*.rb')).reverse.each do |file|
|
20
|
-
app.files.insert(insert_point, file)
|
21
|
-
end
|
22
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube-repl/**/*.rb')).reverse.each do |file|
|
23
|
-
app.files.insert(insert_point, file)
|
24
|
-
end
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-repl')
|
25
11
|
end
|
26
12
|
end
|
data/lib/sugarcube-spritekit.rb
CHANGED
@@ -4,19 +4,13 @@ end
|
|
4
4
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
|
+
SugarCube.cocoa_only!('spritekit')
|
7
8
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-spritekit')
|
11
|
+
end
|
13
12
|
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, '/sugarcube-spritekit/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-spritekit/**/*.rb')).reverse.each do |file|
|
18
|
-
app.files.insert(insert_point, file)
|
19
|
-
end
|
20
13
|
|
21
|
-
|
14
|
+
Motion::Project::App.post_setup do |app|
|
15
|
+
app.frameworks += %w{SpriteKit}
|
22
16
|
end
|
data/lib/sugarcube-timer.rb
CHANGED
@@ -5,18 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-timer/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
|
18
|
-
time_rb = File.join(File.dirname(__FILE__), 'all/sugarcube-numbers/time.rb')
|
19
|
-
unless app.files.include?(time_rb)
|
20
|
-
app.files.insert(insert_point, time_rb)
|
21
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-timer')
|
22
10
|
end
|
data/lib/sugarcube-to_s.rb
CHANGED
@@ -5,19 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), SugarCube.platform, 'sugarcube-to_s/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
17
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-to_s/**/*.rb')).reverse.each do |file|
|
18
|
-
app.files.insert(insert_point, file)
|
19
|
-
end
|
20
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube-to_s/**/*.rb')).reverse.each do |file|
|
21
|
-
app.files.insert(insert_point, file)
|
22
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-to_s')
|
23
10
|
end
|
data/lib/sugarcube-uikit.rb
CHANGED
@@ -6,16 +6,7 @@ end
|
|
6
6
|
require 'sugarcube'
|
7
7
|
SugarCube.ios_only!('uikit')
|
8
8
|
|
9
|
-
Motion::Project::App.
|
10
|
-
|
11
|
-
|
12
|
-
# the end of the list
|
13
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
14
|
-
|
15
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'ios/sugarcube-uikit/**/*.rb')).reverse.each do |file|
|
16
|
-
app.files.insert(insert_point, file)
|
17
|
-
end
|
18
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube-cocoakit/**/*.rb')).reverse.each do |file|
|
19
|
-
app.files.insert(insert_point, file)
|
20
|
-
end
|
9
|
+
Motion::Project::App.pre_setup do |app|
|
10
|
+
SugarCube.add_app_files(app, 'sugarcube-cocoakit')
|
11
|
+
SugarCube.add_app_files(app, 'sugarcube-uikit')
|
21
12
|
end
|
data/lib/sugarcube-unholy.rb
CHANGED
@@ -5,13 +5,6 @@ end
|
|
5
5
|
|
6
6
|
require 'sugarcube'
|
7
7
|
|
8
|
-
Motion::Project::App.
|
9
|
-
|
10
|
-
# if found, it inserts just before those files, otherwise it will insert to
|
11
|
-
# the end of the list
|
12
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
13
|
-
|
14
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube-unholy/**/*.rb')).reverse.each do |file|
|
15
|
-
app.files.insert(insert_point, file)
|
16
|
-
end
|
8
|
+
Motion::Project::App.pre_setup do |app|
|
9
|
+
SugarCube.add_app_files(app, 'sugarcube-unholy')
|
17
10
|
end
|
data/lib/sugarcube.rb
CHANGED
@@ -24,16 +24,22 @@ module SugarCube
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def android_only!(package)
|
28
|
+
unless android?
|
29
|
+
raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on Android."
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
27
33
|
def ios?
|
28
|
-
App.template.to_s =~ /
|
34
|
+
App.template.to_s =~ /\bios\b/
|
29
35
|
end
|
30
36
|
|
31
37
|
def osx?
|
32
|
-
App.template.to_s =~ /
|
38
|
+
App.template.to_s =~ /\bosx\b/
|
33
39
|
end
|
34
40
|
|
35
41
|
def android?
|
36
|
-
App.template.to_s =~ /
|
42
|
+
App.template.to_s =~ /\bandroid\b/
|
37
43
|
end
|
38
44
|
|
39
45
|
def cocoa?
|
@@ -52,25 +58,33 @@ module SugarCube
|
|
52
58
|
end
|
53
59
|
end
|
54
60
|
|
61
|
+
def add_app_files(app, package_name)
|
62
|
+
# scans app.files until it finds app/ (the default)
|
63
|
+
# if found, it inserts just before those files, otherwise it will insert to
|
64
|
+
# the end of the list
|
65
|
+
platforms = ['all']
|
66
|
+
if SugarCube.cocoa?
|
67
|
+
platforms << 'cocoa'
|
68
|
+
end
|
69
|
+
platforms << SugarCube.platform # ios, osx, or android specific files
|
70
|
+
|
71
|
+
platforms.each do |platform|
|
72
|
+
Dir.glob(File.join(File.dirname(__FILE__), platform, package_name, '**/*.rb')).each do |file|
|
73
|
+
app.files << file
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
55
78
|
end
|
56
79
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
# the end of the list
|
61
|
-
insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0
|
80
|
+
if ! App.respond_to?(:pre_setup)
|
81
|
+
require 'sugarcube_pre_setup'
|
82
|
+
end
|
62
83
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'cocoa/sugarcube/**/*.rb')).reverse.each do |file|
|
68
|
-
app.files.insert(insert_point, file)
|
69
|
-
end
|
70
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'all/sugarcube/**/*.rb')).reverse.each do |file|
|
71
|
-
app.files.insert(insert_point, file)
|
72
|
-
end
|
84
|
+
Motion::Project::App.pre_setup do |app|
|
85
|
+
app.files << File.join(File.dirname(__FILE__), 'version.rb')
|
86
|
+
|
87
|
+
SugarCube.add_app_files(app, 'sugarcube')
|
73
88
|
end
|
74
89
|
|
75
|
-
require File.join(File.dirname(__FILE__), 'sugarcube-coregraphics.rb')
|
76
90
|
require File.join(File.dirname(__FILE__), 'sugarcube-to_s.rb')
|