App42_Ruby_API 0.8.4

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.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/App42_Ruby_API.gemspec +33 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/TODO.rb +3 -0
  9. data/lib/App42_Ruby_API.rb +232 -0
  10. data/lib/App42_Ruby_API/App42BadParameterException.rb +31 -0
  11. data/lib/App42_Ruby_API/App42Exception.rb +39 -0
  12. data/lib/App42_Ruby_API/App42LimitException.rb +15 -0
  13. data/lib/App42_Ruby_API/App42NotFoundException.rb +15 -0
  14. data/lib/App42_Ruby_API/App42Response.rb +13 -0
  15. data/lib/App42_Ruby_API/App42ResponseBuilder.rb +67 -0
  16. data/lib/App42_Ruby_API/App42SecurityException.rb +15 -0
  17. data/lib/App42_Ruby_API/version.rb +3 -0
  18. data/lib/connection/RESTConnection.rb +713 -0
  19. data/lib/email/Email.rb +51 -0
  20. data/lib/email/EmailMIME.rb +51 -0
  21. data/lib/email/EmailResponseBuilder.rb +76 -0
  22. data/lib/email/EmailService.rb +244 -0
  23. data/lib/gallery/Album.rb +56 -0
  24. data/lib/gallery/AlbumResponseBuilder.rb +168 -0
  25. data/lib/gallery/AlbumService.rb +337 -0
  26. data/lib/gallery/PhotoService.rb +591 -0
  27. data/lib/game/Game.rb +39 -0
  28. data/lib/game/GameResponseBuilder.rb +106 -0
  29. data/lib/game/GameService.rb +268 -0
  30. data/lib/game/Reward.rb +24 -0
  31. data/lib/game/RewardResponseBuilder.rb +85 -0
  32. data/lib/game/RewardService.rb +440 -0
  33. data/lib/game/ScoreBoardService.rb +433 -0
  34. data/lib/game/ScoreService.rb +157 -0
  35. data/lib/geo/Geo.rb +51 -0
  36. data/lib/geo/GeoPoint.rb +43 -0
  37. data/lib/geo/GeoResponseBuilder.rb +145 -0
  38. data/lib/geo/GeoService.rb +505 -0
  39. data/lib/imageProcessor/Image.rb +42 -0
  40. data/lib/imageProcessor/ImageProcessorResponseBuilder.rb +40 -0
  41. data/lib/imageProcessor/ImageProcessorService.rb +1054 -0
  42. data/lib/log/Log.rb +49 -0
  43. data/lib/log/LogResponseBuilder.rb +61 -0
  44. data/lib/log/LogService.rb +920 -0
  45. data/lib/message/Queue.rb +50 -0
  46. data/lib/message/QueueResponseBuilder.rb +64 -0
  47. data/lib/message/QueueService.rb +469 -0
  48. data/lib/push/DeviceType.rb +56 -0
  49. data/lib/push/PushNotification.rb +38 -0
  50. data/lib/push/PushNotificationResposneBuilder.rb +74 -0
  51. data/lib/push/PushNotificationService.rb +458 -0
  52. data/lib/recommend/PreferenceData.rb +25 -0
  53. data/lib/recommend/Recommender.rb +48 -0
  54. data/lib/recommend/RecommenderResponseBuilder.rb +70 -0
  55. data/lib/recommend/RecommenderService.rb +1092 -0
  56. data/lib/recommend/RecommenderSimilarity.rb +52 -0
  57. data/lib/review/Review.rb +38 -0
  58. data/lib/review/ReviewResponseBuilder.rb +76 -0
  59. data/lib/review/ReviewService.rb +590 -0
  60. data/lib/session/Session.rb +43 -0
  61. data/lib/session/SessionResponseBuilder.rb +70 -0
  62. data/lib/session/SessionService.rb +427 -0
  63. data/lib/shopping/Cart.rb +77 -0
  64. data/lib/shopping/CartResponseBuilder.rb +118 -0
  65. data/lib/shopping/CartService.rb +902 -0
  66. data/lib/shopping/Catalogue.rb +79 -0
  67. data/lib/shopping/CatalogueResponseBuilder.rb +170 -0
  68. data/lib/shopping/CatalogueService.rb +649 -0
  69. data/lib/shopping/ItemData.rb +29 -0
  70. data/lib/shopping/PaymentStatus.rb +60 -0
  71. data/lib/social/Social.rb +35 -0
  72. data/lib/social/SocialResponseBuilder.rb +38 -0
  73. data/lib/social/SocialService.rb +585 -0
  74. data/lib/storage/OrderByType.rb +29 -0
  75. data/lib/storage/Query.rb +39 -0
  76. data/lib/storage/QueryBuilder.rb +118 -0
  77. data/lib/storage/Storage.rb +45 -0
  78. data/lib/storage/StorageResponseBuilder.rb +86 -0
  79. data/lib/storage/StorageService.rb +775 -0
  80. data/lib/upload/Upload.rb +40 -0
  81. data/lib/upload/UploadFileType.rb +83 -0
  82. data/lib/upload/UploadResponseBuilder.rb +58 -0
  83. data/lib/upload/UploadService.rb +960 -0
  84. data/lib/user/User.rb +102 -0
  85. data/lib/user/UserResponseBuilder.rb +105 -0
  86. data/lib/user/UserService.rb +1209 -0
  87. data/lib/util/util.rb +244 -0
  88. data/question.rb +79 -0
  89. metadata +204 -0
