tgios 0.0.19 → 0.0.20

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,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