status_bar 0.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzZlOGIwZTJkYmJkZTQzZDFjODI3MjIwMjBhOTZjOTMzYzI5NTEyMg==
4
+ YTkwY2NmMzJjOGY3ZTQ3YWFlZGMxNDMxOTNlODRhY2JkM2Y5YzY4Yg==
5
5
  data.tar.gz: !binary |-
6
- YjllNGQ1YTg4YTRmOTNkN2VlZjQzNTQ3NmYzYTgxZGIyOThjZTMxMA==
6
+ OGQ1Mjc3NDAyZWU1MmQ3NWNmNGJiOTcxYjRhMWU4NmY0NTQwNWY1MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmRkMzRlMGJjMTg4OWVkMDA5YmY4MzJhZGVjODg4NjY0OWQ5YWM0ZTg0YmVl
10
- ZDAwMTQ4NTY4YTliM2ZkNmE0MDRiNTNjNGY0NWE3OTA3N2U1OGIyODQ5N2Rm
11
- ZjI0ZWQyNjg5NmM1MDVlNmQyMWY5MzM3Yzg4YzZlODEzMWQ1Mzg=
9
+ NGU4M2Y5OTIxMWIxZDQ5ODI1OGMzYTY3MTJjNGE1MjBjNWFhMjY2OGU4N2M2
10
+ OWQ2OTBmNzBlZGMyYzVlY2ZmYjMwOGE4NmQ5NTI2NjZmMzQ2NjYwOGI2NjRl
11
+ MjU1ODRhNTJlZTIzMDcyMTU3YzlmYTFjMDkwYjhkNzQzNTk5ZWY=
12
12
  data.tar.gz: !binary |-
13
- MzM5MmQ1NmVhNDhlMDQ0YTU0Yjg0ZTUxNzRmMDNkNzRjY2I1NzVjZDdjMmIw
14
- YzlkOTc4ZDNmNTFmNzViY2QxYmRiMTA2NTVjNjQ2YmZiNDZhMWQ4OTdhM2Rk
15
- MTNiYjljOGZiNTk0ZjY3OTQ0YTkyMzNiMGMwMzkzNmVjZTUwZTQ=
13
+ NTBlNjZhYTYwYjZlYmZiOGQwMTMyM2MyMDFmOTRlMDA2YTdjYzdiMmNkNGNj
14
+ MGZmZDM5NDJjNzM0Zjc5OTgxZGEwYTNmMGM3YjNmMzEwY2UxZDVhNjVmZDhj
15
+ YmQxODYxY2M4MWNlNjI5YzE4NTVhZjE1YzJhMWFiZmY4NzZhODA=
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'status_bar', :path => '~/Projects/*Defaults/Misc/Gems/status_bar'
4
4
  gem 'teacup', '2.1.13'
5
- gem 'sugarcube', '1.3.2'
5
+ gem 'sugarcube', '1.3.5'
6
6
 
7
7
  group :development do
8
8
  gem 'awesome_print_motion'
data/Gemfile.lock CHANGED
@@ -1,16 +1,41 @@
1
- GIT
2
- remote: https://github.com/holgersindbaek/sugarcube
3
- revision: 24c813f16f5799dd7ddffdf801d83a989270befa
1
+ PATH
2
+ remote: ~/Projects/*Defaults/Misc/Gems/status_bar
4
3
  specs:
5
- sugarcube (1.3.4)
4
+ status_bar (0.2)
5
+ bubble-wrap (= 1.4.0)
6
+ hs
7
+ sugarcube (= 1.3.5)
8
+ teacup (= 2.1.13)
6
9
 
7
10
  GEM
8
11
  remote: https://rubygems.org/
9
12
  specs:
13
+ activesupport (3.2.15)
14
+ i18n (~> 0.6, >= 0.6.4)
15
+ multi_json (~> 1.0)
10
16
  awesome_print_motion (0.1.0)
17
+ bubble-wrap (1.4.0)
11
18
  celluloid (0.15.2)
12
19
  timers (~> 1.1.0)
20
+ claide (0.3.2)
21
+ cocoapods (0.27.1)
22
+ activesupport (>= 3.2.15, < 4)
23
+ claide (~> 0.3.2)
24
+ cocoapods-core (= 0.27.1)
25
+ cocoapods-downloader (~> 0.2.0)
26
+ colored (~> 1.2)
27
+ escape (~> 0.0.4)
28
+ json_pure (~> 1.8)
29
+ open4 (~> 1.3)
30
+ xcodeproj (~> 0.14.0)
31
+ cocoapods-core (0.27.1)
32
+ activesupport (>= 3.2.15, < 4)
33
+ json_pure (~> 1.8)
34
+ nap (~> 0.5)
35
+ cocoapods-downloader (0.2.0)
13
36
  coderay (1.0.9)
37
+ colored (1.2)
38
+ escape (0.0.4)
14
39
  ffi (1.9.3)
15
40
  formatador (0.2.4)
16
41
  guard (2.2.2)
@@ -22,12 +47,23 @@ GEM
22
47
  guard-motion (0.1.2)
23
48
  guard (>= 1.1.0)
24
49
  rake (>= 0.9)
50
+ hs (0.1.1)
51
+ bubble-wrap (>= 1.3.0)
52
+ motion-cocoapods (>= 1.3.7)
53
+ sugarcube
54
+ i18n (0.6.5)
55
+ json_pure (1.8.1)
25
56
  listen (2.2.0)
26
57
  celluloid (>= 0.15.2)
27
58
  rb-fsevent (>= 0.9.3)
28
59
  rb-inotify (>= 0.9)
29
60
  lumberjack (1.0.4)
30
61
  method_source (0.8.2)
62
+ motion-cocoapods (1.4.0)
63
+ cocoapods (>= 0.26.2)
64
+ multi_json (1.8.2)
65
+ nap (0.5.1)
66
+ open4 (1.3.0)
31
67
  pry (0.9.12.2)
32
68
  coderay (~> 1.0.5)
33
69
  method_source (~> 0.8)
@@ -37,9 +73,14 @@ GEM
37
73
  rb-inotify (0.9.2)
38
74
  ffi (>= 0.5.0)
39
75
  slop (3.4.6)
76
+ sugarcube (1.3.5)
40
77
  teacup (2.1.13)
41
78
  thor (0.18.1)
42
79
  timers (1.1.0)
80
+ xcodeproj (0.14.1)
81
+ activesupport (~> 3.0)
82
+ colored (~> 1.2)
83
+ rake
43
84
 
44
85
  PLATFORMS
45
86
  ruby
@@ -47,5 +88,6 @@ PLATFORMS
47
88
  DEPENDENCIES
48
89
  awesome_print_motion
49
90
  guard-motion
50
- sugarcube!
91
+ status_bar!
92
+ sugarcube (= 1.3.5)
51
93
  teacup (= 2.1.13)
data/app/app_delegate.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  class AppDelegate
2
2
  def application(application, didFinishLaunchingWithOptions:launchOptions)
3
3
  @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
4
- @window.makeKeyAndVisible
5
- @window.backgroundColor = "#000000".uicolor
4
+ @window.backgroundColor = UIColor.clearColor
6
5
  @window.rootViewController = DemoController.new
6
+ @window.makeKeyAndVisible
7
7
 
8
8
  true
9
9
  end
@@ -1,7 +1,9 @@
1
1
  class DemoController < UIViewController
2
- stylesheet :demo
2
+ stylesheet :demo_sheet
3
3
 
4
- layout :demo_view do
4
+ attr_reader :status_bar
5
+
6
+ layout :demo do
5
7
  @container = subview(UIView, :container) do
6
8
  @show_notice_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_notice_button)
7
9
  @show_activity_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_activity_button)
@@ -15,8 +17,6 @@ class DemoController < UIViewController
15
17
  def viewDidLoad
16
18
  super
17
19
 
18
- ap "first viewDidLoad"
19
-
20
20
  @status_bar = StatusBar::Base.new
21
21
 
22
22
  @show_notice_button.when(UIControlEventTouchUpInside) {
@@ -1,6 +1,6 @@
1
- Teacup::Stylesheet.new :demo do
1
+ Teacup::Stylesheet.new :demo_sheet do
2
2
 
3
- style :demo_view,
3
+ style :demo,
4
4
  backgroundColor: "#000000".uicolor
5
5
 
6
6
  style :container,
data/lib/project/base.rb CHANGED
@@ -1,11 +1,18 @@
1
1
  module StatusBar
2
2
  class Base
3
3
 
4
+ attr_reader :view, :current_notice_view
5
+
4
6
  def initialize
5
7
 
6
- @status_bar_view = StatusBar::View.new
7
- App.shared.keyWindow.rootViewController.view.addSubview(@status_bar_view.view)
8
- App.shared.keyWindow.rootViewController.view.sendSubviewToBack(@status_bar_view.view)
8
+ # Add statusbar to root view controller, once root controller is there.
9
+ timer = 0.1.second.every do
10
+ return if App.shared.keyWindow == nil || App.shared.keyWindow.rootViewController == nil
11
+ @view = StatusBar::View.new
12
+ App.shared.keyWindow.rootViewController.view.addSubview(@view.view)
13
+ App.shared.keyWindow.rootViewController.view.sendSubviewToBack(@view.view)
14
+ timer.invalidate
15
+ end
9
16
 
10
17
  # Set old orientation and rotation effect
11
18
  @current_notice_view = nil
@@ -24,19 +31,19 @@ module StatusBar
24
31
 
25
32
  # EXTERNAL COMMANDS
26
33
  def show_notice(text)
27
- show_notice_view(@status_bar_view.notice_view, text:text)
34
+ show_notice_view(@view.notice_view, text:text)
28
35
  end
29
36
 
30
37
  def show_activity_notice(text)
31
- show_notice_view(@status_bar_view.activity_view, text:text)
38
+ show_notice_view(@view.activity_view, text:text)
32
39
  end
33
40
 
34
41
  def show_success_notice(text)
35
- show_notice_view(@status_bar_view.success_view, text:text)
42
+ show_notice_view(@view.success_view, text:text)
36
43
  end
37
44
 
38
45
  def show_error_notice(text)
39
- show_notice_view(@status_bar_view.error_view, text:text)
46
+ show_notice_view(@view.error_view, text:text)
40
47
  end
41
48
 
42
49
  def hide_notice
@@ -44,7 +51,7 @@ module StatusBar
44
51
  end
45
52
 
46
53
  def visible?
47
- StatusBar::Helper.view_visible?(@status_bar_view.status_bar_view)
54
+ StatusBar::Helper.view_visible?(@view.status_bar_view)
48
55
  end
49
56
 
50
57
 
@@ -53,13 +60,13 @@ module StatusBar
53
60
  def show_status_bar_view
54
61
  if !visible?
55
62
  App.shared.setStatusBarHidden(true, withAnimation:UIStatusBarAnimationSlide)
56
- @status_bar_view.status_bar_view.move_to([0, 0])
63
+ @view.status_bar_view.move_to([0, 0])
57
64
  end
58
65
  end
59
66
 
60
67
  def hide_status_bar_view
61
68
  if visible?
62
- @status_bar_view.status_bar_view.move_to([0, 20])
69
+ @view.status_bar_view.move_to([0, 20])
63
70
  App.shared.setStatusBarHidden(false, withAnimation:UIStatusBarAnimationSlide)
64
71
  end
65
72
  end
@@ -75,7 +82,7 @@ module StatusBar
75
82
  notice_view.y = 0 if !visible?
76
83
  notice_view.move_to([0, 0]) if visible?
77
84
  position_inner_views(notice_view)
78
- @timer = EM.add_timer 3 { hide_status_bar_view } unless accessory == nil
85
+ @timer = EM.add_timer 3 { hide_status_bar_view } if accessory != nil && accessory.class == UIImageView
79
86
 
80
87
  show_status_bar_view unless visible?
81
88
  @current_notice_view = notice_view
data/lib/project/style.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  include StatusBar
2
2
 
3
- Teacup::Stylesheet.new :status_bar_style do
3
+ Teacup::Stylesheet.new :status_bar_sheet do
4
4
 
5
5
  style :status_bar_view,
6
6
  height: 20,
data/lib/project/view.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  module StatusBar
2
2
  class View < UIViewController
3
- stylesheet :status_bar_style
3
+ stylesheet :status_bar_sheet
4
4
 
5
5
  attr_accessor :status_bar_view, :notice_view, :notice_label, :activity_view, :activity_spinner, :activity_label, :success_view, :success_image, :success_label, :error_view, :error_image, :error_label
6
6
 
7
- layout :status_bar_view_controller do
7
+ layout :status_bar_vc_view do
8
8
 
9
9
  @status_bar_view = subview(UIView, :status_bar_view) do
10
10
  @notice_view = subview(UIView, :notice_view) do
data/lib/status_bar.rb CHANGED
@@ -33,5 +33,5 @@ Motion::Project::App.setup do |app|
33
33
  end
34
34
 
35
35
  # app.files.unshift Dir.glob(File.join(lib_dir_path, "project/**/*.rb"))
36
- app.resources_dirs << File.join(File.dirname(__FILE__), 'resources')
36
+ # app.resources_dirs << File.join(File.dirname(__FILE__), 'resources')
37
37
  end
@@ -1,52 +1,167 @@
1
1
  describe "A - DemoController" do
2
2
  tests DemoController
3
-
4
- # I gave up testing, because things good weird. If anyone wants to take up this, I'd love to see how they'd do it.
5
3
 
6
- context "B - Verify button existence" do
4
+ before do
5
+ # Buttons
6
+ @show_notice_button = view("Show Notice")
7
+ @show_activity_button = view("Show Activity")
8
+ @show_success_button = view("Show Success")
9
+ @show_error_button = view("Show Error")
10
+ @hide_notice_button = view("Hide Notice")
11
+ @visibility_button = view("Visible?")
12
+
13
+ # Statusbar view
14
+ @status_bar_view = controller.view.viewWithStylename(:status_bar_view)
15
+
16
+ # Statusbar subviews
17
+ @notice_view = controller.view.viewWithStylename(:notice_view)
18
+ @notice_label = controller.view.viewWithStylename(:notice_label)
19
+ @activity_view = controller.view.viewWithStylename(:activity_view)
20
+ @activity_spinner = controller.view.viewWithStylename(:activity_spinner)
21
+ @activity_label = controller.view.viewWithStylename(:activity_label)
22
+ @success_view = controller.view.viewWithStylename(:success_view)
23
+ @success_image = controller.view.viewWithStylename(:success_image)
24
+ @success_label = controller.view.viewWithStylename(:success_label)
25
+ @error_view = controller.view.viewWithStylename(:error_view)
26
+ @error_image = controller.view.viewWithStylename(:error_image)
27
+ @error_label = controller.view.viewWithStylename(:error_label)
28
+ end
29
+
30
+
7
31
 