@@ -0,0 +1,244 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require "rubygems"
6
+ require 'time'
7
+ require 'base64'
8
+ require 'cgi'
9
+ require 'hmac-sha1'
10
+ require 'App42_Ruby_API/App42Exception'
11
+ require 'App42_Ruby_API/App42BadParameterException'
12
+ require 'App42_Ruby_API/App42LimitException'
13
+ require 'App42_Ruby_API/App42NotFoundException'
14
+ require 'App42_Ruby_API/App42SecurityException'
15
+
16
+ module App42
17
+ class Util
18
+ #
19
+ # Finds the current time
20
+ #
21
+ # @return time format
22
+ #
23
+ #
24
+ def get_timestamp_utc
25
+ #time_stamp = Time.now.utc.iso8601
26
+ #time_stamp = Time.now.utc.xmlschema
27
+ time_stamp = Time.now.utc
28
+ time_stamp = time_stamp.strftime("%Y-%m-%dT%H:%M:%S.%LZ")
29
+ puts "TimeStamp - #{time_stamp}"
30
+ time_stamp
31
+ end
32
+
33
+ #
34
+ # Finds the particular time for a particular date
35
+ #
36
+ # @param date
37
+ #
38
+ # @return time format
39
+ #
40
+ #
41
+
42
+ def get_timestamp_utc_from_date(date)
43
+ time = Time.parse(date).utc
44
+ time_stamp = time.strftime("%Y-%m-%dT%H:%M:%S.%LZ")
45
+ puts "TimeStamp - #{time_stamp}"
46
+ time_stamp
47
+ end
48
+
49
+ def get_timestamp_utc_from_date_discount(date)
50
+ time = Time.parse(date).utc
51
+ time_stamp = time.strftime("%a %b %d %l:%M:%S %Z %Y")
52
+ puts "TimeStamp - #{time_stamp}"
53
+ time_stamp
54
+ end
55
+
56
+ #
57
+ # This method sorts all the values that are stored in the table.
58
+ #
59
+ # @param table
60
+ # @return sorted string
61
+ #
62
+ #
63
+
64
+ def sort_convert_table(table)
65
+ sorted_params = ""
66
+ table.sort {|a,b| a[0] <=> b[0]}.each{ |key, val|
67
+ sorted_params << key
68
+ sorted_params << val
69
+ }
70
+ puts "Sorted params #{sorted_params}"
71
+ sorted_params
72
+ end
73
+
74
+ #
75
+ # It signs the request that has to be sent in the Hmac format.
76
+ #
77
+ # @param secretKey
78
+ # @param params
79
+ #
80
+ # @throws InvalidKeyException
81
+ # @throws NoSuchAlgorithmException
82
+ # @throws IllegalStateException
83
+ # @throws UnsupportedEncodingException
84
+ #
85
+
86
+ def sign(secret_key, params)
87
+ sorted_params = sort_convert_table(params)
88
+ puts sorted_params
89
+ signature = compute_hmac(secret_key, sorted_params)
90
+ puts "Signature #{signature}"
91
+ signature
92
+ end
93
+
94
+ #
95
+ # Encoding and decoding of the queries are done using the Hmac Algorithm.
96
+ #
97
+ # @param baseString
98
+ # @param key
99
+ #
100
+ # @throws NoSuchAlgorithmException
101
+ # @throws InvalidKeyException
102
+ # @throws IllegalStateException
103
+ # @throws UnsupportedEncodingException
104
+ #
105
+
106
+ def compute_hmac(secret_key, sorted_params)
107
+ signature = Base64.encode64(HMAC::SHA1::digest(secret_key, sorted_params)).strip
108
+ puts "Signature #{signature}"
109
+ computed_hmac = CGI.escape(signature)
110
+ puts "Computed Hmac #{computed_hmac}"
111
+ computed_hmac
112
+ end
113
+
114
+ def my_strip(str)
115
+ s = str.gsub(/ /,'')
116
+ return s
117
+ end
118
+
119
+ #
120
+ # An exception to check whether the object is null or blank.
121
+ #
122
+ # @param obj
123
+ # @param name
124
+ #
125
+
126
+ def throwExceptionIfNullOrBlank(obj,name)
127
+ obj.kind_of?(String) ? trm = my_strip(obj) : trm = obj
128
+
129
+ raise App42Exception.new(name +" parameter can not be null") if trm==nil
130
+
131
+ raise App42Exception.new(name +" parameter can not be blank") if trm == ""
132
+
133
+ end
134
+
135
+ #
136
+ # To check whether the max value is greater than zero or not.
137
+ #
138
+ # @param max
139
+ #
140
+
141
+ def validateMax(max)
142
+ if(max.to_i < 1)
143
+ raise App42Exception.new("Max must be greater than Zero.");
144
+ end
145
+ end
146
+
147
+ #
148
+ # To check whether the value of how many is less than 1000 or not.
149
+ #
150
+ # @param howMany
151
+ #
152
+
153
+ def validateHowMany(howMany)
154
+ if(howMany.to_i > 1000)
155
+ raise App42Exception.new("How Many should be less than 1000");
156
+ end
157
+ end
158
+
159
+ #
160
+ # An exception to check whether the email entered is valid or not.
161
+ #
162
+ # @param obj
163
+ # @param name
164
+ #
165
+
166
+ def throwExceptionIfEmailNotValid(obj, name)
167
+ if(obj==nil)
168
+ raise App42Exception.new(name +" parameter can not be null")
169
+ end
170
+ email_regex = %r{
171
+ ^ # Start of string
172
+
173
+ [0-9a-z] # First character
174
+ [0-9a-z.+]+ # Middle characters
175
+ [0-9a-z] # Last character
176
+
177
+ @ # Separating @ character
178
+
179
+ [0-9a-z] # Domain name begin
180
+ [0-9a-z.-]+ # Domain name middle
181
+ [0-9a-z] # Domain name end
182
+
183
+ $ # End of string
184
+ }xi
185
+ if (obj =~ email_regex) == 0
186
+ else
187
+ raise App42Exception.new(name + " is not valid. ")
188
+ end
189
+ end
190
+
191
+ #
192
+ # An exception to check if the file has valid extension or not
193
+ #
194
+ # @param fileName
195
+ # @param name
196
+ #
197
+
198
+ def throwExceptionIfNotValidExtension(fileName, name)
199
+ if(fileName==nil)
200
+ raise App42Exception.new(name + " parameter can not be null")
201
+ end
202
+ if(fileName.index('.') == -1)
203
+ raise App42Exception.new(name + " does not contain valid extension. ")
204
+ end
205
+ end
206
+
207
+ #
208
+ # Taking extension out
209
+ #
210
+ # @param fileName
211
+ #
212
+ # @return extension
213
+ #
214
+
215
+ def extractFileExtension(fileName)
216
+ ext = File.extname(fileName)
217
+ return ext;
218
+ end
219
+
220
+ #
221
+ # To check if the image has a valid extension or not.
222
+ #
223
+ # @param fileName
224
+ # @param name
225
+ #
226
+
227
+ def throwExceptionIfNotValidImageExtension(fileName, name)
228
+
229
+ if(fileName == nil)
230
+ raise App42Exception.new(name + " parameter can not be null")
231
+ end
232
+
233
+ if(fileName.index('.') == -1)
234
+ raise App42Exception.new(name + " does not contain valid extension. ")
235
+ end
236
+
237
+ ext = extractFileExtension(fileName);
238
+ if((ext.eql?(".jpg") == false) && (ext.eql?(".JPG") == false) && (ext.eql?(".jpeg") == false) && (ext.eql?(".JPEG") == false) && (ext.eql?(".gif") == false) && (ext.eql?(".GIF") == false) && (ext.eql?(".png") == false) && (ext.eql?(".PNG") == false))
239
+ raise App42Exception.new( "The Request parameters are invalid. Only file with extensions jpg, jpeg, gif and png are supported");
240
+ end
241
+
242
+ end
243
+ end
244
+ end
@@ -0,0 +1,79 @@
1
+
2
+ #USER, ASSIGN_ROLE, not need as we getting arry as parms
3
+ role_array = []
4
+ for role in role_list do
5
+ role_array.push(role)
6
+ end
7
+
8
+ #USER, GET USER BY ROLE, fetching a lot of data
9
+ role = "Admin"; 1
10
+ userList = userService.get_users_by_role(role)
11
+ puts "userName is #{user.userName}";
12
+ puts "email is #{user.email}";
13
+ puts "firstName #{user.profile.firstName}";
14
+ userRoleList = user.roleList();
15
+ jsonResponse = user.to_s()
16
+
17
+
18
+ #obj.get_all_users_count ## TODO, undefine call methods
19
+ def get_all_users_count
20
+ response = @@user_obj.get_all_users_count
21
+
22
+ success = response.isResponseSuccess response
23
+ totalRecords = response.totalRecords
24
+ jsonResponse = response.to_s
25
+ end
26
+
27
+
28
+ #TODO, wrong no of argument
29
+ userName = "Nick";
30
+ pwd = "********";
31
+ emailId = "nick@shephertz.com";
32
+ profileData = App42::User::User::Profile.new();
33
+ profileData.firstName = "Nick";
34
+ profileData.lastName = "Gill";
35
+
36
+ userList = userService.get_user_by_profile_data(profileData);
37
+ for user in userList do
38
+ puts "UserName is #{user.userName}";
39
+ puts "EmailId is #{user.email}";
40
+ end
41
+ jsonResponse = userList.to_s()
42
+
43
+
44
+
45
+ #obj.create_user ,# TODO uninitialized constant App42::User::User::Profile (NameError)
46
+ def create_user
47
+ user_name = "pravin80"
48
+ email = "pravin80@shephertz.com"
49
+
50
+ user = @@user_obj.create_user(user_name, "123456", email)
51
+ profile_obj = App42::User::User::Profile.new
52
+ profile_obj.officeLandLine = ("+1-1800-111-999")
53
+ profile_obj.firstName = "Nick"
54
+ profile_obj.dateOfBirth = "03-11-2012"
55
+ profile_obj.country = ("USA")
56
+ profile_obj.city = ("Houston")
57
+ profile_obj.lastName = ("Gill")
58
+ profile_obj.mobile = ("+958901234571")
59
+ profile_obj.pincode = ("74193")
60
+ profile_obj.sex = App42::User::User::UserGender.new.enum("MALE")
61
+ profile_obj.homeLandLine = ("+1-1800-877-453")
62
+ profile_obj.state = ("Texas")
63
+ user.profile= profile_obj
64
+
65
+ user_obj = @@user_obj.createOrUpdateProfile(user)
66
+ puts "userName is #{user_obj.userName}"
67
+ puts "email is #{user_obj.email}"
68
+ puts "firstName #{user_obj.profile.firstName}"
69
+ jsonResponse = user_obj.to_s()
70
+ end
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: App42_Ruby_API
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.4
5
+ platform: ruby
6
+ authors:
7
+ - ShepHertz Technologies Pvt. Ltd.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-08-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.6.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: ruby-hmac
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.4.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: json_pure
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.6.6
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.6.6
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: gem containing all the sdk
84
+ email:
85
+ - http://apps.shephertz.com/
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - .gitignore
91
+ - App42_Ruby_API.gemspec
92
+ - Gemfile
93
+ - LICENSE.txt
94
+ - README.md
95
+ - Rakefile
96
+ - TODO.rb
97
+ - garbage.rb
98
+ - lib/App42_Ruby_API.rb
99
+ - lib/App42_Ruby_API/App42BadParameterException.rb
100
+ - lib/App42_Ruby_API/App42Exception.rb
101
+ - lib/App42_Ruby_API/App42LimitException.rb
102
+ - lib/App42_Ruby_API/App42NotFoundException.rb
103
+ - lib/App42_Ruby_API/App42Response.rb
104
+ - lib/App42_Ruby_API/App42ResponseBuilder.rb
105
+ - lib/App42_Ruby_API/App42SecurityException.rb
106
+ - lib/App42_Ruby_API/version.rb
107
+ - lib/connection/RESTConnection.rb
108
+ - lib/email/Email.rb
109
+ - lib/email/EmailMIME.rb
110
+ - lib/email/EmailResponseBuilder.rb
111
+ - lib/email/EmailService.rb
112
+ - lib/gallery/Album.rb
113
+ - lib/gallery/AlbumResponseBuilder.rb
114
+ - lib/gallery/AlbumService.rb
115
+ - lib/gallery/PhotoService.rb
116
+ - lib/game/Game.rb
117
+ - lib/game/GameResponseBuilder.rb
118
+ - lib/game/GameService.rb
119
+ - lib/game/Reward.rb
120
+ - lib/game/RewardResponseBuilder.rb
121
+ - lib/game/RewardService.rb
122
+ - lib/game/ScoreBoardService.rb
123
+ - lib/game/ScoreService.rb
124
+ - lib/geo/Geo.rb
125
+ - lib/geo/GeoPoint.rb
126
+ - lib/geo/GeoResponseBuilder.rb
127
+ - lib/geo/GeoService.rb
128
+ - lib/imageProcessor/Image.rb
129
+ - lib/imageProcessor/ImageProcessorResponseBuilder.rb
130
+ - lib/imageProcessor/ImageProcessorService.rb
131
+ - lib/log/Log.rb
132
+ - lib/log/LogResponseBuilder.rb
133
+ - lib/log/LogService.rb
134
+ - lib/message/Queue.rb
135
+ - lib/message/QueueResponseBuilder.rb
136
+ - lib/message/QueueService.rb
137
+ - lib/push/DeviceType.rb
138
+ - lib/push/PushNotification.rb
139
+ - lib/push/PushNotificationResposneBuilder.rb
140
+ - lib/push/PushNotificationService.rb
141
+ - lib/recommend/PreferenceData.rb
142
+ - lib/recommend/Recommender.rb
143
+ - lib/recommend/RecommenderResponseBuilder.rb
144
+ - lib/recommend/RecommenderService.rb
145
+ - lib/recommend/RecommenderSimilarity.rb
146
+ - lib/review/Review.rb
147
+ - lib/review/ReviewResponseBuilder.rb
148
+ - lib/review/ReviewService.rb
149
+ - lib/session/Session.rb
150
+ - lib/session/SessionResponseBuilder.rb
151
+ - lib/session/SessionService.rb
152
+ - lib/shopping/Cart.rb
153
+ - lib/shopping/CartResponseBuilder.rb
154
+ - lib/shopping/CartService.rb
155
+ - lib/shopping/Catalogue.rb
156
+ - lib/shopping/CatalogueResponseBuilder.rb
157
+ - lib/shopping/CatalogueService.rb
158
+ - lib/shopping/ItemData.rb
159
+ - lib/shopping/PaymentStatus.rb
160
+ - lib/social/Social.rb
161
+ - lib/social/SocialResponseBuilder.rb
162
+ - lib/social/SocialService.rb
163
+ - lib/storage/OrderByType.rb
164
+ - lib/storage/Query.rb
165
+ - lib/storage/QueryBuilder.rb
166
+ - lib/storage/Storage.rb
167
+ - lib/storage/StorageResponseBuilder.rb
168
+ - lib/storage/StorageService.rb
169
+ - lib/upload/Upload.rb
170
+ - lib/upload/UploadFileType.rb
171
+ - lib/upload/UploadResponseBuilder.rb
172
+ - lib/upload/UploadService.rb
173
+ - lib/user/User.rb
174
+ - lib/user/UserResponseBuilder.rb
175
+ - lib/user/UserService.rb
176
+ - lib/util/util.rb
177
+ - question.rb
178
+ homepage: http://www.shephertz.com
179
+ licenses:
180
+ - MIT
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - '>='
194
+ - !ruby/object:Gem::Version
195
+ version: 1.3.6
196
+ requirements: []
197
+ rubyforge_project: App42_RUBY_SDK
198
+ rubygems_version: 2.0.0.rc.2
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: App42_RUBY_API is a gem containing all the api's that will be used to create
202
+ an app
203
+ test_files: []
204
+ has_rdoc: