redpotion 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -35
- data/bin/potion +6 -2
- data/lib/project/ext/kernel.rb +9 -1
- data/lib/project/ext/object.rb +4 -0
- data/lib/project/ext/ui_image_view.rb +3 -1
- data/lib/project/ext/ui_view.rb +16 -16
- data/lib/project/pro_motion/collection_screen.rb +13 -0
- data/lib/project/pro_motion/data_table.rb +5 -2
- data/lib/project/pro_motion/data_table_searchable.rb +9 -13
- data/lib/project/pro_motion/table.rb +18 -0
- data/lib/project/ruby_motion_query/app.rb +10 -0
- data/lib/project/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c612a7c529685b2e3d9788f59c71f6326ed2e9c5
|
4
|
+
data.tar.gz: 0868dfb194fad46b871c527a278ea85e356e39af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db1174afce9b8419e240349f1dc88a43b06d6dcdb69ae2b2a95062825a4a0888061b30d38eb9a61054810ad25625e50e9be9a2b32fe3bcdabe4578fd42b472d5
|
7
|
+
data.tar.gz: 2384817d833b77a6950aaf56ad8c60039bf6cbb99bbe623d97f2a26ef1da4020a4f3bf273464f449642bc0174e9603f5b7af73a7e8e70275f2e471288e56de7f
|
data/README.md
CHANGED
@@ -30,38 +30,4 @@ ProMotion for screens and RMQ for styles, animations, traversing, events, etc.
|
|
30
30
|
|
31
31
|
**Read the [RedPotion Documentation](http://docs.redpotion.org) here**
|
32
32
|
|
33
|
-
|
34
|
-
<br />
|
35
|
-
|
36
|
-
----------
|
37
|
-
|
38
|
-
<br />
|
39
|
-
|
40
|
-
## Quick start
|
41
|
-
|
42
|
-
```
|
43
|
-
gem install redpotion
|
44
|
-
|
45
|
-
potion create my_app
|
46
|
-
bundle
|
47
|
-
rake pod:install
|
48
|
-
rake
|
49
|
-
```
|
50
|
-
|
51
|
-
## Installation
|
52
|
-
|
53
|
-
- `gem install redpotion`
|
54
|
-
|
55
|
-
If you use rbenv
|
56
|
-
|
57
|
-
- `rbenv rehash`
|
58
|
-
|
59
|
-
add it to your `Gemfile`:
|
60
|
-
|
61
|
-
- `gem 'redpotion'`
|
62
|
-
|
63
|
-
<br />
|
64
|
-
|
65
|
-
## Read the documentation at [docs.redpotion.org](http://docs.redpotion.org)
|
66
|
-
|
67
|
-
<br />
|
33
|
+
**Read the [RedPotion Quick Start Documentation](http://docs.redpotion.org/en/latest/quick_start/) here**
|
data/bin/potion
CHANGED
@@ -78,6 +78,10 @@ class PotionCommandLine
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
def include_skip_option?(options)
|
82
|
+
(options.first && options.first.include?('--'))
|
83
|
+
end
|
84
|
+
|
81
85
|
def create(template_or_app_name, *options)
|
82
86
|
# Dry Run option - TODO - change this to --dry_run to streamline
|
83
87
|
if options.first == 'dry_run'
|
@@ -85,7 +89,7 @@ class PotionCommandLine
|
|
85
89
|
options.slice!(0)
|
86
90
|
end
|
87
91
|
|
88
|
-
if options.
|
92
|
+
if options.compact.empty? || include_skip_option?(options)
|
89
93
|
new(template_or_app_name, *options)
|
90
94
|
else
|
91
95
|
generate(template_or_app_name, *options)
|
@@ -263,7 +267,7 @@ end
|
|
263
267
|
|
264
268
|
# Process input, execute actions
|
265
269
|
unless ARGV.length > 0
|
266
|
-
puts "potion - Invalid command, do something like this: potion
|
270
|
+
puts "potion - Invalid command, do something like this: potion new my_new_app\n"
|
267
271
|
puts PotionCommandLine::HELP_TEXT
|
268
272
|
exit
|
269
273
|
end
|
data/lib/project/ext/kernel.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
if RUBYMOTION_ENV == "development"
|
2
|
-
|
2
|
+
class TopLevel
|
3
3
|
def live(interval = 1.0, debug=false)
|
4
4
|
rmq_live_stylesheets interval, debug
|
5
5
|
end
|
@@ -7,5 +7,13 @@ if RUBYMOTION_ENV == "development"
|
|
7
7
|
def enable_live_stylesheets(interval)
|
8
8
|
enable_rmq_live_stylesheets interval
|
9
9
|
end
|
10
|
+
|
11
|
+
def open(screen, args={})
|
12
|
+
find.screen.open(screen, args)
|
13
|
+
end
|
14
|
+
|
15
|
+
def close(args={})
|
16
|
+
find.screen.close(args)
|
17
|
+
end
|
10
18
|
end
|
11
19
|
end
|
data/lib/project/ext/object.rb
CHANGED
@@ -16,7 +16,9 @@ class UIImageView
|
|
16
16
|
options:SDWebImageRefreshCached,
|
17
17
|
progress:nil,
|
18
18
|
completed: -> image, error, cacheType, finished {
|
19
|
-
|
19
|
+
Dispatch::Queue.main.async do
|
20
|
+
self.image = image
|
21
|
+
end unless image.nil?
|
20
22
|
})
|
21
23
|
else
|
22
24
|
puts "\n[RedPotion ERROR] tried to set remote_image without SDWebImage cocoapod. Please add this to your Rakefile: \n\napp.pods do\n pod \"SDWebImage\"\nend\n"
|
data/lib/project/ext/ui_view.rb
CHANGED
@@ -19,32 +19,32 @@ class UIView
|
|
19
19
|
on_styled
|
20
20
|
end
|
21
21
|
|
22
|
-
def append(view_or_constant, style=nil, opts = {})
|
23
|
-
rmq(self).append(view_or_constant, style, opts)
|
22
|
+
def append(view_or_constant, style=nil, opts = {}, &block)
|
23
|
+
rmq(self).append(view_or_constant, style, opts, &block)
|
24
24
|
end
|
25
|
-
def append!(view_or_constant, style=nil, opts = {})
|
26
|
-
rmq(self).append!(view_or_constant, style, opts)
|
25
|
+
def append!(view_or_constant, style=nil, opts = {}, &block)
|
26
|
+
rmq(self).append!(view_or_constant, style, opts, &block)
|
27
27
|
end
|
28
28
|
|
29
|
-
def prepend(view_or_constant, style=nil, opts = {})
|
30
|
-
rmq(self).prepend(view_or_constant, style, opts)
|
29
|
+
def prepend(view_or_constant, style=nil, opts = {}, &block)
|
30
|
+
rmq(self).prepend(view_or_constant, style, opts, &block)
|
31
31
|
end
|
32
|
-
def prepend!(view_or_constant, style=nil, opts = {})
|
33
|
-
rmq(self).prepend!(view_or_constant, style, opts)
|
32
|
+
def prepend!(view_or_constant, style=nil, opts = {}, &block)
|
33
|
+
rmq(self).prepend!(view_or_constant, style, opts, &block)
|
34
34
|
end
|
35
35
|
|
36
|
-
def create(view_or_constant, style=nil, opts = {})
|
37
|
-
rmq(self).create(view_or_constant, style, opts)
|
36
|
+
def create(view_or_constant, style=nil, opts = {}, &block)
|
37
|
+
rmq(self).create(view_or_constant, style, opts, &block)
|
38
38
|
end
|
39
|
-
def create!(view_or_constant, style=nil, opts = {})
|
40
|
-
rmq(self).create!(view_or_constant, style, opts)
|
39
|
+
def create!(view_or_constant, style=nil, opts = {}, &block)
|
40
|
+
rmq(self).create!(view_or_constant, style, opts, &block)
|
41
41
|
end
|
42
42
|
|
43
|
-
def build(view, style = nil, opts = {})
|
44
|
-
rmq(self).build(view, style, opts)
|
43
|
+
def build(view, style = nil, opts = {}, &block)
|
44
|
+
rmq(self).build(view, style, opts, &block)
|
45
45
|
end
|
46
|
-
def build!(view, style = nil, opts = {})
|
47
|
-
rmq(self).build!(view, style, opts)
|
46
|
+
def build!(view, style = nil, opts = {}, &block)
|
47
|
+
rmq(self).build!(view, style, opts, &block)
|
48
48
|
end
|
49
49
|
|
50
50
|
def on(event, args = {}, &block)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module ProMotion
|
2
|
+
class CollectionScreen
|
3
|
+
|
4
|
+
def set_stylesheet
|
5
|
+
super.tap do
|
6
|
+
if self.class.rmq_style_sheet_class
|
7
|
+
self.collection_view.rmq.apply_style(:collection_view) if self.rmq.stylesheet.respond_to?(:collection_view)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -58,7 +58,7 @@ module ProMotion
|
|
58
58
|
data_with_scope = data_model.send(data_scope)
|
59
59
|
end
|
60
60
|
|
61
|
-
if data_with_scope.sort_descriptors.
|
61
|
+
if data_with_scope.sort_descriptors.blank?
|
62
62
|
# Try to be smart about how we sort things if a sort descriptor doesn't exist
|
63
63
|
attributes = data_model.send(:attribute_names)
|
64
64
|
sort_attribute = nil
|
@@ -67,7 +67,10 @@ module ProMotion
|
|
67
67
|
end
|
68
68
|
|
69
69
|
if sort_attribute
|
70
|
-
|
70
|
+
|
71
|
+
unless data_scope == :all
|
72
|
+
mp "The `#{data_model}` model scope `#{data_scope}` needs a sort descriptor. Add sort_by(:property) to your scope. Currently sorting by :#{sort_attribute}.", force_color: :yellow
|
73
|
+
end
|
71
74
|
data_model.send(data_scope).sort_by(sort_attribute)
|
72
75
|
else
|
73
76
|
# This is where the application says goodbye and dies in a fiery crash.
|
@@ -2,21 +2,15 @@ module ProMotion
|
|
2
2
|
module Table
|
3
3
|
module Searchable
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
if self.is_a?(ProMotion::DataTableScreen)
|
11
|
-
if params[:search_bar][:fields].nil?
|
12
|
-
raise "ERROR: You must specify fields:[:example] for your searchable DataTableScreen. It should be an array of fields you want searched in CDQ."
|
13
|
-
else
|
14
|
-
@data_table_predicate_fields = all_params[:search_bar][:fields]
|
15
|
-
end
|
5
|
+
def make_data_table_searchable(params={})
|
6
|
+
if params[:search_bar][:fields].nil?
|
7
|
+
raise "ERROR: You must specify fields:[:example] for your searchable DataTableScreen. It should be an array of fields you want searched in CDQ."
|
8
|
+
else
|
9
|
+
@data_table_predicate_fields = params[:search_bar][:fields]
|
16
10
|
end
|
11
|
+
params[:delegate] = search_delegate
|
17
12
|
|
18
|
-
|
19
|
-
all_params
|
13
|
+
make_searchable(params)
|
20
14
|
end
|
21
15
|
|
22
16
|
def search_fetch_controller
|
@@ -24,6 +18,8 @@ module ProMotion
|
|
24
18
|
end
|
25
19
|
|
26
20
|
def new_frc_with_search(search_string)
|
21
|
+
return if @data_table_predicate_fields.blank?
|
22
|
+
|
27
23
|
# Create the predicate from the predetermined fetch scope.
|
28
24
|
where = @data_table_predicate_fields.map{|f| "#{f} CONTAINS[cd] \"#{search_string}\"" }.join(" OR ")
|
29
25
|
search_scope = fetch_scope.where(where)
|
@@ -5,4 +5,22 @@ module ProMotion
|
|
5
5
|
self.rmq.build(cell)
|
6
6
|
end
|
7
7
|
end
|
8
|
+
|
9
|
+
# This is duplicated from ProMotion in order to be call
|
10
|
+
# make_data_table_searchable instead of make_searchable
|
11
|
+
module Table
|
12
|
+
def set_up_searchable
|
13
|
+
if self.class.respond_to?(:get_searchable) && self.class.get_searchable
|
14
|
+
if self.is_a?(ProMotion::DataTableScreen)
|
15
|
+
self.make_data_table_searchable(content_controller: self, search_bar: self.class.get_searchable_params)
|
16
|
+
else
|
17
|
+
self.make_searchable(content_controller: self, search_bar: self.class.get_searchable_params)
|
18
|
+
end
|
19
|
+
if self.class.get_searchable_params[:hide_initially]
|
20
|
+
self.tableView.contentOffset = CGPointMake(0, self.searchDisplayController.searchBar.frame.size.height)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
8
26
|
end
|
@@ -8,6 +8,16 @@ module RubyMotionQuery
|
|
8
8
|
def data(*args) # Do not alias this
|
9
9
|
CDQ.cdq(*args)
|
10
10
|
end
|
11
|
+
|
12
|
+
def reset_image_cache!
|
13
|
+
if !!defined?(SDWebImageManager)
|
14
|
+
image_cache = SDImageCache.sharedImageCache
|
15
|
+
image_cache.clearMemory
|
16
|
+
image_cache.clearDisk
|
17
|
+
else
|
18
|
+
puts "\n[RedPotion ERROR] tried to reset image cache without SDWebImage cocoapod. Please add this to your Rakefile: \n\napp.pods do\n pod \"SDWebImage\"\nend\n"
|
19
|
+
end
|
20
|
+
end
|
11
21
|
end
|
12
22
|
end
|
13
23
|
end
|
data/lib/project/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redpotion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- InfiniteRed
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby_motion_query
|
@@ -17,28 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
20
|
+
version: 1.7.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.
|
27
|
+
version: 1.7.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: ProMotion
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 2.
|
34
|
+
version: 2.5.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 2.
|
41
|
+
version: 2.5.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: motion_print
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/project/ext/ui_table_view_cell.rb
|
130
130
|
- lib/project/ext/ui_view.rb
|
131
131
|
- lib/project/ext/ui_view_controller.rb
|
132
|
+
- lib/project/pro_motion/collection_screen.rb
|
132
133
|
- lib/project/pro_motion/data_table.rb
|
133
134
|
- lib/project/pro_motion/data_table_screen.rb
|
134
135
|
- lib/project/pro_motion/data_table_search_delegate.rb
|
@@ -180,10 +181,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
181
|
version: '0'
|
181
182
|
requirements: []
|
182
183
|
rubyforge_project:
|
183
|
-
rubygems_version: 2.4.
|
184
|
+
rubygems_version: 2.4.5.1
|
184
185
|
signing_key:
|
185
186
|
specification_version: 4
|
186
187
|
summary: RedPotion combines RMQ, ProMotion, CDQ, AFMotion, and more for the perfect
|
187
188
|
mix to develop in RubyMotion fast
|
188
189
|
test_files: []
|
189
|
-
has_rdoc:
|