8
- it "show notice button" do
9
- view("Show Notice").should.not.equal nil
32
+ context "B - View existence" do
33
+
34
+ it "buttons" do
35
+ @show_notice_button.should.not.equal nil
36
+ @show_activity_button.should.not.equal nil
37
+ @show_success_button.should.not.equal nil
38
+ @show_error_button.should.not.equal nil
39
+ @hide_notice_button.should.not.equal nil
40
+ @visibility_button.should.not.equal nil
10
41
  end
11
42
 
12
- it "show activity button" do
13
- view("Show Activity").should.not.equal nil
43
+ it "statusbar view" do
44
+ @status_bar_view.should.not.equal nil
14
45
  end
15
46
 
16
- it "show success button" do
17
- view("Show Success").should.not.equal nil
47
+ it "statusbar subviews" do
48
+ @notice_view.should.not.equal nil
49
+ @notice_label.should.not.equal nil
50
+ @activity_view.should.not.equal nil
51
+ @activity_spinner.should.not.equal nil
52
+ @activity_label.should.not.equal nil
53
+ @success_view.should.not.equal nil
54
+ @success_image.should.not.equal nil
55
+ @success_label.should.not.equal nil
56
+ @error_view.should.not.equal nil
57
+ @error_image.should.not.equal nil
58
+ @error_label.should.not.equal nil
18
59
  end
19
60
 
