tgios 0.0.19 → 0.0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +1 -1
- data/lib/tgios/animatable_view.rb +3 -0
- data/lib/tgios/photo_upload.rb +58 -0
- data/lib/tgios/version.rb +1 -1
- data/lib/tgios/xml_parser.rb +48 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Zjk1Yzc5OWZmZjlkMjFlMTJiMmJhNDU0ZjI0NjRjNzFlM2Q3ZTQwZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzgyYjkyNDZkODAyZjY5NGViODViOTdhOTg0ZjUyMDA3YjhmOTQ4Yw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDJmYzY1ZTNhM2IxMzE4ZTNmOWVjMzQ5ODk1YmJkYzQ0NjNiNWZkNmU2MDA4
|
10
|
+
ZWVlNzMzNGVlMzVkMmE3MGI0ZjQ2NzY2MDg2NGU3OWUxZWY3MjA5OGYyYWE0
|
11
|
+
NDVmMmJmMDhjMGQ1ZTc0MmRkYzRiZDU5NjZkZGFjODZkMTNmNTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjA0OTE2ZTkyMTA4NzNkMTgxZWFjMDU3OTJhMjg1ZGNmNWU4ODdmMmFmNmU2
|
14
|
+
ZmExZmI1NWMxN2YxM2RkZTA2ZDQwZjBkZDcxZTM5MWEyYjM5MTU5OTExOGRi
|
15
|
+
ZDFlYzZhOTI1YzMzNzJjZGRlYzFjNjgzMmViOGQ5ZGIzZDJhYmY=
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,58 @@
|
|
1
|
+
module Tgios
|
2
|
+
class PhotoUpload < BindingBase
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
@events = {}
|
6
|
+
end
|
7
|
+
|
8
|
+
def on(event_key,&block)
|
9
|
+
@events[event_key] = block.weak!
|
10
|
+
end
|
11
|
+
|
12
|
+
def upload_s3(fixed_image, get_s3_result, s3_appended_hash=nil, s3_removed_key_arr=nil, &block)
|
13
|
+
img_data = UIImageJPEGRepresentation(fixed_image, 0.8)
|
14
|
+
|
15
|
+
s3_params = get_s3_result[:params].dup
|
16
|
+
key = "#{s3_params[:key]}"
|
17
|
+
key.slice!('${filename}')
|
18
|
+
s3_params[:key] = "#{key}#{BubbleWrap.create_uuid}/${filename}"
|
19
|
+
s3_params['Content-Type'] = 'image/jpeg'
|
20
|
+
|
21
|
+
s3_params.merge!(s3_appended_hash) unless s3_appended_hash.nil?
|
22
|
+
s3_removed_key_arr.each do |key|
|
23
|
+
s3_params.delete(key)
|
24
|
+
end unless s3_removed_key_arr.nil?
|
25
|
+
|
26
|
+
@client = AFMotion::Client.build(get_s3_result[:url]) do
|
27
|
+
header "Accept", "application/xml"
|
28
|
+
response_serializer :xml
|
29
|
+
end
|
30
|
+
|
31
|
+
@client.multipart_post('/', s3_params) do |post_s3_result, form_data, progress|
|
32
|
+
if form_data
|
33
|
+
form_data.appendPartWithFileData(img_data, name: "file", fileName:"ios.jpg", mimeType: "image/jpeg")
|
34
|
+
elsif progress
|
35
|
+
@events[:progress].call unless @events[:progress].nil?
|
36
|
+
elsif post_s3_result.success?
|
37
|
+
XMLParser.new.parse_xml(post_s3_result.object,'Key',:delegate) do |s3_key|
|
38
|
+
block.call(true, s3_key)
|
39
|
+
end
|
40
|
+
else
|
41
|
+
block.call(false, post_s3_result)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def onPrepareForRelease
|
47
|
+
ap 'PhotoUpload clear_all'
|
48
|
+
@events = nil
|
49
|
+
@client = nil
|
50
|
+
end
|
51
|
+
|
52
|
+
def dealloc
|
53
|
+
onPrepareForRelease
|
54
|
+
super
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
data/lib/tgios/version.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
module Tgios
|
2
|
+
class XMLParser
|
3
|
+
|
4
|
+
attr_reader :s3_key
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
@nsxmlparser = nil
|
8
|
+
@events = {}
|
9
|
+
@key = nil
|
10
|
+
end
|
11
|
+
|
12
|
+
def parse_xml(nsxmlparser_object,key_name,event_name, &block)
|
13
|
+
@nsxmlparser = nsxmlparser_object
|
14
|
+
@key = key_name
|
15
|
+
@events[event_name] = block
|
16
|
+
|
17
|
+
delegate_parser
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
21
|
+
def delegate_parser
|
22
|
+
@nsxmlparser.delegate = self
|
23
|
+
@nsxmlparser.parse
|
24
|
+
s3_key = @nsxmlparser.delegate.s3_key
|
25
|
+
@events[:delegate].call(s3_key) unless @events[:delegate].nil?
|
26
|
+
end
|
27
|
+
|
28
|
+
def parser(parser, didStartElement:elementName, namespaceURI:namespaceURI, qualifiedName:qualifiedName, attributes:attributeDict)
|
29
|
+
if elementName == @key
|
30
|
+
@scan_key = true
|
31
|
+
@s3_key = ''
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def parser(parser, didEndElement:elementName, namespaceURI:namespaceURI, qualifiedName:qName)
|
37
|
+
if elementName == @key
|
38
|
+
@scan_key = false
|
39
|
+
parser.abortParsing
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def parser(parser, foundCharacters:string)
|
44
|
+
@s3_key += string if @scan_key
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tgios
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- April Tsang
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-03-
|
12
|
+
date: 2014-03-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sugarcube
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- lib/tgios/ns_date_helper.rb
|
98
98
|
- lib/tgios/photo_controller.rb
|
99
99
|
- lib/tgios/photo_scroll_view.rb
|
100
|
+
- lib/tgios/photo_upload.rb
|
100
101
|
- lib/tgios/search_controller.rb
|
101
102
|
- lib/tgios/ui_button_binding.rb
|
102
103
|
- lib/tgios/ui_picker_view_list_binding.rb
|
@@ -106,6 +107,7 @@ files:
|
|
106
107
|
- lib/tgios/ui_text_field_binding.rb
|
107
108
|
- lib/tgios/ui_text_view_binding.rb
|
108
109
|
- lib/tgios/version.rb
|
110
|
+
- lib/tgios/xml_parser.rb
|
109
111
|
- resources/Default-568h@2x.png
|
110
112
|
- spec/ns_date_helper_spec.rb
|
111
113
|
- tgios.gemspec
|