RedAlert 1.0 → 1.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,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