sugarcube 0.7.9 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012, Fusionbox, Inc.
1
+ Copyright (c) 2012, Fusionbox, Inc. http://www.fusionbox.com/
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -31,6 +31,15 @@ don't even *drink* coffee, if you can imagine that... All I'm saying is: to each
31
31
  their own. You should checkout [BubbleWrap][] for another take on
32
32
  Cocoa-wrappage.
33
33
 
34
+ **CONTRIBUTIONS**
35
+
36
+ SugarCube started out as a [Fusionbox][] project (see the
37
+ [announcement][fusionbox announcement]), but as its popularity increased, the
38
+ decision was made to offer it to the rubymotion community, in the spirit of
39
+ open-source and collaboration. It is a great compliment to [teacup][],
40
+ especially when paired with [sweettea][]!
41
+
42
+
34
43
  Installation
35
44
  ============
36
45
 
@@ -621,3 +630,6 @@ Quick wrapper for `CFUUIDCreate()` and `CFUUIDCreateString()`. Identical to the
621
630
 
622
631
  [BubbleWrap]: https://github.com/rubymotion/BubbleWrap
623
632
  [sweettea]: https://github.com/colinta/sweettea
633
+ [teacup]: https://github.com/rubymotion/teacup
634
+ [Fusionbox]: http://www.fusionbox.com/
635
+ [fusionbox announcement]: http://fusionbox.org/projects/rubymotion-sugarcube/
@@ -1,5 +1,13 @@
1
1
  class Array
2
2
 
3
+ def === other
4
+ return other === self if other.is_a? NSIndexPath
5
+ ret = super
6
+ puts("=============== array.rb at line 6 ===============
7
+ returning super: #{ret.inspect}")
8
+ ret
9
+ end
10
+
3
11
  def to_pointer(type)
4
12
  ret = Pointer.new(type, self.length)
5
13
  self.each_index do |i|
@@ -8,4 +8,22 @@ class NSIndexPath
8
8
  end
9
9
  a
10
10
  end
11
+
12
+ def === other
13
+ return true if super
14
+
15
+ if other.is_a? Enumerable
16
+ ret = true
17
+ path = self.to_a
18
+ other.each do |val|
19
+ unless val === path.shift
20
+ ret = false
21
+ break
22
+ end
23
+ end
24
+
25
+ return ret
26
+ end
27
+ return false
28
+ end
11
29
  end
@@ -4,12 +4,30 @@ class NSString
4
4
  @url ||= NSURL.alloc.initWithString(self)
5
5
  end
6
6
 
7
+ def escape_url
8
+ CFURLCreateStringByAddingPercentEscapes(
9
+ nil,
10
+ self,
11
+ nil,
12
+ "!*'();:@&=+$,/?%#[]",
13
+ CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding)
14
+ )
15
+ end
16
+
17
+ def unescape_url
18
+ CFURLCreateStringByReplacingPercentEscapes(
19
+ nil,
20
+ self,
21
+ ""
22
+ )
23
+ end
24
+
7
25
  def uiimage
8
- @uiimage = UIImage.imageNamed(self)
26
+ UIImage.imageNamed(self)
9
27
  end
10
28
 
11
29
  def uiimageview
12
- @uiimageview ||= (self.uiimage and self.uiimage.uiimageview or UIImageView.alloc.initWithImage(nil))
30
+ (self.uiimage and self.uiimage.uiimageview or UIImageView.alloc.initWithImage(nil))
13
31
  end
14
32
 
15
33
  def uifont(size=UIFont.systemFontSize)
@@ -19,11 +37,9 @@ class NSString
19
37
 
20
38
  def uicolor(alpha=nil)
21
39
  if self[0,1] == '#'
22
- # #fff
23
40
  if self.length == 4
24
41
  return (self[1] * 2 + self[2] * 2 + self[3] * 2).to_i(16).uicolor(alpha)
25
42
  end
26
- # else
27
43
  return self[1..-1].to_i(16).uicolor(alpha)
28
44
  end
29
45
 
@@ -39,7 +39,7 @@ class UIView
39
39
 
