Module: SugarCube
- Defined in:
- lib/version.rb,
lib/sugarcube.rb,
lib/all/sugarcube/log.rb,
lib/cocoa/sugarcube/log.rb,
lib/all/sugarcube/look_in.rb,
lib/ios/sugarcube-repl/repl.rb,
lib/osx/sugarcube-repl/repl.rb,
lib/cocoa/sugarcube-repl/repl.rb,
lib/ios/sugarcube-modal/modal.rb,
lib/cocoa/sugarcube-timer/timer.rb,
lib/ios/sugarcube-events/uicontrol.rb,
lib/cocoa/sugarcube-cocoakit/frameable.rb,
lib/cocoa/sugarcube-nsdate/date_parser.rb,
lib/cocoa/sugarcube-anonymous/anonymous.rb,
lib/ios/sugarcube-factories/uialertview.rb,
lib/ios/sugarcube-factories/uiactionsheet.rb,
lib/ios/sugarcube-animations/animation_chain.rb,
lib/ios/sugarcube-coregraphics/core_graphics.rb,
lib/cocoa/sugarcube-anonymous/anonymous_array.rb,
lib/ios/sugarcube-factories/uialertcontroller.rb
Defined Under Namespace
Modules: CoreGraphics, DateParser, Frameable, Modal, Repl, Timer
Classes: ActionSheetDelegate, AlertViewDelegate, AnimationChain, Anonymous, AnonymousArray, UIAlertControllerCallbackHelper, UIControlCallbackHelper
Constant Summary
collapse
- Version =
'2.6.0'
Class Method Summary
collapse
Class Method Details
.android? ⇒ Boolean
35
36
37
|
# File 'lib/sugarcube.rb', line 35
def android?
App.template.to_s =~ /android/
end
|
.cocoa? ⇒ Boolean
39
40
41
|
# File 'lib/sugarcube.rb', line 39
def cocoa?
ios? || osx?
end
|
.cocoa_only!(package) ⇒ Object
21
22
23
24
25
|
# File 'lib/sugarcube.rb', line 21
def cocoa_only!(package)
unless cocoa?
raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on OS X or iOS."
end
end
|
.flush_log(notification = nil) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/all/sugarcube/log.rb', line 20
def flush_log(notification=nil)
return unless @log && ! @log.empty?
output = "SugarCube recorded the following warnings:"
@log.uniq.each do |message|
output << "\n"
output << message
end
NSLog(output)
@log = nil
end
|
.ios? ⇒ Boolean
27
28
29
|
# File 'lib/sugarcube.rb', line 27
def ios?
App.template.to_s =~ /ios/
end
|
.ios_only!(package) ⇒ Object
9
10
11
12
13
|
# File 'lib/sugarcube.rb', line 9
def ios_only!(package)
unless ios?
raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on iOS."
end
end
|
.log(message = nil) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/all/sugarcube/log.rb', line 4
def log(message=nil)
@log ||= []
if message.nil?
return @log
end
if suppress?
log << message
elsif log?
stderr(message)
end
self
end
|
.log?(value = nil) ⇒ Boolean
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/all/sugarcube/log.rb', line 32
def log?(value=nil)
if value.nil?
if @logging.nil?
@logging = (RUBYMOTION_ENV == 'development')
end
@logging
else
@logging = value
unless @logging
@log = nil
end
end
end
|
.look_in(where, here, here__deprecated = {}) ⇒ Object
4
5
6
7
8
9
10
11
12
|
# File 'lib/all/sugarcube/look_in.rb', line 4
def look_in(where, here, here__deprecated={})
return here[where] if here.has_key? where
if here__deprecated[where]
translated = here__deprecated[where]
SugarCube.log("The symbol #{where.inspect} has been deprecated in favor of #{translated.inspect}")
return here[translated]
end
raise SugarCubeNotFoundException.new(where.inspect)
end
|
.osx? ⇒ Boolean
31
32
33
|
# File 'lib/sugarcube.rb', line 31
def osx?
App.template.to_s =~ /osx/
end
|
.osx_only!(package) ⇒ Object
15
16
17
18
19
|
# File 'lib/sugarcube.rb', line 15
def osx_only!(package)
unless osx?
raise "The '\033[0;1msugarcube-#{package}\033[0m' package is only available on OS X."
end
end
|
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/sugarcube.rb', line 43
def platform
if ios?
'ios'
elsif osx?
'osx'
elsif android?
'android'
else
App.template.to_s
end
end
|
.stderr(message) ⇒ Object
4
5
6
|
# File 'lib/cocoa/sugarcube/log.rb', line 4
def stderr(message)
NSLog(message)
end
|
.suppress?(value = nil) ⇒ Boolean
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/all/sugarcube/log.rb', line 46
def suppress?(value=nil)
if value.nil?
@suppress
else
@suppress = value
unless @suppress
@log = nil
end
end
end
|