20
- it "show error button" do
21
- view("Show Error").should.not.equal nil
61
+ end
62
+
63
+
64
+
65
+ context "B - Clicking buttons" do
66
+
67
+ it "show notice" do
68
+ @notice_view.y.should.equal 20
69
+ tap "Show Notice"
70
+ wait 0.3 do
71
+ @notice_view.y.should.equal 0
72
+ end
22
73
  end
23
74
 
24
- it "hide notice button" do
25
- view("Hide Notice").should.not.equal nil
75
+ it "activity notice" do
76
+ @activity_view.y.should.equal 20
77
+ tap "Show Activity"
78
+ wait 0.3 do
79
+ @activity_view.y.should.equal 0
80
+ end
26
81
  end
27
82
 
28
- it "visible? button" do
29
- view("Visible?").should.not.equal nil
83
+ it "success notice" do
84
+ @success_view.y.should.equal 20
85
+ tap "Show Success"
86
+ wait 0.3 do
87
+ @success_view.y.should.equal 0
88
+ end
89
+ end
90
+
91
+ it "error notice" do
92
+ @error_view.y.should.equal 20
93
+ tap "Show Error"
94
+ wait 0.3 do
95
+ @error_view.y.should.equal 0
96
+ end
97
+ end
98
+
99
+ it "hide notice" do
100
+ @status_bar_view.y.should.equal 0
101
+ tap "Hide Notice"
102
+ wait 0.3 do
103
+ @status_bar_view.y.should.equal 20
104
+ end
30
105
  end
31
106
 
32
107
  end
33
108
 
34
109
 
35
110
 
36
- # context "B - Clicking buttons" do
111
+ context "B - Multiple clicks" do
37
112
 
38
- # it "notice button should show notice"
113
+ it "show success notice three times" do
114
+ @success_view.y.should.equal 20
115
+ tap "Show Success"
116
+ wait 0.3 do
117
+ tap "Show Success"
118
+ @success_view.y.should.equal 0
119
+ end
39
120
 
40
- # it "activity button should show activity"
121
+ wait 0.4 do
122
+ tap "Show Success"
123
+ @success_view.y.should.equal 0
124
+ end
41
125
 
42
- # it "success button should show success"
126
+ wait 0.5 do
127
+ @success_view.y.should.equal 0
128
+ end
129
+ end
43
130
 
44
- # it "error button should show error"
131
+ it "show success notice twice with different message" do
132
+ @notice_view.y.should.equal 20
133
+ tap "Show Notice"
134
+ wait 0.3 do
135
+ @notice_view.y.should.equal 0
136
+ @notice_label.text.should.equal "This is a notice"
137
+ controller.status_bar.show_notice "This is another notice"
138
+ end
139
+
140
+ wait 0.4 do
141
+ @notice_view.y.should.equal 0
142
+ @notice_label.text.should.equal "This is another notice"
143
+ end
144
+ end
45
145
 
46
- # it "hide button should hide notice"
146
+ it "show success, then notice, then error" do
147
+ @success_view.y.should.equal 20
148
+ tap "Show Success"
149
+ wait 0.3 do
150
+ @success_view.y.should.equal 0
151
+ tap "Show Notice"
152
+ end
153
+
154
+ wait 0.4 do
155
+ @notice_view.y.should < 20
156
+ tap "Show Error"
157
+ end
158
+
159
+ wait 0.5 do
160
+ @error_view.y.should < 20
161
+ end
162
+ end
47
163
 
48
- # it "visible buttons should check visibility"
164
+ end
49
165
 
50
- # end
51
166
 
52
167
  end
data/status_bar.gemspec CHANGED
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- STATUSBAR_VERSION = "0.2"
2
+ STATUSBAR_VERSION = "0.2.1"
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "status_bar"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: status_bar
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Holger Sindbaek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-01 00:00:00.000000000 Z
11
+ date: 2013-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  version: '0'
167
167
  requirements: []
168
168
  rubyforge_project:
169
- rubygems_version: 2.1.8
169
+ rubygems_version: 2.1.10
170
170
  signing_key:
171
171
  specification_version: 4
172
172
  summary: RubyMotion status bar wrapper.