40
40
  UIView.animateWithDuration(duration,
41
41
  delay: options[:delay] || 0,
42
- options: options[:options] || UIViewAnimationOptionCurveLinear,
42
+ options: options[:options] || UIViewAnimationOptionCurveEaseInOut,
43
43
  animations: proc{
44
44
  self.layer.opacity = options[:opacity] || 0
45
45
 
@@ -77,7 +77,7 @@ class UIView
77
77
 
78
78
  UIView.animateWithDuration(duration,
79
79
  delay: options[:delay] || 0,
80
- options: options[:options] || UIViewAnimationOptionCurveLinear,
80
+ options: options[:options] || UIViewAnimationOptionCurveEaseInOut,
81
81
  animations: proc{
82
82
  f = self.frame
83
83
  f.origin = SugarCube::CoreGraphics::Point(position)
@@ -1,3 +1,3 @@
1
1
  module SugarCube
2
- Version = '0.7.9'
2
+ Version = '0.8'
3
3
  end
@@ -5,22 +5,24 @@ Gem::Specification.new do |gem|
5
5
  gem.name = 'sugarcube'
6
6
  gem.version = SugarCube::Version
7
7
 
8
- gem.authors = ['Colin Thomas-Arnold', 'Chris Clarke']
9
- gem.email = ['colin@fusionbox.com']
8
+ gem.authors = ['Colin Thomas-Arnold', 'Fusionbox']
9
+ gem.email = ['colinta@gmail.com']
10
10
  gem.summary = %{Extensions for Ruby to make Rubymotion development more enjoyable, and hopefully more rubyesque!}
11
11
  gem.description = <<-DESC
12
+ === Description
13
+
12
14
  CocoaTouch/iOS is a *verbose* framework. These extensions hope to make
13
15
  development in rubymotion more enjoyable by tacking "UI" methods onto the
14
16
  base classes (String, Fixnum, Float). With sugarcube, you can create a
15
17
  color from an integer or symbol, or create a UIFont or UIImage from a
16
18
  string.
17
19
 
18
- Some UI classes are opened up as well, like adding the '<<' operator to a
19
- UIView instance, instead of view.addSubview(subview), you can use the more
20
- idiomatic: view << subview.
20
+ Some UI classes are opened up as well, like adding the +<<+ operator to a
21
+ +UIView+ instance, instead of +view.addSubview(subview)+, you can use the more
22
+ idiomatic: +view << subview+.
21
23
  DESC
22
24
 
23
- gem.homepage = 'https://github.com/fusionbox/sugarcube'
25
+ gem.homepage = 'https://github.com/rubymotion/sugarcube'
24
26
 
25
27
  gem.files = `git ls-files`.split($\)
26
28
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
metadata CHANGED
@@ -1,20 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sugarcube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9
4
+ version: '0.8'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Colin Thomas-Arnold
9
- - Chris Clarke
9
+ - Fusionbox
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-08-27 00:00:00.000000000 Z
13
+ date: 2012-08-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
- requirement: &70196039902580 !ruby/object:Gem::Requirement
17
+ requirement: &70254474709740 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70196039902580
25
+ version_requirements: *70254474709740
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &70196039901960 !ruby/object:Gem::Requirement
28
+ requirement: &70254474709080 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,9 +33,11 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70196039901960
37
- description: ! 'CocoaTouch/iOS is a *verbose* framework. These extensions hope to
38
- make
36
+ version_requirements: *70254474709080
37
+ description: ! '=== Description
38
+
39
+
40
+ CocoaTouch/iOS is a *verbose* framework. These extensions hope to make
39
41
 
40
42
  development in rubymotion more enjoyable by tacking "UI" methods onto the
41
43
 
@@ -46,15 +48,15 @@ description: ! 'CocoaTouch/iOS is a *verbose* framework. These extensions hope
46
48
  string.
47
49
 
48
50
 
49
- Some UI classes are opened up as well, like adding the ''<<'' operator to a
51
+ Some UI classes are opened up as well, like adding the +<<+ operator to a
50
52
 
51
- UIView instance, instead of view.addSubview(subview), you can use the more
53
+ +UIView+ instance, instead of +view.addSubview(subview)+, you can use the more
52
54
 
53
- idiomatic: view << subview.
55
+ idiomatic: +view << subview+.
54
56
 
55
57
  '
56
58
  email:
57
- - colin@fusionbox.com
59
+ - colinta@gmail.com
58
60
  executables: []
59
61
  extensions: []
60
62
  extra_rdoc_files: []
@@ -97,7 +99,7 @@ files:
97
99
  - lib/sugarcube/uuid.rb
98
100
  - lib/sugarcube/version.rb
99
101
  - sugarcube.gemspec
100
- homepage: https://github.com/fusionbox/sugarcube
102
+ homepage: https://github.com/rubymotion/sugarcube
101
103
  licenses: []
102
104
  post_install_message:
103
105
  rdoc_options: []