sugarcube 3.3.1 → 3.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5cbbe819e97283451447a21765514919206aafca
4
- data.tar.gz: 441826f0a2a375300361d9271cf18b1080938862
3
+ metadata.gz: b93b8cbedc130c019d2eaf293a07337b5a041b10
4
+ data.tar.gz: 04d121961d44ba27a8258fc3844d9dd2a47cfd72
5
5
  SHA512:
6
- metadata.gz: f2f4e84bb18b4146cb59aa1f33dd498ad231c2e992852e863384a35ae4c18e562a5706dcfef06a41194acc73b26754aa5916ca36667d926c28367266e1cba9f4
7
- data.tar.gz: 24882269621cdb3f1890bdc4aac91fade6c95bcc1b8baac773e66303e2f861da4e6041c74e25a86ad2aabec1a78f7693956e81add243f0d97b3ac91130da09be
6
+ metadata.gz: 372c7d62dcd616471d92ff970278060813113569faf9a34040dea78631f39fccaa48d8b9b13ec0e3de1e035f81435f4e7c42134da90cf7e496456f693eb98efb
7
+ data.tar.gz: 496c37d5f0760e84024e6c5d3a84b79cf586e21bb93c005a6205df5c2d10b1f3309387ec8ef727a5efdf74d9af47c78259ebe3696dd4eb15aeb4daf632e787bb
data/README.md CHANGED
@@ -52,6 +52,15 @@ diligent about adding Yard documentation, which is available here:
52
52
 
53
53
  [documentation]: http://rubydoc.info/gems/sugarcube/latest
54
54
 
55
+ Versioning
56
+ ==========
57
+
58
+ SugarCube uses FerVer: https://github.com/jonathanong/ferver. This means that
59
+ minor breaking changes occur in minor version bumps, and sometimes a
60
+ non-breaking change occures in the major version (like when we added OS X
61
+ support).
62
+
63
+
55
64
  Installation
56
65
  ============
57
66
 
@@ -19,8 +19,8 @@ class NSDate
19
19
 
20
20
  delta = s
21
21
  # todo: leap second adjustment? can leap seconds be detected?
22
- delta += mi.minutes
23
- delta += h.hours
22
+ delta += mi * 60
23
+ delta += h * 3600
24
24
 
25
25
  return_date = self + delta
26
26
 
@@ -42,17 +42,17 @@ class NSDate
42
42
  if mo > 0
43
43
  mo.times do
44
44
  delta = return_date.days_in_month
45
- return_date += delta.days
45
+ return_date += delta * 3600 * 24
46
46
 
47
47
  # if the day_of_month is wrong, it must be because we either added PAST
48
48
  # the correct month (so roll back), or because we WERE rolled back and
49
49
  # when we moved forward a month, we were left back at the smaller day.
50
50
  if correct_day_of_month
51
51
  if return_date.day < 28
52
- return_date -= return_date.day.days
52
+ return_date -= return_date.day * 3600 * 24
53
53
  elsif return_date.day < correct_day_of_month
54
54
  fix = correct_day_of_month > return_date.days_in_month ? return_date.days_in_month : correct_day_of_month
55
- return_date += (fix - return_date.day).days
55
+ return_date += (fix - return_date.day) * 3600 * 24
56
56
  end
57
57
  end
58
58
  end
@@ -63,15 +63,15 @@ class NSDate
63
63
  # hour short of "last month" and so you end up with THIS month. there
64
64
  # is NEVER a case when subtracting return_date.day+1 days is NOT
65
65
  # "previous month". dates. :-| f-em.
66
- delta = (return_date - (return_date.day+1).days).days_in_month
67
- return_date -= delta.days
66
+ delta = (return_date - (return_date.day+1) * 3600 * 24).days_in_month
67
+ return_date -= delta * 3600 * 24
68
68
  # same correction as above
69
69
  if correct_day_of_month
70
70
  if return_date.day < 28
71
- return_date -= return_date.day.days
71
+ return_date -= return_date.day * 3600 * 24
72
72
  elsif return_date.day < correct_day_of_month
