rm-wsse 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0bf5d35ec3300f8dd3d0c060f84fd4eb7dc4935b
4
+ data.tar.gz: 8c8c648e88e34ff8f25465396266f99047671d51
5
+ SHA512:
6
+ metadata.gz: 3c0e7aa9d6017536b6f274e4c48641c0f2d715a5b816f811f45e715c21dc3a18b25dea1965e0db7bbd266e82c8d1ae029606f47b2896c9a2a6c4ae9c4d3b61f3
7
+ data.tar.gz: e0fa0049b7412c248f6e66a57518bbede22dca0d6841d04ce2fc60d0ae580997ff9c9c8608832c96a1c4cb2d1e25b849be6d51fad3445cf9df43c4f5204dcb33
@@ -0,0 +1,18 @@
1
+ .repl_history
2
+ build
3
+ tags
4
+ app/pixate_code.rb
5
+ resources/*.nib
6
+ resources/*.momd
7
+ resources/*.storyboardc
8
+ .DS_Store
9
+ nbproject
10
+ .redcar
11
+ #*#
12
+ *~
13
+ *.sw[po]
14
+ .eprj
15
+ .sass-cache
16
+ .idea
17
+
18
+ vendor/
@@ -0,0 +1 @@
1
+ language: objective-c
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,97 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rm-wsse (0.0.1)
5
+ cocoapods (= 0.20.2)
6
+ motion-cocoapods (= 1.3.2)
7
+ rm-digest
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activesupport (3.2.13)
13
+ i18n (= 0.6.1)
14
+ multi_json (~> 1.0)
15
+ addressable (2.3.5)
16
+ claide (0.3.2)
17
+ cocoapods (0.20.2)
18
+ activesupport (~> 3.2.13)
19
+ claide (~> 0.3.2)
20
+ cocoapods-core (= 0.20.2)
21
+ cocoapods-downloader (~> 0.1.1)
22
+ colored (~> 1.2)
23
+ escape (~> 0.0.4)
24
+ faraday (~> 0.8.1)
25
+ json (~> 1.8.0)
26
+ octokit (~> 1.7)
27
+ open4 (~> 1.3.0)
28
+ rake (~> 10.0.0)
29
+ xcodeproj (~> 0.6.0)
30
+ cocoapods-core (0.20.2)
31
+ activesupport (~> 3.2.13)
32
+ rake (~> 10.0.0)
33
+ cocoapods-downloader (0.1.1)
34
+ coderay (1.0.9)
35
+ colored (1.2)
36
+ escape (0.0.4)
37
+ faraday (0.8.7)
38
+ multipart-post (~> 1.1)
39
+ faraday_middleware (0.9.0)
40
+ faraday (>= 0.7.4, < 0.9)
41
+ ffi (1.9.0)
42
+ formatador (0.2.4)
43
+ guard (1.8.1)
44
+ formatador (>= 0.2.4)
45
+ listen (>= 1.0.0)
46
+ lumberjack (>= 1.0.2)
47
+ pry (>= 0.9.10)
48
+ thor (>= 0.14.6)
49
+ guard-motion (0.1.2)
50
+ guard (>= 1.1.0)
51
+ rake (>= 0.9)
52
+ hashie (2.0.5)
53
+ i18n (0.6.1)
54
+ json (1.8.0)
55
+ listen (1.2.2)
56
+ rb-fsevent (>= 0.9.3)
57
+ rb-inotify (>= 0.9)
58
+ rb-kqueue (>= 0.2)
59
+ lumberjack (1.0.4)
60
+ method_source (0.8.1)
61
+ motion-cocoapods (1.3.2)
62
+ cocoapods (>= 0.17.0)
63
+ multi_json (1.7.7)
64
+ multipart-post (1.2.0)
65
+ netrc (0.7.7)
66
+ octokit (1.25.0)
67
+ addressable (~> 2.2)
68
+ faraday (~> 0.8)
69
+ faraday_middleware (~> 0.9)
70
+ hashie (~> 2.0)
71
+ multi_json (~> 1.3)
72
+ netrc (~> 0.7.7)
73
+ open4 (1.3.0)
74
+ pry (0.9.12.2)
75
+ coderay (~> 1.0.5)
76
+ method_source (~> 0.8)
77
+ slop (~> 3.4)
78
+ rake (10.0.4)
79
+ rb-fsevent (0.9.3)
80
+ rb-inotify (0.9.0)
81
+ ffi (>= 0.5.0)
82
+ rb-kqueue (0.2.0)
83
+ ffi (>= 0.5.0)
84
+ rm-digest (0.0.2)
85
+ slop (3.4.5)
86
+ thor (0.18.1)
87
+ xcodeproj (0.6.0)
88
+ activesupport (~> 3.2.13)
89
+ colored (~> 1.2)
90
+
91
+ PLATFORMS
92
+ ruby
93
+
94
+ DEPENDENCIES
95
+ guard-motion
96
+ rake
97
+ rm-wsse!
@@ -0,0 +1,12 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'motion' do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+
7
+ # RubyMotion App example
8
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
9
+
10
+ # RubyMotion gem example
11
+ watch(%r{^lib/[^/]+/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
12
+ end
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2013- Naoya Ito
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -0,0 +1,58 @@
1
+ # RmWsse
2
+
3
+ gem for RubyMotion, to create WSSE header string.
4
+
5
+ ## Usage
6
+
7
+ ```ruby
8
+ wsse = RmWsse.wsse_header('username', 'password')
9
+
10
+ ## Example: w/ BubbleWrap
11
+ BW::HTTP.post('http://example.com/api', {
12
+ :headers => {
13
+ 'X-WSSE' => wsse
14
+ }
15
+ })
16
+ ```
17
+
18
+ ## Installation
19
+
20
+ Add this line to your application's Gemfile:
21
+
22
+ gem 'rm-wsse'
23
+
24
+ And then execute:
25
+
26
+ $ bundle
27
+
28
+ Or install it yourself as:
29
+
30
+ $ gem install rm-digest
31
+
32
+ ## Copyright
33
+
34
+ * Copyright (c) 2013- Naoya Ito (@naoya_ito)
35
+ * License
36
+ * Apache License, Version 2.0
37
+
38
+ ## Installation
39
+
40
+ Add this line to your application's Gemfile:
41
+
42
+ gem 'fluent-plugin-config-pit'
43
+
44
+ And then execute:
45
+
46
+ $ bundle
47
+
48
+ Or install it yourself as:
49
+
50
+ $ gem install fluent-plugin-config-pit
51
+
52
+ ## Contributing
53
+
54
+ 1. Fork it
55
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
56
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
57
+ 4. Push to the branch (`git push origin my-new-feature`)
58
+ 5. Create new Pull Request
@@ -0,0 +1,17 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'bundler/gem_tasks'
3
+ $:.unshift("/Library/RubyMotion/lib")
4
+ require 'motion/project/template/ios'
5
+
6
+ require 'guard/motion'
7
+ require 'rm-digest'
8
+ require 'motion-cocoapods'
9
+
10
+ Motion::Project::App.setup do |app|
11
+ app.name = 'spec'
12
+ app.files += Dir.glob(File.join(app.project_dir, 'lib/rm-wsse/*.rb'))
13
+
14
+ app.pods do
15
+ pod 'Base64'
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ module App
2
+ module_function
3
+
4
+ def development?
5
+ true
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class AppDelegate
2
+ def application(application, didFinishLaunchingWithOptions:launchOptions)
3
+ true
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class Kernel
2
+ def p(arg, style=nil)
3
+ if Term.nil?
4
+ NSLog arg
5
+ else
6
+ NSLog(style ? arg.send(style) : arg)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,558 @@
1
+ return unless App.development?
2
+
3
+ module Term
4
+ # The ANSIColor module can be used for namespacing and mixed into your own
5
+ # classes.
6
+ module ANSIColor
7
+ # :stopdoc:
8
+ ATTRIBUTES = [
9
+ [ :clear , 0 ],
10
+ [ :reset , 0 ], # synonym for :clear
11
+ [ :bold , 1 ],
12
+ [ :dark , 2 ],
13
+ [ :italic , 3 ], # not widely implemented
14
+ [ :underline , 4 ],
15
+ [ :underscore , 4 ], # synonym for :underline
16
+ [ :blink , 5 ],
17
+ [ :rapid_blink , 6 ], # not widely implemented
18
+ [ :negative , 7 ], # no reverse because of String#reverse
19
+ [ :concealed , 8 ],
20
+ [ :strikethrough, 9 ], # not widely implemented
21
+ [ :black , 30 ],
22
+ [ :red , 31 ],
23
+ [ :green , 32 ],
24
+ [ :yellow , 33 ],
25
+ [ :blue , 34 ],
26
+ [ :magenta , 35 ],
27
+ [ :cyan , 36 ],
28
+ [ :white , 37 ],
29
+ [ :on_black , 40 ],
30
+ [ :on_red , 41 ],
31
+ [ :on_green , 42 ],
32
+ [ :on_yellow , 43 ],
33
+ [ :on_blue , 44 ],
34
+ [ :on_magenta , 45 ],
35
+ [ :on_cyan , 46 ],
36
+ [ :on_white , 47 ],
37
+ ]
38
+
39
+ ATTRIBUTE_NAMES = ATTRIBUTES.transpose.first
40
+ # :startdoc:
41
+
42
+ # Returns true, if the coloring function of this module
43
+ # is switched on, false otherwise.
44
+ def self.coloring?
45
+ @coloring
46
+ end
47
+
48
+ # Turns the coloring on or off globally, so you can easily do
49
+ # this for example:
50
+ # Term::ANSIColor::coloring = STDOUT.isatty
51
+ def self.coloring=(val)
52
+ @coloring = val
53
+ end
54
+ self.coloring = true
55
+
56
+
57
+ def clear(string = nil)
58
+ result = ''
59
+ result << "" if Term::ANSIColor.coloring?
60
+ if block_given?
61
+ result << yield
62
+ elsif string
63
+ result << string
64
+ elsif respond_to?(:to_str)
65
+ result << self
66
+ else
67
+ return result #only switch on
68
+ end
69
+ result << "" if Term::ANSIColor.coloring?
70
+ result
71
+ end
72
+
73
+
74
+ def reset(string = nil)
75
+ result = ''
76
+ result << "" if Term::ANSIColor.coloring?
77
+ if block_given?
78
+ result << yield
79
+ elsif string
80
+ result << string
81
+ elsif respond_to?(:to_str)
82
+ result << self
83
+ else
84
+ return result #only switch on
85
+ end
86
+ result << "" if Term::ANSIColor.coloring?
87
+ result
88
+ end
89
+
90
+
91
+ def bold(string = nil)
92
+ result = ''
93
+ result << "" if Term::ANSIColor.coloring?
94
+ if block_given?
95
+ result << yield
96
+ elsif string
97
+ result << string
98
+ elsif respond_to?(:to_str)
99
+ result << self
100
+ else
101
+ return result #only switch on
102
+ end
103
+ result << "" if Term::ANSIColor.coloring?
104
+ result
105
+ end
106
+
107
+
108
+ def dark(string = nil)
109
+ result = ''
110
+ result << "" if Term::ANSIColor.coloring?
111
+ if block_given?
112
+ result << yield
113
+ elsif string
114
+ result << string
115
+ elsif respond_to?(:to_str)
116
+ result << self
117
+ else
118
+ return result #only switch on
119
+ end
120
+ result << "" if Term::ANSIColor.coloring?
121
+ result
122
+ end
123
+
124
+
125
+ def italic(string = nil)
126
+ result = ''
127
+ result << "" if Term::ANSIColor.coloring?
128
+ if block_given?
129
+ result << yield
130
+ elsif string
131
+ result << string
132
+ elsif respond_to?(:to_str)
133
+ result << self
134
+ else
135
+ return result #only switch on
136
+ end
137
+ result << "" if Term::ANSIColor.coloring?
138
+ result
139
+ end
140
+
141
+
142
+ def underline(string = nil)
143
+ result = ''
144
+ result << "" if Term::ANSIColor.coloring?
145
+ if block_given?
146
+ result << yield
147
+ elsif string
148
+ result << string
149
+ elsif respond_to?(:to_str)
150
+ result << self
151
+ else
152
+ return result #only switch on
153
+ end
154
+ result << "" if Term::ANSIColor.coloring?
155
+ result
156
+ end
157
+
158
+
159
+ def underscore(string = nil)
160
+ result = ''
161
+ result << "" if Term::ANSIColor.coloring?
162
+ if block_given?
163
+ result << yield
164
+ elsif string
165
+ result << string
166
+ elsif respond_to?(:to_str)
167
+ result << self
168
+ else
169
+ return result #only switch on
170
+ end
171
+ result << "" if Term::ANSIColor.coloring?
172
+ result
173
+ end
174
+
175
+
176
+ def blink(string = nil)
177
+ result = ''
178
+ result << "" if Term::ANSIColor.coloring?
179
+ if block_given?
180
+ result << yield
181
+ elsif string
182
+ result << string
183
+ elsif respond_to?(:to_str)
184
+ result << self
185
+ else
186
+ return result #only switch on
187
+ end
188
+ result << "" if Term::ANSIColor.coloring?
189
+ result
190
+ end
191
+
192
+
193
+ def rapid_blink(string = nil)
194
+ result = ''
195
+ result << "" if Term::ANSIColor.coloring?
196
+ if block_given?
197
+ result << yield
198
+ elsif string
199
+ result << string
200
+ elsif respond_to?(:to_str)
201
+ result << self
202
+ else
203
+ return result #only switch on
204
+ end
205
+ result << "" if Term::ANSIColor.coloring?
206
+ result
207
+ end
208
+
209
+
210
+ def negative(string = nil)
211
+ result = ''
212
+ result << "" if Term::ANSIColor.coloring?
213
+ if block_given?
214
+ result << yield
215
+ elsif string
216
+ result << string
217
+ elsif respond_to?(:to_str)
218
+ result << self
219
+ else
220
+ return result #only switch on
221
+ end
222
+ result << "" if Term::ANSIColor.coloring?
223
+ result
224
+ end
225
+
226
+
227
+ def concealed(string = nil)
228
+ result = ''
229
+ result << "" if Term::ANSIColor.coloring?
230
+ if block_given?
231
+ result << yield
232
+ elsif string
233
+ result << string
234
+ elsif respond_to?(:to_str)
235
+ result << self
236
+ else
237
+ return result #only switch on
238
+ end
239
+ result << "" if Term::ANSIColor.coloring?
240
+ result
241
+ end
242
+
243
+
244
+ def strikethrough(string = nil)
245
+ result = ''
246
+ result << "" if Term::ANSIColor.coloring?
247
+ if block_given?
248
+ result << yield
249
+ elsif string
250
+ result << string
251
+ elsif respond_to?(:to_str)
252
+ result << self
253
+ else
254
+ return result #only switch on
255
+ end
256
+ result << "" if Term::ANSIColor.coloring?
257
+ result
258
+ end
259
+
260
+
261
+ def black(string = nil)
262
+ result = ''
263
+ result << "" if Term::ANSIColor.coloring?
264
+ if block_given?
265
+ result << yield
266
+ elsif string
267
+ result << string
268
+ elsif respond_to?(:to_str)
269
+ result << self
270
+ else
271
+ return result #only switch on
272
+ end
273
+ result << "" if Term::ANSIColor.coloring?
274
+ result
275
+ end
276
+
277
+
278
+ def red(string = nil)
279
+ result = ''
280
+ result << "" if Term::ANSIColor.coloring?
281
+ if block_given?
282
+ result << yield
283
+ elsif string
284
+ result << string
285
+ elsif respond_to?(:to_str)
286
+ result << self
287
+ else
288
+ return result #only switch on
289
+ end
290
+ result << "" if Term::ANSIColor.coloring?
291
+ result
292
+ end
293
+
294
+
295
+ def green(string = nil)
296
+ result = ''
297
+ result << "" if Term::ANSIColor.coloring?
298
+ if block_given?
299
+ result << yield
300
+ elsif string
301
+ result << string
302
+ elsif respond_to?(:to_str)
303
+ result << self
304
+ else
305
+ return result #only switch on
306
+ end
307
+ result << "" if Term::ANSIColor.coloring?
308
+ result
309
+ end
310
+
311
+
312
+ def yellow(string = nil)
313
+ result = ''
314
+ result << "" if Term::ANSIColor.coloring?
315
+ if block_given?
316
+ result << yield
317
+ elsif string
318
+ result << string
319
+ elsif respond_to?(:to_str)
320
+ result << self
321
+ else
322
+ return result #only switch on
323
+ end
324
+ result << "" if Term::ANSIColor.coloring?
325
+ result
326
+ end
327
+
328
+
329
+ def blue(string = nil)
330
+ result = ''
331
+ result << "" if Term::ANSIColor.coloring?
332
+ if block_given?
333
+ result << yield
334
+ elsif string
335
+ result << string
336
+ elsif respond_to?(:to_str)
337
+ result << self
338
+ else
339
+ return result #only switch on
340
+ end
341
+ result << "" if Term::ANSIColor.coloring?
342
+ result
343
+ end
344
+
345
+
346
+ def magenta(string = nil)
347
+ result = ''
348
+ result << "" if Term::ANSIColor.coloring?
349
+ if block_given?
350
+ result << yield
351
+ elsif string
352
+ result << string
353
+ elsif respond_to?(:to_str)
354
+ result << self
355
+ else
356
+ return result #only switch on
357
+ end
358
+ result << "" if Term::ANSIColor.coloring?
359
+ result
360
+ end
361
+
362
+
363
+ def cyan(string = nil)
364
+ result = ''
365
+ result << "" if Term::ANSIColor.coloring?
366
+ if block_given?
367
+ result << yield
368
+ elsif string
369
+ result << string
370
+ elsif respond_to?(:to_str)
371
+ result << self
372
+ else
373
+ return result #only switch on
374
+ end
375
+ result << "" if Term::ANSIColor.coloring?
376
+ result
377
+ end
378
+
379
+
380
+ def white(string = nil)
381
+ result = ''
382
+ result << "" if Term::ANSIColor.coloring?
383
+ if block_given?
384
+ result << yield
385
+ elsif string
386
+ result << string
387
+ elsif respond_to?(:to_str)
388
+ result << self
389
+ else
390
+ return result #only switch on
391
+ end
392
+ result << "" if Term::ANSIColor.coloring?
393
+ result
394
+ end
395
+
396
+
397
+ def on_black(string = nil)
398
+ result = ''
399
+ result << "" if Term::ANSIColor.coloring?
400
+ if block_given?
401
+ result << yield
402
+ elsif string
403
+ result << string
404
+ elsif respond_to?(:to_str)
405
+ result << self
406
+ else
407
+ return result #only switch on
408
+ end
409
+ result << "" if Term::ANSIColor.coloring?
410
+ result
411
+ end
412
+
413
+
414
+ def on_red(string = nil)
415
+ result = ''
416
+ result << "" if Term::ANSIColor.coloring?
417
+ if block_given?
418
+ result << yield
419
+ elsif string
420
+ result << string
421
+ elsif respond_to?(:to_str)
422
+ result << self
423
+ else
424
+ return result #only switch on
425
+ end
426
+ result << "" if Term::ANSIColor.coloring?
427
+ result
428
+ end
429
+
430
+
431
+ def on_green(string = nil)
432
+ result = ''
433
+ result << "" if Term::ANSIColor.coloring?
434
+ if block_given?
435
+ result << yield
436
+ elsif string
437
+ result << string
438
+ elsif respond_to?(:to_str)
439
+ result << self
440
+ else
441
+ return result #only switch on
442
+ end
443
+ result << "" if Term::ANSIColor.coloring?
444
+ result
445
+ end
446
+
447
+
448
+ def on_yellow(string = nil)
449
+ result = ''
450
+ result << "" if Term::ANSIColor.coloring?
451
+ if block_given?
452
+ result << yield
453
+ elsif string
454
+ result << string
455
+ elsif respond_to?(:to_str)
456
+ result << self
457
+ else
458
+ return result #only switch on
459
+ end
460
+ result << "" if Term::ANSIColor.coloring?
461
+ result
462
+ end
463
+
464
+
465
+ def on_blue(string = nil)
466
+ result = ''
467
+ result << "" if Term::ANSIColor.coloring?
468
+ if block_given?
469
+ result << yield
470
+ elsif string
471
+ result << string
472
+ elsif respond_to?(:to_str)
473
+ result << self
474
+ else
475
+ return result #only switch on
476
+ end
477
+ result << "" if Term::ANSIColor.coloring?
478
+ result
479
+ end
480
+
481
+
482
+ def on_magenta(string = nil)
483
+ result = ''
484
+ result << "" if Term::ANSIColor.coloring?
485
+ if block_given?
486
+ result << yield
487
+ elsif string
488
+ result << string
489
+ elsif respond_to?(:to_str)
490
+ result << self
491
+ else
492
+ return result #only switch on
493
+ end
494
+ result << "" if Term::ANSIColor.coloring?
495
+ result
496
+ end
497
+
498
+
499
+ def on_cyan(string = nil)
500
+ result = ''
501
+ result << "" if Term::ANSIColor.coloring?
502
+ if block_given?
503
+ result << yield
504
+ elsif string
505
+ result << string
506
+ elsif respond_to?(:to_str)
507
+ result << self
508
+ else
509
+ return result #only switch on
510
+ end
511
+ result << "" if Term::ANSIColor.coloring?
512
+ result
513
+ end
514
+
515
+
516
+ def on_white(string = nil)
517
+ result = ''
518
+ result << "" if Term::ANSIColor.coloring?
519
+ if block_given?
520
+ result << yield
521
+ elsif string
522
+ result << string
523
+ elsif respond_to?(:to_str)
524
+ result << self
525
+ else
526
+ return result #only switch on
527
+ end
528
+ result << "" if Term::ANSIColor.coloring?
529
+ result
530
+ end
531
+
532
+ # Regular expression that is used to scan for ANSI-sequences while
533
+ # uncoloring strings.
534
+ COLORED_REGEXP = /\e\[([34][0-7]|[0-9])m/
535
+
536
+ # Returns an uncolored version of the string, that is all
537
+ # ANSI-sequences are stripped from the string.
538
+ def uncolored(string = nil) # :yields:
539
+ if block_given?
540
+ yield.gsub(COLORED_REGEXP, '')
541
+ elsif string
542
+ string.gsub(COLORED_REGEXP, '')
543
+ elsif respond_to?(:to_str)
544
+ gsub(COLORED_REGEXP, '')
545
+ else
546
+ ''
547
+ end
548
+ end
549
+
550
+ module_function
551
+
552
+ # Returns an array of all Term::ANSIColor attributes as symbols.
553
+ def attributes
554
+ ATTRIBUTE_NAMES
555
+ end
556
+ extend self
557
+ end
558
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def method_missing(sym, *args, &block)
3
+ Term::ANSIColor.send(sym) { self } rescue super
4
+ end
5
+ end
@@ -0,0 +1,21 @@
1
+ require 'motion-cocoapods'
2
+ require 'rm-digest'
3
+
4
+ unless defined?(Motion::Project::Config)
5
+ raise "This file must be requried within a RubyMotion project Rakefile."
6
+ end
7
+
8
+ Motion::Project::App.setup do |app|
9
+ Dir.glob(File.join(File.dirname(__FILE__), 'rm-wsse/*.rb')).each do |file|
10
+ app.files.unshift(file)
11
+ end
12
+
13
+ app.pods do
14
+ pod 'Base64'
15
+ end
16
+ end
17
+
18
+ require 'rm-wsse/version'
19
+
20
+ class RmWsse
21
+ end
@@ -0,0 +1,18 @@
1
+ class RmWsse
2
+ class << self
3
+ def wsse_header(user, password, date = nil, rnd = nil)
4
+ formatter = NSDateFormatter.new.tap do |f|
5
+ f.setDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZ")
6
+ end
7
+
8
+ date ||= NSDate.new
9
+ rnd ||= Random.new.rand
10
+
11
+ created = formatter.stringFromDate(date)
12
+ nonce = RmDigest::SHA1.hexdigest(created + rnd.to_s)
13
+ digest = RmDigest::SHA1.digest(nonce + created + password)
14
+
15
+ "UsernameToken Username=\"#{user}\", PasswordDigest=\"#{digest.base64String}\", Nonce=\"#{nonce.base64String}\", Created=\"#{created}\""
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,3 @@
1
+ class RmWsse
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,23 @@
1
+ require File.expand_path('../lib/rm-wsse/version', __FILE__)
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ["Naoya Ito"]
5
+ gem.email = ["i.naoya@gmail.com"]
6
+ gem.description = %q{Creates WSSE authentication header}
7
+ gem.summary = %q{Creates WSSE authentication header}
8
+ gem.homepage = "https://github.com/naoya/rm-wsse"
9
+
10
+ gem.files = `git ls-files`.split($\)
11
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
12
+ gem.name = "rm-wsse"
13
+ gem.require_paths = ["lib"]
14
+
15
+ gem.version = RmWsse::VERSION
16
+
17
+ gem.add_development_dependency "rake"
18
+ gem.add_development_dependency "guard-motion"
19
+
20
+ gem.add_runtime_dependency "rm-digest"
21
+ gem.add_runtime_dependency "motion-cocoapods", '= 1.3.2'
22
+ gem.add_runtime_dependency "cocoapods", "= 0.20.2"
23
+ end
@@ -0,0 +1,108 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Supported styles:
3
+ # :focused, :full, :original
4
+ # --------------
5
+ style = :full
6
+ # --------------
7
+ if Term.nil? || (style == :original)
8
+ if Term.nil?
9
+ puts "You need to get the RubyMotion-compatible ansiterm lib."
10
+ puts "You can find it at https://github.com/mdks/rm-regreen"
11
+ end
12
+ else
13
+ puts "Bacon Output Style: :#{style}".cyan
14
+ def color_for(error)
15
+ if error =~ /ERROR/
16
+ :red
17
+ elsif error =~ /MISSING/
18
+ :yellow
19
+ else
20
+ :red
21
+ end
22
+ end
23
+ if style == :full
24
+ module Bacon
25
+ module SpecDoxOutput
26
+ def handle_specification_begin(name)
27
+ puts "#{spaces + name}".bold
28
+ end
29
+
30
+ def handle_specification_end
31
+ puts if Counter[:context_depth] == 1
32
+ end
33
+
34
+ def handle_requirement_begin(description)
35
+ puts "#{spaces} - #{description}".magenta
36
+ end
37
+
38
+ def handle_requirement_end(error)
39
+ color = color_for(error)
40
+ if error.empty?
41
+ mark = "✓".green
42
+ msg = "This test has passed! Good job!".green
43
+ else
44
+ mark = "✗".send(color)
45
+ msg = "This test has not passed: #{error}!".send(color)
46
+ error_output = "[#{error}] \n BACKTRACE: #{ErrorLog}".send(color)
47
+ end
48
+ puts " [#{mark}] #{msg} \n #{error_output ||= ""}"
49
+ ErrorLog.clear
50
+ end
51
+
52
+ def handle_summary
53
+ puts "%d specifications (%d requirements), %d failures, %d errors" %
54
+ # if Backtraces
55
+ # print ErrorLog
56
+ # end
57
+ Counter.values_at(:specifications, :requirements, :failed, :errors)
58
+ end
59
+ end
60
+ end
61
+ elsif style == :focused
62
+ module Bacon
63
+ module SpecDoxOutput
64
+ @focus = nil
65
+
66
+ def handle_specification_begin(name)
67
+ puts "#{spaces + name}".bold
68
+ end
69
+
70
+ def handle_specification_end
71
+ puts if Counter[:context_depth] == 1
72
+ end
73
+
74
+ def handle_requirement_begin(description)
75
+ @spec_description_cache = description
76
+ end
77
+
78
+ def handle_requirement_end(error)
79
+ if error.empty?
80
+ print ".".green
81
+ else
82
+ if @focus.nil?
83
+ @focus = @spec_description_cache
84
+ color = color_for(error)
85
+ print "\n#{spaces}[#{error}]".send(color)
86
+ print " - #{@focus}".magenta
87
+ print "\nBACKTRACE: #{ErrorLog}".send(color)
88
+ else
89
+ if error =~ /MISSING/
90
+ print "?".yellow
91
+ else
92
+ print "F".red
93
+ end
94
+ end
95
+ end
96
+ end
97
+
98
+ def handle_summary
99
+ puts "%d specifications (%d requirements), %d failures, %d errors" %
100
+ # if Backtraces
101
+ # print ErrorLog
102
+ # end
103
+ Counter.values_at(:specifications, :requirements, :failed, :errors)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,20 @@
1
+ describe "WSSE header" do
2
+ it "should be true" do
3
+ true.should == true
4
+ end
5
+
6
+ it "should return random WSSE header string" do
7
+ header = RmWsse.wsse_header("melody", "nelson")
8
+ header.should =~ /UsernameToken Username="melody"/
9
+ end
10
+
11
+ it "should return fixed WSSE header string" do
12
+ created = NSDate.alloc.initWithString("1977-09-18 12:34:56 +0900")
13
+ header = RmWsse.wsse_header("melody", "nelson", created, 100)
14
+
15
+ digest = 'cIYQOAtdYIAQhQv7KfEijYyLhoM='
16
+ nonce = 'YTVmNGZjMDgxNmYxMjNhYTc0MTJhNjMxOGY1NThmOGM0ZmYyMWQ5ZQ=='
17
+
18
+ header.should == "UsernameToken Username=\"melody\", PasswordDigest=\"#{digest}\", Nonce=\"#{nonce}\", Created=\"1977-09-18T12:34:56+0900\""
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,134 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rm-wsse
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Naoya Ito
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: guard-motion
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rm-digest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: motion-cocoapods
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: cocoapods
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.20.2
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.20.2
83
+ description: Creates WSSE authentication header
84
+ email:
85
+ - i.naoya@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - .gitignore
91
+ - .travis.yml
92
+ - Gemfile
93
+ - Gemfile.lock
94
+ - Guardfile
95
+ - LICENSE.txt
96
+ - README.md
97
+ - Rakefile
98
+ - app/app.rb
99
+ - app/app_delegate.rb
100
+ - app/kernel.rb
101
+ - app/rm-ansiterm.rb
102
+ - app/string.rb
103
+ - lib/rm-wsse.rb
104
+ - lib/rm-wsse/rm-wsse.rb
105
+ - lib/rm-wsse/version.rb
106
+ - rm-wsse.gemspec
107
+ - spec/00-redgreen.rb
108
+ - spec/rm-wsse_spec.rb
109
+ homepage: https://github.com/naoya/rm-wsse
110
+ licenses: []
111
+ metadata: {}
112
+ post_install_message:
113
+ rdoc_options: []
114
+ require_paths:
115
+ - lib
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ requirements: []
127
+ rubyforge_project:
128
+ rubygems_version: 2.0.2
129
+ signing_key:
130
+ specification_version: 4
131
+ summary: Creates WSSE authentication header
132
+ test_files:
133
+ - spec/00-redgreen.rb
134
+ - spec/rm-wsse_spec.rb