droiuby 0.1.6 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/droiuby.rb +1 -1
- data/lib/droiuby/android.rb +59 -0
- data/lib/droiuby/application.rb +30 -0
- data/lib/droiuby/bootstrap.rb +263 -0
- data/lib/droiuby/droiuby.rb +47 -0
- data/lib/droiuby/loader.rb +36 -0
- data/lib/droiuby/plugins/plugins.rb +25 -0
- data/lib/droiuby/preload.rb +29 -0
- data/lib/droiuby/{project.rb → scripts/project.rb} +15 -6
- data/lib/droiuby/scripts/templates/ruby/Gemfile.erb +3 -0
- data/lib/droiuby/{templates → scripts/templates}/ruby/application.css.erb +0 -0
- data/lib/droiuby/{templates → scripts/templates}/ruby/config.droiuby.erb +0 -0
- data/lib/droiuby/{templates → scripts/templates}/ruby/gitignore.erb +0 -0
- data/lib/droiuby/{templates → scripts/templates}/ruby/index.rb.erb +0 -0
- data/lib/droiuby/{templates → scripts/templates}/ruby/index.xml.erb +0 -0
- data/lib/droiuby/support/asset.rb +47 -0
- data/lib/droiuby/support/autoload.rb +22 -0
- data/lib/droiuby/support/fixnum.rb +11 -0
- data/lib/droiuby/support/object.rb +11 -0
- data/lib/droiuby/support/string.rb +38 -0
- data/lib/droiuby/support/system.rb +14 -0
- data/lib/droiuby/support/thread.rb +17 -0
- data/lib/droiuby/support/to_query.rb +28 -0
- data/lib/droiuby/support/utils.rb +10 -0
- data/lib/droiuby/wrappers/accelerometer.rb +17 -0
- data/lib/droiuby/wrappers/activity.rb +64 -0
- data/lib/droiuby/wrappers/animation.rb +141 -0
- data/lib/droiuby/wrappers/async.rb +33 -0
- data/lib/droiuby/wrappers/button.rb +2 -0
- data/lib/droiuby/wrappers/canvas.rb +147 -0
- data/lib/droiuby/wrappers/collection/view_array.rb +21 -0
- data/lib/droiuby/wrappers/compound_button_wrapper.rb +25 -0
- data/lib/droiuby/wrappers/edit_text.rb +22 -0
- data/lib/droiuby/wrappers/image_button.rb +8 -0
- data/lib/droiuby/wrappers/intent.rb +24 -0
- data/lib/droiuby/wrappers/java_helpers/java_method_helper.rb +42 -0
- data/lib/droiuby/wrappers/java_helpers/view_helper.rb +84 -0
- data/lib/droiuby/wrappers/linear_layout.rb +15 -0
- data/lib/droiuby/wrappers/list_adapter_wrapper.rb +61 -0
- data/lib/droiuby/wrappers/list_view.rb +10 -0
- data/lib/droiuby/wrappers/listeners/auto_wrap.rb +72 -0
- data/lib/droiuby/wrappers/listeners/on_click_listener.rb +21 -0
- data/lib/droiuby/wrappers/listeners/on_web_console_ready_listener.rb +23 -0
- data/lib/droiuby/wrappers/motion_events.rb +34 -0
- data/lib/droiuby/wrappers/preferences.rb +59 -0
- data/lib/droiuby/wrappers/proxy_builder/interface_builder.rb +25 -0
- data/lib/droiuby/wrappers/runnable_wrapper.rb +16 -0
- data/lib/droiuby/wrappers/surface_view_wrapper.rb +59 -0
- data/lib/droiuby/wrappers/text_view.rb +28 -0
- data/lib/droiuby/wrappers/thread_pool.rb +18 -0
- data/lib/droiuby/wrappers/view_group_wrapper.rb +87 -0
- data/lib/droiuby/wrappers/view_wrapper.rb +221 -0
- data/lib/droiuby/wrappers/web_view.rb +16 -0
- data/lib/droiuby/wrappers/wrappers.rb +5 -0
- metadata +77 -51
@@ -0,0 +1,221 @@
|
|
1
|
+
require 'droiuby/wrappers/animation'
|
2
|
+
require 'droiuby/wrappers/java_helpers/view_helper'
|
3
|
+
|
4
|
+
class ViewWrapper
|
5
|
+
|
6
|
+
include JavaMethodHelper
|
7
|
+
include Droiuby::ViewHelper
|
8
|
+
include Droiuby::Wrappers::Listeners
|
9
|
+
|
10
|
+
java_fast_accessor Java::android.view.View, [Java::float], :x, :y
|
11
|
+
|
12
|
+
java_attr_accessor :right, :left, :top, :bottom, :alpha, :rotation, :pivot_x, :pivot_y, :translation_x,
|
13
|
+
:translation_y, :scroll_x, :scroll_y, :scale_x, :scale_y, :rotation_x, :rotation_y, :camera_distance,
|
14
|
+
:padding_left, :padding_top, :padding_right, :padding_bottom
|
15
|
+
|
16
|
+
java_attr_reader :id, :width, :height, :measured_width, :measured_height, :background
|
17
|
+
java_attr_writer :selected
|
18
|
+
|
19
|
+
java_attr_boolean_reader :selected
|
20
|
+
|
21
|
+
|
22
|
+
def initialize(view = nil)
|
23
|
+
unless view.nil?
|
24
|
+
@view = view
|
25
|
+
else
|
26
|
+
@view = Java::com.droiuby.wrappers.ViewRubyWrapper.new(_execution_bundle, self, _current_activity)
|
27
|
+
end
|
28
|
+
@builder = Java::com.droiuby.client.core.builder.ViewBuilder.new
|
29
|
+
@builder.setContext(_current_activity)
|
30
|
+
end
|
31
|
+
|
32
|
+
def native
|
33
|
+
@view
|
34
|
+
end
|
35
|
+
|
36
|
+
def builder
|
37
|
+
@builder
|
38
|
+
end
|
39
|
+
|
40
|
+
def background=(background)
|
41
|
+
if background.kind_of? DrawableWrapper
|
42
|
+
@view.setBackgroundDrawable(background.native)
|
43
|
+
else
|
44
|
+
builder.setProperty(native,'background', background.to_s)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def width=(width)
|
49
|
+
builder.setProperty(native,'width', width.to_s)
|
50
|
+
end
|
51
|
+
|
52
|
+
def height=(height)
|
53
|
+
builder.setProperty(native,'height', height.to_s)
|
54
|
+
end
|
55
|
+
|
56
|
+
def background_color=(value)
|
57
|
+
@view.setBackgroundColor(parse_color(value));
|
58
|
+
end
|
59
|
+
|
60
|
+
def gone=(flag)
|
61
|
+
@view.setVisibility(Java::android.view.View::GONE) if flag
|
62
|
+
end
|
63
|
+
|
64
|
+
def gone?
|
65
|
+
hidden?
|
66
|
+
end
|
67
|
+
|
68
|
+
def invalidate
|
69
|
+
@view.invalidate
|
70
|
+
end
|
71
|
+
|
72
|
+
def hidden?
|
73
|
+
@view.getVisibility == Java::android.view.View::GONE
|
74
|
+
end
|
75
|
+
|
76
|
+
def show!
|
77
|
+
@view.setVisibility(Java::android.view.View::VISIBLE)
|
78
|
+
end
|
79
|
+
|
80
|
+
def hide!
|
81
|
+
@view.setVisibility(Java::android.view.View::GONE)
|
82
|
+
end
|
83
|
+
|
84
|
+
def to_front!
|
85
|
+
@view.bringToFront
|
86
|
+
end
|
87
|
+
|
88
|
+
def visible=(flag)
|
89
|
+
@view.setVisibility(flag ? Java::android.view.View::VISIBLE : Java::android.view.View::INVISIBLE)
|
90
|
+
end
|
91
|
+
|
92
|
+
def visible?
|
93
|
+
@view.getVisibility == Java::android.view.View::VISIBLE
|
94
|
+
end
|
95
|
+
|
96
|
+
def enabled=(flag)
|
97
|
+
@view.setEnabled(flag)
|
98
|
+
end
|
99
|
+
|
100
|
+
def enabled?
|
101
|
+
@view.isEnabled
|
102
|
+
end
|
103
|
+
|
104
|
+
def parent
|
105
|
+
wrap_native_view(@view.getParent)
|
106
|
+
end
|
107
|
+
|
108
|
+
def blink
|
109
|
+
orig_alpha = self.alpha
|
110
|
+
view = self
|
111
|
+
self.animate { |a|
|
112
|
+
a.alpha 0, 1
|
113
|
+
}.on(:end) { |v|
|
114
|
+
view.alpha = orig_alpha
|
115
|
+
}.start
|
116
|
+
end
|
117
|
+
|
118
|
+
def find(selectors)
|
119
|
+
view = _activity_builder.findViewByName(selectors, self.native, false)
|
120
|
+
if (view.kind_of? Java::java.util.ArrayList)
|
121
|
+
view.toArray.to_a.collect do |element|
|
122
|
+
wrap_native_view(element)
|
123
|
+
end
|
124
|
+
else
|
125
|
+
wrap_native_view(view) if view
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def animate(&block)
|
130
|
+
animator = Animator.new(self)
|
131
|
+
block.call(animator)
|
132
|
+
animator.done
|
133
|
+
animator
|
134
|
+
end
|
135
|
+
|
136
|
+
def to_native(target)
|
137
|
+
if child.kind_of? ViewWrapper
|
138
|
+
target.native
|
139
|
+
elsif target.kind_of? Java::android.view.View.new
|
140
|
+
target
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
def click
|
145
|
+
self.native.performClick
|
146
|
+
end
|
147
|
+
|
148
|
+
def p_tree(level = 0, extra_attributes = %w[measured_height measured_width])
|
149
|
+
spaces = ''
|
150
|
+
level.times { |i| spaces << ' '}
|
151
|
+
|
152
|
+
id_attr = self.id
|
153
|
+
name_attr = ""
|
154
|
+
class_attr = ""
|
155
|
+
|
156
|
+
if tag
|
157
|
+
id_attr = tag.getView_id
|
158
|
+
name_attr = tag.getView_name
|
159
|
+
class_attr = tag.getView_class
|
160
|
+
else
|
161
|
+
rid = reverse_resolve(id_attr)
|
162
|
+
id_attr = "^#{rid}" unless rid.nil?
|
163
|
+
end
|
164
|
+
|
165
|
+
data_attribute_list = []
|
166
|
+
if _extras
|
167
|
+
attributes = _extras.getDataAttributes
|
168
|
+
|
169
|
+
attributes.keySet.each do |key|
|
170
|
+
data_attribute_list << "data-#{key}=\"#{self.data(key)}\""
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
extra_attributes.each do |attr|
|
175
|
+
data_attribute_list << "#{attr.to_sym}=\"#{self.send(attr.to_sym)}\""
|
176
|
+
end
|
177
|
+
|
178
|
+
puts "#{spaces}#{self.class.name} id=\"#{id_attr}\" name=\"#{name_attr}\" class=\"#{class_attr}\" #{data_attribute_list.join(' ')}\n"
|
179
|
+
self.children.each { |c|
|
180
|
+
c.p_tree(level + 1, extra_attributes)
|
181
|
+
} if self.respond_to? :children
|
182
|
+
end
|
183
|
+
|
184
|
+
def tag
|
185
|
+
unless native.getTag.nil?
|
186
|
+
tag = native.getTag
|
187
|
+
if tag.kind_of? Java::com.droiuby.client.core.ViewExtras
|
188
|
+
return tag
|
189
|
+
end
|
190
|
+
end
|
191
|
+
nil
|
192
|
+
end
|
193
|
+
|
194
|
+
def data(key)
|
195
|
+
if _extras
|
196
|
+
data_attributes = _extras.getDataAttributes
|
197
|
+
if data_attributes.containsKey(key)
|
198
|
+
data_attributes.get(key)
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
protected
|
204
|
+
|
205
|
+
def parse_color(color_value)
|
206
|
+
if color_value.kind_of? String
|
207
|
+
Java::android.graphics.Color.parseColor(color_value);
|
208
|
+
else
|
209
|
+
color_value
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
def _extras
|
214
|
+
unless native.getTag.nil?
|
215
|
+
tag = native.getTag
|
216
|
+
if tag.kind_of? Java::com.droiuby.client.core.ViewExtras
|
217
|
+
tag
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
metadata
CHANGED
@@ -1,110 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droiuby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Joseph Emmanuel Dayo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: thor
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rubyzip
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 1.0.0
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 1.0.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: multipart-post
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: properties-ruby
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: activesupport
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
description: Android development and rapid prototyping using ruby
|
@@ -114,55 +101,94 @@ executables:
|
|
114
101
|
extensions: []
|
115
102
|
extra_rdoc_files: []
|
116
103
|
files:
|
117
|
-
- lib/droiuby.rb
|
118
|
-
- lib/droiuby/project.rb
|
119
|
-
- lib/droiuby/templates/ruby/gitignore.erb
|
120
|
-
- lib/droiuby/templates/ruby/config.droiuby.erb
|
121
|
-
- lib/droiuby/templates/ruby/application.css.erb
|
122
|
-
- lib/droiuby/templates/ruby/index.rb.erb
|
123
|
-
- lib/droiuby/templates/ruby/index.xml.erb
|
124
104
|
- bin/drby
|
105
|
+
- lib/droiuby.rb
|
106
|
+
- lib/droiuby/android.rb
|
107
|
+
- lib/droiuby/application.rb
|
108
|
+
- lib/droiuby/bootstrap.rb
|
109
|
+
- lib/droiuby/droiuby.rb
|
110
|
+
- lib/droiuby/loader.rb
|
111
|
+
- lib/droiuby/plugins/plugins.rb
|
112
|
+
- lib/droiuby/preload.rb
|
113
|
+
- lib/droiuby/scripts/project.rb
|
114
|
+
- lib/droiuby/scripts/templates/ruby/Gemfile.erb
|
115
|
+
- lib/droiuby/scripts/templates/ruby/application.css.erb
|
116
|
+
- lib/droiuby/scripts/templates/ruby/config.droiuby.erb
|
117
|
+
- lib/droiuby/scripts/templates/ruby/gitignore.erb
|
118
|
+
- lib/droiuby/scripts/templates/ruby/index.rb.erb
|
119
|
+
- lib/droiuby/scripts/templates/ruby/index.xml.erb
|
120
|
+
- lib/droiuby/support/asset.rb
|
121
|
+
- lib/droiuby/support/autoload.rb
|
122
|
+
- lib/droiuby/support/fixnum.rb
|
123
|
+
- lib/droiuby/support/object.rb
|
124
|
+
- lib/droiuby/support/string.rb
|
125
|
+
- lib/droiuby/support/system.rb
|
126
|
+
- lib/droiuby/support/thread.rb
|
127
|
+
- lib/droiuby/support/to_query.rb
|
128
|
+
- lib/droiuby/support/utils.rb
|
129
|
+
- lib/droiuby/wrappers/accelerometer.rb
|
130
|
+
- lib/droiuby/wrappers/activity.rb
|
131
|
+
- lib/droiuby/wrappers/animation.rb
|
132
|
+
- lib/droiuby/wrappers/async.rb
|
133
|
+
- lib/droiuby/wrappers/button.rb
|
134
|
+
- lib/droiuby/wrappers/canvas.rb
|
135
|
+
- lib/droiuby/wrappers/collection/view_array.rb
|
136
|
+
- lib/droiuby/wrappers/compound_button_wrapper.rb
|
137
|
+
- lib/droiuby/wrappers/edit_text.rb
|
138
|
+
- lib/droiuby/wrappers/image_button.rb
|
139
|
+
- lib/droiuby/wrappers/intent.rb
|
140
|
+
- lib/droiuby/wrappers/java_helpers/java_method_helper.rb
|
141
|
+
- lib/droiuby/wrappers/java_helpers/view_helper.rb
|
142
|
+
- lib/droiuby/wrappers/linear_layout.rb
|
143
|
+
- lib/droiuby/wrappers/list_adapter_wrapper.rb
|
144
|
+
- lib/droiuby/wrappers/list_view.rb
|
145
|
+
- lib/droiuby/wrappers/listeners/auto_wrap.rb
|
146
|
+
- lib/droiuby/wrappers/listeners/on_click_listener.rb
|
147
|
+
- lib/droiuby/wrappers/listeners/on_web_console_ready_listener.rb
|
148
|
+
- lib/droiuby/wrappers/motion_events.rb
|
149
|
+
- lib/droiuby/wrappers/preferences.rb
|
150
|
+
- lib/droiuby/wrappers/proxy_builder/interface_builder.rb
|
151
|
+
- lib/droiuby/wrappers/runnable_wrapper.rb
|
152
|
+
- lib/droiuby/wrappers/surface_view_wrapper.rb
|
153
|
+
- lib/droiuby/wrappers/text_view.rb
|
154
|
+
- lib/droiuby/wrappers/thread_pool.rb
|
155
|
+
- lib/droiuby/wrappers/view_group_wrapper.rb
|
156
|
+
- lib/droiuby/wrappers/view_wrapper.rb
|
157
|
+
- lib/droiuby/wrappers/web_view.rb
|
158
|
+
- lib/droiuby/wrappers/wrappers.rb
|
125
159
|
homepage: https://github.com/jedld/droiuby-doo
|
126
160
|
licenses:
|
127
161
|
- Apache License, Version 2.0
|
128
|
-
|
129
|
-
|
162
|
+
metadata: {}
|
163
|
+
post_install_message: |-
|
164
|
+
Droiuby Gem Installed!
|
130
165
|
|
131
166
|
Post Install work:
|
132
167
|
|
133
|
-
|
134
168
|
1.Go install the droiuby development app on your phone here: https://play.google.com/store/apps/details?id=com.droiuby.application
|
135
|
-
|
136
169
|
2. Download the android sdk (http://developer.android.com/sdk/index.html)
|
137
|
-
|
138
|
-
3. Setup your PATH to include <sdk directory>/sdk/platform-tools (make sure adb
|
139
|
-
works)
|
140
|
-
|
170
|
+
3. Setup your PATH to include <sdk directory>/sdk/platform-tools (make sure adb works)
|
141
171
|
4. Attach your android phone to your PC via USB
|
142
|
-
|
143
172
|
5. visit https://github.com/jedld/droiuby-doo for the quick start tutorial
|
144
173
|
|
145
|
-
|
146
|
-
Details can be found in the README'
|
174
|
+
Details can be found in the README
|
147
175
|
rdoc_options: []
|
148
176
|
require_paths:
|
149
177
|
- lib
|
150
178
|
required_ruby_version: !ruby/object:Gem::Requirement
|
151
|
-
none: false
|
152
179
|
requirements:
|
153
|
-
- -
|
180
|
+
- - ">="
|
154
181
|
- !ruby/object:Gem::Version
|
155
182
|
version: '0'
|
156
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
184
|
requirements:
|
159
|
-
- -
|
185
|
+
- - ">="
|
160
186
|
- !ruby/object:Gem::Version
|
161
187
|
version: '0'
|
162
188
|
requirements: []
|
163
189
|
rubyforge_project:
|
164
|
-
rubygems_version:
|
190
|
+
rubygems_version: 2.2.2
|
165
191
|
signing_key:
|
166
|
-
specification_version:
|
192
|
+
specification_version: 4
|
167
193
|
summary: Droiuby GEM
|
168
194
|
test_files: []
|