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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjM2YjE4NDViYThhNGM3NmE1MTNhZDYyNzEwY2QyZDU1NjFmZTgxNA==
4
+ Zjk1Yzc5OWZmZjlkMjFlMTJiMmJhNDU0ZjI0NjRjNzFlM2Q3ZTQwZQ==
5
5
  data.tar.gz: !binary |-
6
- YjIxOWQxYjNkM2E0M2M2MTUxYzcyNTNiNWEzNDU4NmJhZDg1YTJlMQ==
6
+ MzgyYjkyNDZkODAyZjY5NGViODViOTdhOTg0ZjUyMDA3YjhmOTQ4Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODczYmMyN2VhZmYzYjI4YTg3YzQ5MzMyNDk0YjZmN2Q2YzhjNTQyMTAxZTA2
10
- ODYzNjczYWZkZWM1MDdlMjkzZjA5MTcxNDUyNWMxZTkxOGM4MTcyYTY4Yjhi
11
- MmEyOWNhODllOGI0YmJkNzJlODAzYzIzZDFhMDg3ZWI0NmU1NWU=
9
+ MDJmYzY1ZTNhM2IxMzE4ZTNmOWVjMzQ5ODk1YmJkYzQ0NjNiNWZkNmU2MDA4
10
+ ZWVlNzMzNGVlMzVkMmE3MGI0ZjQ2NzY2MDg2NGU3OWUxZWY3MjA5OGYyYWE0
11
+ NDVmMmJmMDhjMGQ1ZTc0MmRkYzRiZDU5NjZkZGFjODZkMTNmNTI=
12
12
  data.tar.gz: !binary |-
13
- NTIzYjVkNDAyNDJlZTdiZjFlNGU4NWQ1OTEzZjc4YzViYzM1M2UwNDUwY2M4
14
- NjAzZDcwOWU4M2RjMzdlZmU1YjUyMzk5YmY4NjliMWY0ZGY3YWE5MjU3MmJm
15
- Y2I5NDI3MTQ1ZTIzZWJhMmRlNGRmOGY3NDg5ZTgyYjk1ZmM0ODI=
13
+ MjA0OTE2ZTkyMTA4NzNkMTgxZWFjMDU3OTJhMjg1ZGNmNWU4ODdmMmFmNmU2
14
+ ZmExZmI1NWMxN2YxM2RkZTA2ZDQwZjBkZDcxZTM5MWEyYjM5MTU5OTExOGRi
15
+ ZDFlYzZhOTI1YzMzNzJjZGRlYzFjNjgzMmViOGQ5ZGIzZDJhYmY=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tgios (0.0.19)
4
+ tgios (0.0.20)
5
5
  awesome_print_motion
6
6
  motion-layout
7
7
  plastic_cup (>= 0.1.1)
@@ -9,6 +9,9 @@ module Tgios
9
9
  backgroundColor: :white.uicolor,
10
10
  alpha: 0.95)
11
11
  self.addSubview(bg_view)
12
+ if self.layer.respondsToSelector('setAllowsGroupOpacity:')
13
+ self.layer.allowsGroupOpacity = false
14
+ end
12
15
  self
13
16
  end
14
17
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Tgios
2
- VERSION = '0.0.19'
2
+ VERSION = '0.0.20'
3
3
  end
@@ -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.19
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-19 00:00:00.000000000 Z
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