73
73
  fix = correct_day_of_month > return_date.days_in_month ? return_date.days_in_month : correct_day_of_month
74
- return_date += (fix - return_date.day).days
74
+ return_date += (fix - return_date.day) * 3600 * 24
75
75
  end
76
76
  end
77
77
  end
@@ -79,8 +79,8 @@ class NSDate
79
79
  end
80
80
 
81
81
  delta = 0
82
- delta += d.days
83
- delta += w.weeks
82
+ delta += d * 3600 * 24
83
+ delta += w * 3600 * 24 * 7
84
84
  return_date += delta
85
85
 
86
86
  # DST adjustment, unless minutes, hours, or seconds were specified.
@@ -98,9 +98,9 @@ class NSDate
98
98
  # Time.at(3/10/2012).delta(hours:25) # => 2012-03-11 18:00:00 -0600
99
99
  unless return_date.dst? == is_dst or is_very_specific
100
100
  if is_dst
101
- return_date += 1.hour
101
+ return_date += 3600
102
102
  else
103
- return_date -= 1.hour
103
+ return_date -= 3600
104
104
  end
105
105
  end
106
106
 
@@ -4,31 +4,59 @@ class UITableViewCell
4
4
  class << self
5
5
 
6
6
  # returns a cell in the default style, with reuse identifier
7
- # `cell_identifier`. Options are passed on to the
8
- # `sugarcube_cell_factory` method.
9
- def default(cell_identifier, options={})
10
- return sugarcube_cell_factory(cell_identifier, :default, options)
7
+ # `reuse_identifier`. Supported options are :accessory, :text, :detail,
8
+ # :image, and :selection_style.
9
+ # Valid values for `:accessory`:
10
+ # :none, :disclosure, :disclosureindicator, :detail,
11
+ # :detaildisclosurebutton, :checkmark
12
+ # or any UITableViewCellAccessory constant
13
+ # Valid values for `:selection_style`:
14
+ # :none, :blue, :gray
15
+ # or any UITableViewCellSelectionStyle constant
16
+ def default(reuse_identifier, options={})
17
+ return sugarcube_cell_factory(reuse_identifier, :default, options)
11
18
  end
12
19
 
13
20
  # returns a cell in the value1 style, with reuse identifier
14
- # `cell_identifier`. Options are passed on to the
15
- # `sugarcube_cell_factory` method.
16
- def value1(cell_identifier, options={})
17
- return sugarcube_cell_factory(cell_identifier, :value1, options)
21
+ # `reuse_identifier`. Supported options are :accessory, :text, :detail,
22
+ # :image, and :selection_style.
23
+ # Valid values for `:accessory`:
24
+ # :none, :disclosure, :disclosureindicator, :detail,
25
+ # :detaildisclosurebutton, :checkmark
26
+ # or any UITableViewCellAccessory constant
27
+ # Valid values for `:selection_style`:
28
+ # :none, :blue, :gray
29
+ # or any UITableViewCellSelectionStyle constant
30
+ def value1(reuse_identifier, options={})
31
+ return sugarcube_cell_factory(reuse_identifier, :value1, options)
18
32
  end
19
33
 
20
34
  # returns a cell in the value2 style, with reuse identifier
21
- # `cell_identifier`. Options are passed on to the
22
- # `sugarcube_cell_factory` method.
23
- def value2(cell_identifier, options={})
24
- return sugarcube_cell_factory(cell_identifier, :value2, options)
35
+ # `reuse_identifier`. Supported options are :accessory, :text, :detail,
36
+ # :image, and :selection_style.
37
+ # Valid values for `:accessory`:
38
+ # :none, :disclosure, :disclosureindicator, :detail,
39
+ # :detaildisclosurebutton, :checkmark
40
+ # or any UITableViewCellAccessory constant
41
+ # Valid values for `:selection_style`:
42
+ # :none, :blue, :gray
43
+ # or any UITableViewCellSelectionStyle constant
44
+ def value2(reuse_identifier, options={})
45
+ return sugarcube_cell_factory(reuse_identifier, :value2, options)
25
46
  end
