RedAlert 1.0 → 1.1

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: d5b3222e32adab1455a1dbd9abce3f10ce3466e8
4
- data.tar.gz: 8ef50348c2fae8fc4afca1b9d6265a255eb133e0
3
+ metadata.gz: bb460bb7537e289c09e0a687625240722150b926
4
+ data.tar.gz: 8045ee75e15e7e3dd3b30d8f38e827ebc5b50c4e
5
5
  SHA512:
6
- metadata.gz: 92935d5c9fb5daa8135cc3db5e04bd9747209bae99f8d77754febd10fb425d1b27450b159003afc39d538523145280aecd323bdbf01263c6fa6fbc65f7776d80
7
- data.tar.gz: 4e99da49d1942c5c9a27c86a060e10e88fe8a846988d015a61f1f560e0df707f5285c7cf6828af496b5d64601acf094884f15c3e2133aaaa67a980dce7a25964
6
+ metadata.gz: 934d7a4b369c1fab4587fb4f0c83ad32f6a508baf64389f8467d1735e601ca755e2e9dc58eba5935a87469003395ce87ac8dd0c2c32a5e03016b4a7a3e9e8da1
7
+ data.tar.gz: 1839259b6393176975b33e3ac73f1b9721ac6962b3dd2ff87e868c1796476486cdda401bc9e470b0670056bbabbd3b3e4d4631ce8815836d3a02679a54a6dc7d
data/README.md CHANGED
@@ -16,9 +16,9 @@ When run on iOS 7, RedAlert uses `UIAlertView` present alerts and `UIActionSheet
16
16
 
17
17
  *:dart: RedAlert Means you don't have to worry about a thing!*
18
18
 
19
- ## Screenshot
19
+ ## In Action
20
20
 
21
- <img src="./_art/screen.png" alt="Screen Shot" width="500" />
21
+ <img src="./_art/demo.gif" alt="Demo" width="369" height="677" />
22
22
 
23
23
  ## Installation
24
24
 
@@ -61,6 +61,19 @@ Add the **RedAlert** gem to your Gemfile.
61
61
  end
62
62
  ```
63
63
 
64
+ You can pass in symbols or strings and we'll build the buttons for you:
65
+
66
+ ```ruby
67
+ rmq.app.alert title: "Hey!", actions: [ "Go ahead", :cancel, :delete ] do |button_tag|
68
+ case button_tag
69
+ when :cancel then puts "Canceled!"
70
+ when :delete then puts "Deleted!"
71
+ when "Go ahead" then puts "Going ahead!"
72
+ end
73
+ end
74
+ ```
75
+
76
+
64
77
  You can even use the `make_button` helper to create custom UIAction buttons to add:
65
78
  ```ruby
66
79
  # Use custom UIAction buttons and add them
@@ -102,12 +115,14 @@ Because capabilities of iOS 7 & 8 alert-components are different, just a few edg
102
115
  * `UIAlertView`'s `alertViewStyles` are not available through RedAlert as they aren't compatible with iOS 8. You'll have to call that directly.
103
116
 
104
117
 
105
- ## More info
118
+ ## Credits and Info
106
119
 
107
120
  **i18n support by [Mark Rickert](https://github.com/GantMan/RedAlert/pull/2)**
108
121
 
109
122
  **iOS 7 support by [Steve Kellock](https://github.com/GantMan/RedAlert/pull/3)**
110
123
 
124
+ **Automatic button building by [Jamon Holmgren](https://github.com/GantMan/RedAlert/pull/7)**
125
+
111
126
  Feel free to read up on UIAlertController to see what all is wrapped up in this gem.
112
127
  * [Hayageek](http://hayageek.com/uialertcontroller-example-ios/)
113
128
  * [NSHipster](http://nshipster.com/uialertcontroller/)
@@ -24,17 +24,17 @@ module RubyMotionQuery
24
24
  [
25
25
  rmq.app.make_button(title: yes, tag: :yes, &block),
26
26
  rmq.app.make_button(title: no, tag: :no, &block),
27
- rmq.app.make_button({title: cancel, tag: :cancel, style: :cancel}, &block)
27
+ rmq.app.make_button(title: cancel, tag: :cancel, style: :cancel, &block)
28
28
  ]
29
29
  when :ok_cancel
30
30
  [
31
- rmq.app.make_button(ok, &block),
32
- rmq.app.make_button({title: cancel, tag: :cancel, style: :cancel}, &block)
31
+ rmq.app.make_button(title: ok, &block),
32
+ rmq.app.make_button(title: cancel, tag: :cancel, style: :cancel, &block)
33
33
  ]
34
34
  when :delete_cancel
35
35
  [
36
- rmq.app.make_button({title: delete, tag: :delete, style: :destructive}, &block),
37
- rmq.app.make_button({title: cancel, tag: :cancel, style: :cancel}, &block)
36
+ rmq.app.make_button(title: delete, tag: :delete, style: :destructive, &block),
37
+ rmq.app.make_button(title: cancel, tag: :cancel, style: :cancel, &block)
38
38
  ]
39
39
  else
40
40
  []
@@ -39,7 +39,7 @@ module RubyMotionQuery
39
39
  actions = []
40
40
  if opts[:actions] && opts[:actions].is_a?(Array) && opts[:actions].length > 0
41
41
  # caller has pre-defined actions
42
- actions << opts[:actions]
42
+ actions << map_action_buttons(opts[:actions], &block)
43
43
  elsif opts[:actions] && opts[:actions].is_a?(Symbol)
44
44
  # caller wants a template
45
45
  actions << add_template_actions(opts[:actions], &block)
@@ -77,6 +77,31 @@ module RubyMotionQuery
77
77
  AlertAction.new(opts, &block)
78
78
  end
79
79
 
80
+ # Returns an array of action buttons based on the symbols you pass in.
81
+ # Usage Example:
82
+ # rmq.app.alert title: "Hey!", actions: [ "Go ahead", :cancel, :delete ] do |button_tag|
83
+ # puts "#{button_text} pressed"
84
+ # end
85
+ def map_action_buttons(buttons, &block)
86
+ yes = NSLocalizedString("Yes", nil)
87
+ no = NSLocalizedString("No", nil)
88
+ cancel = NSLocalizedString("Cancel", nil)
89
+ ok = NSLocalizedString("OK", nil)
90
+ delete = NSLocalizedString("Delete", nil)
91
+
92
+ buttons.map do |button|
93
+ case button
94
+ when :cancel then make_button(title: cancel, tag: :cancel, style: :cancel, &block)
95
+ when :yes then make_button(title: yes, tag: :yes, &block)
96
+ when :no then make_button(title: no, tag: :no, &block)
97
+ when :ok then make_button(title: ok, tag: :ok, &block)
98
+ when :delete then make_button(title: delete, tag: :delete, style: :destructive, &block)
99
+ when String then make_button(title: button, tag: button, &block)
100
+ else button
101
+ end
102
+ end
103
+ end
104
+
80
105
  end # close eigenclass
81
106
 
82
107
  end # close App
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RedAlert
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
- - Gant
7
+ - Gant Laborde
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-25 00:00:00.000000000 Z
11
+ date: 2015-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby_motion_query