26
47
 
27
48
  # returns a cell in the subtitle style, with reuse identifier
28
- # `cell_identifier`. Options are passed on to the
29
- # `sugarcube_cell_factory` method.
30
- def subtitle(cell_identifier, options={})
31
- return sugarcube_cell_factory(cell_identifier, :subtitle, options)
49
+ # `reuse_identifier`. Supported options are :accessory, :text, :detail,
50
+ # :image, and :selection_style.
51
+ # Valid values for `:accessory`:
52
+ # :none, :disclosure, :disclosureindicator, :detail,
53
+ # :detaildisclosurebutton, :checkmark
54
+ # or any UITableViewCellAccessory constant
55
+ # Valid values for `:selection_style`:
56
+ # :none, :blue, :gray
57
+ # or any UITableViewCellSelectionStyle constant
58
+ def subtitle(reuse_identifier, options={})
59
+ return sugarcube_cell_factory(reuse_identifier, :subtitle, options)
32
60
  end
33
61
 
34
62
  private
@@ -41,9 +69,10 @@ private
41
69
  # text - textLabel.text content
42
70
  # detail - detailTextLabel.text content
43
71
  # selection - selectionStyle
44
- def sugarcube_cell_factory(cell_identifier, cell_style, options)
72
+ def sugarcube_cell_factory(reuse_identifier, cell_style, options)
73
+ cell_style_name = cell_style
45
74
  cell_style = cell_style.uitablecellstyle if cell_style.respond_to?(:uitablecellstyle)
46
- cell = UITableViewCell.alloc.initWithStyle(cell_style, reuseIdentifier: cell_identifier)
75
+ cell = UITableViewCell.alloc.initWithStyle(cell_style, reuseIdentifier: reuse_identifier)
47
76
 
48
77
  if options[:accessory]
49
78
  accessory = options[:accessory]
@@ -51,14 +80,14 @@ private
51
80
  cell.accessoryType = accessory
52
81
  end
53
82
 
54
- if options[:selection]
55
- selection = options[:selection]
56
- selection = selection.uitablecellselectionstyle if selection.respond_to?(:uitablecellselectionstyle)
57
- cell.selectionStyle = selection
83
+ selection_style = options[:selection] || options[:selection_style]
84
+ if selection_style
85
+ selection_style = selection_style.uitablecellselectionstyle if selection_style.respond_to?(:uitablecellselectionstyle)
86
+ cell.selectionStyle = selection_style
58
87
  end
59
88
 
60
89
  if options[:image]
61
- raise "cell type #{cell_style} does not support imageView" unless cell.imageView
90
+ raise "cell type #{cell_style_name} does not support imageView" unless cell.imageView
62
91
  image = options[:image]
63
92
  cell.imageView.image = image && image.uiimage
64
93
  end
@@ -68,7 +97,7 @@ private
68
97
  end
69
98
 
70
99
  if options[:detail]
71
- raise "cell type #{cell_style} does not support detailTextLabel" unless cell.detailTextLabel
100
+ raise "cell type #{cell_style_name} does not support detailTextLabel" unless cell.detailTextLabel
72
101
  cell.detailTextLabel.text = options[:detail]
73
102
  end
74
103
 
@@ -349,7 +349,7 @@ class UIImage
349
349
  # this is actually the interesting part:
350
350
  new_image = self.canvas(size: new_size) do |context|
351
351
  if background
352
- background = background.uicolor
352
+ background = background.uicolor unless background.is_a?(UIColor)
353
353
  background.setFill
354
354
  CGContextAddRect(context, [[0, 0], new_size])
355
355
  CGContextDrawPath(context, KCGPathFill)
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SugarCube
2
- Version = '3.3.1'
2
+ Version = '3.3.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sugarcube
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin T.A. Gray
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-02-17 00:00:00.000000000 Z
15
+ date: 2015-02-25 00:00:00.000000000 Z
16
16
  dependencies: []
17
17
  description: |
18
18
  == Description