aspect 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ccb1a9fd117eb2ba52d9b95d31236dbfa549632d
4
- data.tar.gz: 8b15bc652b3c3a495db45af32b8b6db68229f310
3
+ metadata.gz: c5782ead891d8e7ef320ba474a4b1d69b678664c
4
+ data.tar.gz: e3a656ede2ddb04caa1eed15b75666f4b138735f
5
5
  SHA512:
6
- metadata.gz: 2bf5e84b1503b8fd5a14faaae36b058e1557918c560e4c0a72d077fd0d0a9593704a062e855885f644667485f963980ee828fb29e5925ca3dcf443b6bc6885f4
7
- data.tar.gz: 20eecb67017a3b55db952eb7c4172e378138ad724e5b2e1d455c8f3df6e20b00cd79a995d8e9057705d0393eef08c56cb10b5cdf9b0b92a62c490ac07eba91cb
6
+ metadata.gz: b01d11ad92685f00b16f7a7b599e62ebea6b3a4813c1fb61f9fe01d53029355e94a0f5f918562996927eb0fd1d5b4eab23203927fe61110f892d1eac2ccc8f0d
7
+ data.tar.gz: d6a92e2b990197b0e26e4c593d4bb8483921ddfc4353b7f6edfed648deac0c4c82b02d582f912a3e4a4a9a035f6407fe9cc2945b275129457902602531fb0d6c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -144,7 +144,6 @@ module Aspect
144
144
  # @option options [Boolean] :query (false)
145
145
  # Determines whether to define as a query attribute, with the getter having a question mark appended to the
146
146
  # method name and the setter converting the value or block into a boolean using bang-bang (`!!`).
147
- # @option options [#to_sym] :method (nil) The method name to send to the value after executing
148
147
  # @yieldparam [Object] value The value given to the setter method.
149
148
  # @yieldparam [Hash] options The options given when defining, given to the setter method.
150
149
  # @yieldreturn [Object] The value to set the instance variable as.
@@ -158,14 +157,9 @@ module Aspect
158
157
  if options[:getter]
159
158
  options[:getter] = options[:getter] == true ? {} : options[:getter].to_h
160
159
 
161
- options[:getter][:method] = options[:getter][:method].to_sym if options[:getter][:method]
162
- options[:getter][:instance_method] = options[:getter][:instance_method].to_sym if options[:getter][:instance_method]
163
-
164
160
  method_name = options[:query] ? "#{name}?" : name
165
161
  define_method(method_name) do
166
162
  value = instance_variable_get("@#{name}")
167
- value = value.send(options[:getter][:method]) if options[:getter][:method]
168
- value = method(options[:getter][:instance_method]).call(value) if options[:getter][:instance_method]
169
163
 
170
164
  options[:query] ? !!value : value
171
165
  end
@@ -174,13 +168,8 @@ module Aspect
174
168
  if options[:setter]
175
169
  options[:setter] = options[:setter] == true ? {} : options[:setter].to_h
176
170
 
177
- options[:setter][:method] = options[:setter][:method].to_sym if options[:setter][:method]
178
- options[:setter][:instance_method] = options[:setter][:instance_method].to_sym if options[:setter][:instance_method]
179
-
180
171
  define_method("#{name}=") do |value|
181
172
  value = instance_exec(value, options, &block) unless block.nil?
182
- value = value.send(options[:setter][:method]) if options[:setter][:method]
183
- value = method(options[:setter][:instance_method]).call(value) if options[:setter][:instance_method]
184
173
  value = options[:query] ? !!value : value
185
174
 
186
175
  instance_variable_set("@#{name}", value)
@@ -198,7 +187,6 @@ module Aspect
198
187
  end
199
188
  end
200
189
 
201
- # @method update_attributes
202
190
  # Update attributes on this object.
203
191
  #
204
192
  # @example
@@ -240,9 +228,11 @@ module Aspect
240
228
  # user.moderator? # => true
241
229
  # user.admin? # => false
242
230
  # @param [Hash, #to_h] attributes
243
- # @return [Object] This object.
231
+ # @return [Object]
244
232
  def update_attributes(attributes={})
245
233
  attributes.to_h.each { |name, value| send("#{name}=", value) }
234
+
235
+ self
246
236
  end
247
237
  end
248
238
  end
@@ -14,7 +14,7 @@
14
14
  <img src="./assets/0.10.0/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2016-02-03T20:13:38-05:00">2016-02-03T20:13:38-05:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2016-02-07T16:45:58-05:00">2016-02-07T16:45:58-05:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
@@ -24,17 +24,17 @@
24
24
  (<span class="covered_percent"><span class="green">100.0%</span></span>
25
25
  covered at
26
26
  <span class="covered_strength">
27
- <span class="red">
28
- 0.0
27
+ <span class="green">
28
+ 7.21
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
- <b>0</b> files in total.
35
- <b>0.0</b> relevant lines.
36
- <span class="green"><b>0.0</b> lines covered</span> and
37
- <span class="red"><b>0.0</b> lines missed </span>
34
+ <b>3</b> files in total.
35
+ <b>31</b> relevant lines.
36
+ <span class="green"><b>31</b> lines covered</span> and
37
+ <span class="red"><b>0</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
40
40
  <thead>
@@ -50,6 +50,36 @@
50
50
  </thead>
51
51
  <tbody>
52
52
 
53
+ <tr>
54
+ <td class="strong"><a href="#a15d89cad3877ed3c7a9194f58fb7bf5737f1513" class="src_link" title="lib/aspect.rb">lib/aspect.rb</a></td>
55
+ <td class="green strong">100.0 %</td>
56
+ <td>7</td>
57
+ <td>3</td>
58
+ <td>3</td>
59
+ <td>0</td>
60
+ <td>1.0</td>
61
+ </tr>
62
+
63
+ <tr>
64
+ <td class="strong"><a href="#43328843ff8f5fa7104029506958698590c35729" class="src_link" title="lib/aspect/has_attributes.rb">lib/aspect/has_attributes.rb</a></td>
65
+ <td class="green strong">100.0 %</td>
66
+ <td>238</td>
67
+ <td>26</td>
68
+ <td>26</td>
69
+ <td>0</td>
70
+ <td>8.4</td>
71
+ </tr>
72
+
73
+ <tr>
74
+ <td class="strong"><a href="#3b6af0d81674d1892ae079d4019486ad504c42ce" class="src_link" title="lib/aspect/version.rb">lib/aspect/version.rb</a></td>
75
+ <td class="green strong">100.0 %</td>
76
+ <td>3</td>
77
+ <td>2</td>
78
+ <td>2</td>
79
+ <td>0</td>
80
+ <td>1.0</td>
81
+ </tr>
82
+
53
83
  </tbody>
54
84
  </table>
55
85
  </div>
@@ -66,6 +96,1548 @@
66
96
 
67
97
  <div class="source_files">
68
98
 
99
+ <div class="source_table" id="a15d89cad3877ed3c7a9194f58fb7bf5737f1513">
100
+ <div class="header">
101
+ <h3>lib/aspect.rb</h3>
102
+ <h4><span class="green">100.0 %</span> covered</h4>
103
+ <div>
104
+ <b>3</b> relevant lines.
105
+ <span class="green"><b>3</b> lines covered</span> and
106
+ <span class="red"><b>0</b> lines missed.</span>
107
+ </div>
108
+ </div>
109
+
110
+ <pre>
111
+ <ol>
112
+
113
+ <li class="covered" data-hits="1" data-linenumber="1">
114
+ <span class="hits">1</span>
115
+
116
+ <code class="ruby">require &quot;aspect/version&quot;</code>
117
+ </li>
118
+
119
+ <li class="never" data-hits="" data-linenumber="2">
120
+
121
+
122
+ <code class="ruby"></code>
123
+ </li>
124
+
125
+ <li class="never" data-hits="" data-linenumber="3">
126
+
127
+
128
+ <code class="ruby"># A small collection of useful mixins for plain old Ruby objects.</code>
129
+ </li>
130
+
131
+ <li class="covered" data-hits="1" data-linenumber="4">
132
+ <span class="hits">1</span>
133
+
134
+ <code class="ruby">module Aspect</code>
135
+ </li>
136
+
137
+ <li class="never" data-hits="" data-linenumber="5">
138
+
139
+
140
+ <code class="ruby">end</code>
141
+ </li>
142
+
143
+ <li class="never" data-hits="" data-linenumber="6">
144
+
145
+
146
+ <code class="ruby"></code>
147
+ </li>
148
+
149
+ <li class="covered" data-hits="1" data-linenumber="7">
150
+ <span class="hits">1</span>
151
+
152
+ <code class="ruby">require &quot;aspect/has_attributes&quot;</code>
153
+ </li>
154
+
155
+ </ol>
156
+ </pre>
157
+ </div>
158
+
159
+ <div class="source_table" id="43328843ff8f5fa7104029506958698590c35729">
160
+ <div class="header">
161
+ <h3>lib/aspect/has_attributes.rb</h3>
162
+ <h4><span class="green">100.0 %</span> covered</h4>
163
+ <div>
164
+ <b>26</b> relevant lines.
165
+ <span class="green"><b>26</b> lines covered</span> and
166
+ <span class="red"><b>0</b> lines missed.</span>
167
+ </div>
168
+ </div>
169
+
170
+ <pre>
171
+ <ol>
172
+
173
+ <li class="covered" data-hits="1" data-linenumber="1">
174
+ <span class="hits">1</span>
175
+
176
+ <code class="ruby">module Aspect</code>
177
+ </li>
178
+
179
+ <li class="never" data-hits="" data-linenumber="2">
180
+
181
+
182
+ <code class="ruby"> # Easily define attribute getter/setter/accessors on an object with a `.attribute` class method.</code>
183
+ </li>
184
+
185
+ <li class="never" data-hits="" data-linenumber="3">
186
+
187
+
188
+ <code class="ruby"> #</code>
189
+ </li>
190
+
191
+ <li class="never" data-hits="" data-linenumber="4">
192
+
193
+
194
+ <code class="ruby"> # This also defines the `#update_attributes` instance method to use for mass assignment.</code>
195
+ </li>
196
+
197
+ <li class="never" data-hits="" data-linenumber="5">
198
+
199
+
200
+ <code class="ruby"> #</code>
201
+ </li>
202
+
203
+ <li class="never" data-hits="" data-linenumber="6">
204
+
205
+
206
+ <code class="ruby"> # **Documentation Notes**</code>
207
+ </li>
208
+
209
+ <li class="never" data-hits="" data-linenumber="7">
210
+
211
+
212
+ <code class="ruby"> #</code>
213
+ </li>
214
+
215
+ <li class="never" data-hits="" data-linenumber="8">
216
+
217
+
218
+ <code class="ruby"> # Since `.attribute` is a method which dynamically defines methods, you may need to use a special declaration</code>
219
+ </li>
220
+
221
+ <li class="never" data-hits="" data-linenumber="9">
222
+
223
+
224
+ <code class="ruby"> # in order to associate the documentation to the method.</code>
225
+ </li>
226
+
227
+ <li class="never" data-hits="" data-linenumber="10">
228
+
229
+
230
+ <code class="ruby"> #</code>
231
+ </li>
232
+
233
+ <li class="never" data-hits="" data-linenumber="11">
234
+
235
+
236
+ <code class="ruby"> # Here&#39;s how I do it with [YARD](http://yardoc.org):</code>
237
+ </li>
238
+
239
+ <li class="never" data-hits="" data-linenumber="12">
240
+
241
+
242
+ <code class="ruby"> #</code>
243
+ </li>
244
+
245
+ <li class="never" data-hits="" data-linenumber="13">
246
+
247
+
248
+ <code class="ruby"> # ```rb</code>
249
+ </li>
250
+
251
+ <li class="never" data-hits="" data-linenumber="14">
252
+
253
+
254
+ <code class="ruby"> # class User</code>
255
+ </li>
256
+
257
+ <li class="never" data-hits="" data-linenumber="15">
258
+
259
+
260
+ <code class="ruby"> # include Aspect::HasAttributes</code>
261
+ </li>
262
+
263
+ <li class="never" data-hits="" data-linenumber="16">
264
+
265
+
266
+ <code class="ruby"> #</code>
267
+ </li>
268
+
269
+ <li class="never" data-hits="" data-linenumber="17">
270
+
271
+
272
+ <code class="ruby"> # # @method name</code>
273
+ </li>
274
+
275
+ <li class="never" data-hits="" data-linenumber="18">
276
+
277
+
278
+ <code class="ruby"> # # Get the name.</code>
279
+ </li>
280
+
281
+ <li class="never" data-hits="" data-linenumber="19">
282
+
283
+
284
+ <code class="ruby"> # #</code>
285
+ </li>
286
+
287
+ <li class="never" data-hits="" data-linenumber="20">
288
+
289
+
290
+ <code class="ruby"> # # @return [String]</code>
291
+ </li>
292
+
293
+ <li class="never" data-hits="" data-linenumber="21">
294
+
295
+
296
+ <code class="ruby"> #</code>
297
+ </li>
298
+
299
+ <li class="never" data-hits="" data-linenumber="22">
300
+
301
+
302
+ <code class="ruby"> # # @method name=</code>
303
+ </li>
304
+
305
+ <li class="never" data-hits="" data-linenumber="23">
306
+
307
+
308
+ <code class="ruby"> # # Set the name.</code>
309
+ </li>
310
+
311
+ <li class="never" data-hits="" data-linenumber="24">
312
+
313
+
314
+ <code class="ruby"> # #</code>
315
+ </li>
316
+
317
+ <li class="never" data-hits="" data-linenumber="25">
318
+
319
+
320
+ <code class="ruby"> # # @param [#to_s] value</code>
321
+ </li>
322
+
323
+ <li class="never" data-hits="" data-linenumber="26">
324
+
325
+
326
+ <code class="ruby"> # # @return [String]</code>
327
+ </li>
328
+
329
+ <li class="never" data-hits="" data-linenumber="27">
330
+
331
+
332
+ <code class="ruby"> # attribute(:name) { |value| value.to_s.strip }</code>
333
+ </li>
334
+
335
+ <li class="never" data-hits="" data-linenumber="28">
336
+
337
+
338
+ <code class="ruby"> #</code>
339
+ </li>
340
+
341
+ <li class="never" data-hits="" data-linenumber="29">
342
+
343
+
344
+ <code class="ruby"> # # @method admin?</code>
345
+ </li>
346
+
347
+ <li class="never" data-hits="" data-linenumber="30">
348
+
349
+
350
+ <code class="ruby"> # # Get whether this user is an admin.</code>
351
+ </li>
352
+
353
+ <li class="never" data-hits="" data-linenumber="31">
354
+
355
+
356
+ <code class="ruby"> # #</code>
357
+ </li>
358
+
359
+ <li class="never" data-hits="" data-linenumber="32">
360
+
361
+
362
+ <code class="ruby"> # # @return [Boolean]</code>
363
+ </li>
364
+
365
+ <li class="never" data-hits="" data-linenumber="33">
366
+
367
+
368
+ <code class="ruby"> #</code>
369
+ </li>
370
+
371
+ <li class="never" data-hits="" data-linenumber="34">
372
+
373
+
374
+ <code class="ruby"> # # @method admin=</code>
375
+ </li>
376
+
377
+ <li class="never" data-hits="" data-linenumber="35">
378
+
379
+
380
+ <code class="ruby"> # # Set whether this user is an admin.</code>
381
+ </li>
382
+
383
+ <li class="never" data-hits="" data-linenumber="36">
384
+
385
+
386
+ <code class="ruby"> # #</code>
387
+ </li>
388
+
389
+ <li class="never" data-hits="" data-linenumber="37">
390
+
391
+
392
+ <code class="ruby"> # # @param [Boolean] value</code>
393
+ </li>
394
+
395
+ <li class="never" data-hits="" data-linenumber="38">
396
+
397
+
398
+ <code class="ruby"> # # @return [Boolean]</code>
399
+ </li>
400
+
401
+ <li class="never" data-hits="" data-linenumber="39">
402
+
403
+
404
+ <code class="ruby"> # attribute(:admin, query: true)</code>
405
+ </li>
406
+
407
+ <li class="never" data-hits="" data-linenumber="40">
408
+
409
+
410
+ <code class="ruby"> # end</code>
411
+ </li>
412
+
413
+ <li class="never" data-hits="" data-linenumber="41">
414
+
415
+
416
+ <code class="ruby"> # ```</code>
417
+ </li>
418
+
419
+ <li class="covered" data-hits="1" data-linenumber="42">
420
+ <span class="hits">1</span>
421
+
422
+ <code class="ruby"> module HasAttributes</code>
423
+ </li>
424
+
425
+ <li class="never" data-hits="" data-linenumber="43">
426
+
427
+
428
+ <code class="ruby"> # The class methods to extend into the object HasAttributes was included in.</code>
429
+ </li>
430
+
431
+ <li class="covered" data-hits="1" data-linenumber="44">
432
+ <span class="hits">1</span>
433
+
434
+ <code class="ruby"> module ClassMethods</code>
435
+ </li>
436
+
437
+ <li class="never" data-hits="" data-linenumber="45">
438
+
439
+
440
+ <code class="ruby"> # Define an attribute on the object.</code>
441
+ </li>
442
+
443
+ <li class="never" data-hits="" data-linenumber="46">
444
+
445
+
446
+ <code class="ruby"> #</code>
447
+ </li>
448
+
449
+ <li class="never" data-hits="" data-linenumber="47">
450
+
451
+
452
+ <code class="ruby"> # @example Simple accessor</code>
453
+ </li>
454
+
455
+ <li class="never" data-hits="" data-linenumber="48">
456
+
457
+
458
+ <code class="ruby"> # class User</code>
459
+ </li>
460
+
461
+ <li class="never" data-hits="" data-linenumber="49">
462
+
463
+
464
+ <code class="ruby"> # include Aspect::HasAttributes</code>
465
+ </li>
466
+
467
+ <li class="never" data-hits="" data-linenumber="50">
468
+
469
+
470
+ <code class="ruby"> #</code>
471
+ </li>
472
+
473
+ <li class="never" data-hits="" data-linenumber="51">
474
+
475
+
476
+ <code class="ruby"> # attribute(:name)</code>
477
+ </li>
478
+
479
+ <li class="never" data-hits="" data-linenumber="52">
480
+
481
+
482
+ <code class="ruby"> # end</code>
483
+ </li>
484
+
485
+ <li class="never" data-hits="" data-linenumber="53">
486
+
487
+
488
+ <code class="ruby"> #</code>
489
+ </li>
490
+
491
+ <li class="never" data-hits="" data-linenumber="54">
492
+
493
+
494
+ <code class="ruby"> # user = User.new</code>
495
+ </li>
496
+
497
+ <li class="never" data-hits="" data-linenumber="55">
498
+
499
+
500
+ <code class="ruby"> # user.name = &quot;Ezio Auditore&quot;</code>
501
+ </li>
502
+
503
+ <li class="never" data-hits="" data-linenumber="56">
504
+
505
+
506
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
507
+ </li>
508
+
509
+ <li class="never" data-hits="" data-linenumber="57">
510
+
511
+
512
+ <code class="ruby"> # @example Simple getter</code>
513
+ </li>
514
+
515
+ <li class="never" data-hits="" data-linenumber="58">
516
+
517
+
518
+ <code class="ruby"> # class User</code>
519
+ </li>
520
+
521
+ <li class="never" data-hits="" data-linenumber="59">
522
+
523
+
524
+ <code class="ruby"> # include Aspect::HasAttributes</code>
525
+ </li>
526
+
527
+ <li class="never" data-hits="" data-linenumber="60">
528
+
529
+
530
+ <code class="ruby"> #</code>
531
+ </li>
532
+
533
+ <li class="never" data-hits="" data-linenumber="61">
534
+
535
+
536
+ <code class="ruby"> # attribute(:name, setter: false)</code>
537
+ </li>
538
+
539
+ <li class="never" data-hits="" data-linenumber="62">
540
+
541
+
542
+ <code class="ruby"> #</code>
543
+ </li>
544
+
545
+ <li class="never" data-hits="" data-linenumber="63">
546
+
547
+
548
+ <code class="ruby"> # def initialize(name)</code>
549
+ </li>
550
+
551
+ <li class="never" data-hits="" data-linenumber="64">
552
+
553
+
554
+ <code class="ruby"> # @name = name</code>
555
+ </li>
556
+
557
+ <li class="never" data-hits="" data-linenumber="65">
558
+
559
+
560
+ <code class="ruby"> # end</code>
561
+ </li>
562
+
563
+ <li class="never" data-hits="" data-linenumber="66">
564
+
565
+
566
+ <code class="ruby"> # end</code>
567
+ </li>
568
+
569
+ <li class="never" data-hits="" data-linenumber="67">
570
+
571
+
572
+ <code class="ruby"> #</code>
573
+ </li>
574
+
575
+ <li class="never" data-hits="" data-linenumber="68">
576
+
577
+
578
+ <code class="ruby"> # user = User.new(&quot;Ezio Auditore&quot;)</code>
579
+ </li>
580
+
581
+ <li class="never" data-hits="" data-linenumber="69">
582
+
583
+
584
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
585
+ </li>
586
+
587
+ <li class="never" data-hits="" data-linenumber="70">
588
+
589
+
590
+ <code class="ruby"> # @example Simple setter</code>
591
+ </li>
592
+
593
+ <li class="never" data-hits="" data-linenumber="71">
594
+
595
+
596
+ <code class="ruby"> # class User</code>
597
+ </li>
598
+
599
+ <li class="never" data-hits="" data-linenumber="72">
600
+
601
+
602
+ <code class="ruby"> # include Aspect::HasAttributes</code>
603
+ </li>
604
+
605
+ <li class="never" data-hits="" data-linenumber="73">
606
+
607
+
608
+ <code class="ruby"> #</code>
609
+ </li>
610
+
611
+ <li class="never" data-hits="" data-linenumber="74">
612
+
613
+
614
+ <code class="ruby"> # attribute(:name, getter: false)</code>
615
+ </li>
616
+
617
+ <li class="never" data-hits="" data-linenumber="75">
618
+
619
+
620
+ <code class="ruby"> #</code>
621
+ </li>
622
+
623
+ <li class="never" data-hits="" data-linenumber="76">
624
+
625
+
626
+ <code class="ruby"> # def name</code>
627
+ </li>
628
+
629
+ <li class="never" data-hits="" data-linenumber="77">
630
+
631
+
632
+ <code class="ruby"> # @name.strip</code>
633
+ </li>
634
+
635
+ <li class="never" data-hits="" data-linenumber="78">
636
+
637
+
638
+ <code class="ruby"> # end</code>
639
+ </li>
640
+
641
+ <li class="never" data-hits="" data-linenumber="79">
642
+
643
+
644
+ <code class="ruby"> # end</code>
645
+ </li>
646
+
647
+ <li class="never" data-hits="" data-linenumber="80">
648
+
649
+
650
+ <code class="ruby"> #</code>
651
+ </li>
652
+
653
+ <li class="never" data-hits="" data-linenumber="81">
654
+
655
+
656
+ <code class="ruby"> # user = User.new</code>
657
+ </li>
658
+
659
+ <li class="never" data-hits="" data-linenumber="82">
660
+
661
+
662
+ <code class="ruby"> # user.name = &quot; Ezio Auditore &quot;</code>
663
+ </li>
664
+
665
+ <li class="never" data-hits="" data-linenumber="83">
666
+
667
+
668
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
669
+ </li>
670
+
671
+ <li class="never" data-hits="" data-linenumber="84">
672
+
673
+
674
+ <code class="ruby"> # @example Accessor with block</code>
675
+ </li>
676
+
677
+ <li class="never" data-hits="" data-linenumber="85">
678
+
679
+
680
+ <code class="ruby"> # class User</code>
681
+ </li>
682
+
683
+ <li class="never" data-hits="" data-linenumber="86">
684
+
685
+
686
+ <code class="ruby"> # include Aspect::HasAttributes</code>
687
+ </li>
688
+
689
+ <li class="never" data-hits="" data-linenumber="87">
690
+
691
+
692
+ <code class="ruby"> #</code>
693
+ </li>
694
+
695
+ <li class="never" data-hits="" data-linenumber="88">
696
+
697
+
698
+ <code class="ruby"> # attribute(:name) { |value| value.to_s.strip }</code>
699
+ </li>
700
+
701
+ <li class="never" data-hits="" data-linenumber="89">
702
+
703
+
704
+ <code class="ruby"> # end</code>
705
+ </li>
706
+
707
+ <li class="never" data-hits="" data-linenumber="90">
708
+
709
+
710
+ <code class="ruby"> #</code>
711
+ </li>
712
+
713
+ <li class="never" data-hits="" data-linenumber="91">
714
+
715
+
716
+ <code class="ruby"> # user = User.new</code>
717
+ </li>
718
+
719
+ <li class="never" data-hits="" data-linenumber="92">
720
+
721
+
722
+ <code class="ruby"> # user.name = &quot; Ezio Auditore &quot;</code>
723
+ </li>
724
+
725
+ <li class="never" data-hits="" data-linenumber="93">
726
+
727
+
728
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
729
+ </li>
730
+
731
+ <li class="never" data-hits="" data-linenumber="94">
732
+
733
+
734
+ <code class="ruby"> # @example Accessor with block, passing options</code>
735
+ </li>
736
+
737
+ <li class="never" data-hits="" data-linenumber="95">
738
+
739
+
740
+ <code class="ruby"> # class User</code>
741
+ </li>
742
+
743
+ <li class="never" data-hits="" data-linenumber="96">
744
+
745
+
746
+ <code class="ruby"> # include Aspect::HasAttributes</code>
747
+ </li>
748
+
749
+ <li class="never" data-hits="" data-linenumber="97">
750
+
751
+
752
+ <code class="ruby"> #</code>
753
+ </li>
754
+
755
+ <li class="never" data-hits="" data-linenumber="98">
756
+
757
+
758
+ <code class="ruby"> # conversion_block = Proc.new { |value, options| &quot;#{options[:prefix]}-#{value.to_s.strip}&quot; }</code>
759
+ </li>
760
+
761
+ <li class="never" data-hits="" data-linenumber="99">
762
+
763
+
764
+ <code class="ruby"> # attribute(:foo, prefix: &quot;Foo&quot;, &amp;conversion_block)</code>
765
+ </li>
766
+
767
+ <li class="never" data-hits="" data-linenumber="100">
768
+
769
+
770
+ <code class="ruby"> # attribute(:bar, prefix: &quot;Bar&quot;, &amp;conversion_block)</code>
771
+ </li>
772
+
773
+ <li class="never" data-hits="" data-linenumber="101">
774
+
775
+
776
+ <code class="ruby"> # end</code>
777
+ </li>
778
+
779
+ <li class="never" data-hits="" data-linenumber="102">
780
+
781
+
782
+ <code class="ruby"> #</code>
783
+ </li>
784
+
785
+ <li class="never" data-hits="" data-linenumber="103">
786
+
787
+
788
+ <code class="ruby"> # user = User.new</code>
789
+ </li>
790
+
791
+ <li class="never" data-hits="" data-linenumber="104">
792
+
793
+
794
+ <code class="ruby"> # user.foo = &quot; Thing &quot;</code>
795
+ </li>
796
+
797
+ <li class="never" data-hits="" data-linenumber="105">
798
+
799
+
800
+ <code class="ruby"> # user.foo # =&gt; &quot;Foo-Thing&quot;</code>
801
+ </li>
802
+
803
+ <li class="never" data-hits="" data-linenumber="106">
804
+
805
+
806
+ <code class="ruby"> # user.bar = &quot; Thingy&quot;</code>
807
+ </li>
808
+
809
+ <li class="never" data-hits="" data-linenumber="107">
810
+
811
+
812
+ <code class="ruby"> # user.bar # =&gt; &quot;Bar-Thingy&quot;</code>
813
+ </li>
814
+
815
+ <li class="never" data-hits="" data-linenumber="108">
816
+
817
+
818
+ <code class="ruby"> # @example Query accessor</code>
819
+ </li>
820
+
821
+ <li class="never" data-hits="" data-linenumber="109">
822
+
823
+
824
+ <code class="ruby"> # class User</code>
825
+ </li>
826
+
827
+ <li class="never" data-hits="" data-linenumber="110">
828
+
829
+
830
+ <code class="ruby"> # include Aspect::HasAttributes</code>
831
+ </li>
832
+
833
+ <li class="never" data-hits="" data-linenumber="111">
834
+
835
+
836
+ <code class="ruby"> #</code>
837
+ </li>
838
+
839
+ <li class="never" data-hits="" data-linenumber="112">
840
+
841
+
842
+ <code class="ruby"> # attribute(:admin, query: true)</code>
843
+ </li>
844
+
845
+ <li class="never" data-hits="" data-linenumber="113">
846
+
847
+
848
+ <code class="ruby"> # end</code>
849
+ </li>
850
+
851
+ <li class="never" data-hits="" data-linenumber="114">
852
+
853
+
854
+ <code class="ruby"> #</code>
855
+ </li>
856
+
857
+ <li class="never" data-hits="" data-linenumber="115">
858
+
859
+
860
+ <code class="ruby"> # user = User.new</code>
861
+ </li>
862
+
863
+ <li class="never" data-hits="" data-linenumber="116">
864
+
865
+
866
+ <code class="ruby"> # user.admin? # =&gt; false</code>
867
+ </li>
868
+
869
+ <li class="never" data-hits="" data-linenumber="117">
870
+
871
+
872
+ <code class="ruby"> # user.admin = &quot;yep&quot; # Accepts truthy values</code>
873
+ </li>
874
+
875
+ <li class="never" data-hits="" data-linenumber="118">
876
+
877
+
878
+ <code class="ruby"> # user.admin? # =&gt; true</code>
879
+ </li>
880
+
881
+ <li class="never" data-hits="" data-linenumber="119">
882
+
883
+
884
+ <code class="ruby"> # @example Query accessor with block</code>
885
+ </li>
886
+
887
+ <li class="never" data-hits="" data-linenumber="120">
888
+
889
+
890
+ <code class="ruby"> # class User</code>
891
+ </li>
892
+
893
+ <li class="never" data-hits="" data-linenumber="121">
894
+
895
+
896
+ <code class="ruby"> # include Aspect::HasAttributes</code>
897
+ </li>
898
+
899
+ <li class="never" data-hits="" data-linenumber="122">
900
+
901
+
902
+ <code class="ruby"> #</code>
903
+ </li>
904
+
905
+ <li class="never" data-hits="" data-linenumber="123">
906
+
907
+
908
+ <code class="ruby"> # attribute(:moderator, query: true)</code>
909
+ </li>
910
+
911
+ <li class="never" data-hits="" data-linenumber="124">
912
+
913
+
914
+ <code class="ruby"> # attribute(:admin, query: true) { |value| @moderator &amp;&amp; value }</code>
915
+ </li>
916
+
917
+ <li class="never" data-hits="" data-linenumber="125">
918
+
919
+
920
+ <code class="ruby"> # end</code>
921
+ </li>
922
+
923
+ <li class="never" data-hits="" data-linenumber="126">
924
+
925
+
926
+ <code class="ruby"> #</code>
927
+ </li>
928
+
929
+ <li class="never" data-hits="" data-linenumber="127">
930
+
931
+
932
+ <code class="ruby"> # user = User.new</code>
933
+ </li>
934
+
935
+ <li class="never" data-hits="" data-linenumber="128">
936
+
937
+
938
+ <code class="ruby"> #</code>
939
+ </li>
940
+
941
+ <li class="never" data-hits="" data-linenumber="129">
942
+
943
+
944
+ <code class="ruby"> # user.moderator? # =&gt; false</code>
945
+ </li>
946
+
947
+ <li class="never" data-hits="" data-linenumber="130">
948
+
949
+
950
+ <code class="ruby"> # user.admin? # =&gt; false</code>
951
+ </li>
952
+
953
+ <li class="never" data-hits="" data-linenumber="131">
954
+
955
+
956
+ <code class="ruby"> # user.admin = true</code>
957
+ </li>
958
+
959
+ <li class="never" data-hits="" data-linenumber="132">
960
+
961
+
962
+ <code class="ruby"> # user.admin? # =&gt; false</code>
963
+ </li>
964
+
965
+ <li class="never" data-hits="" data-linenumber="133">
966
+
967
+
968
+ <code class="ruby"> #</code>
969
+ </li>
970
+
971
+ <li class="never" data-hits="" data-linenumber="134">
972
+
973
+
974
+ <code class="ruby"> # user.moderator = true</code>
975
+ </li>
976
+
977
+ <li class="never" data-hits="" data-linenumber="135">
978
+
979
+
980
+ <code class="ruby"> # user.moderator? # =&gt; true</code>
981
+ </li>
982
+
983
+ <li class="never" data-hits="" data-linenumber="136">
984
+
985
+
986
+ <code class="ruby"> # user.admin? # =&gt; false</code>
987
+ </li>
988
+
989
+ <li class="never" data-hits="" data-linenumber="137">
990
+
991
+
992
+ <code class="ruby"> # user.admin = true</code>
993
+ </li>
994
+
995
+ <li class="never" data-hits="" data-linenumber="138">
996
+
997
+
998
+ <code class="ruby"> # user.moderator? # =&gt; true</code>
999
+ </li>
1000
+
1001
+ <li class="never" data-hits="" data-linenumber="139">
1002
+
1003
+
1004
+ <code class="ruby"> # user.admin? # =&gt; true</code>
1005
+ </li>
1006
+
1007
+ <li class="never" data-hits="" data-linenumber="140">
1008
+
1009
+
1010
+ <code class="ruby"> # @param [#to_sym] name The name of the attribute and instance variable.</code>
1011
+ </li>
1012
+
1013
+ <li class="never" data-hits="" data-linenumber="141">
1014
+
1015
+
1016
+ <code class="ruby"> # @param [Hash, #to_hash] options The options for defining and passing to the block.</code>
1017
+ </li>
1018
+
1019
+ <li class="never" data-hits="" data-linenumber="142">
1020
+
1021
+
1022
+ <code class="ruby"> # @option options [Boolean] :getter (true) Determines whether to define an attribute getter.</code>
1023
+ </li>
1024
+
1025
+ <li class="never" data-hits="" data-linenumber="143">
1026
+
1027
+
1028
+ <code class="ruby"> # @option options [Boolean] :setter (true) Determines whether to define an attribute setter.</code>
1029
+ </li>
1030
+
1031
+ <li class="never" data-hits="" data-linenumber="144">
1032
+
1033
+
1034
+ <code class="ruby"> # @option options [Boolean] :query (false)</code>
1035
+ </li>
1036
+
1037
+ <li class="never" data-hits="" data-linenumber="145">
1038
+
1039
+
1040
+ <code class="ruby"> # Determines whether to define as a query attribute, with the getter having a question mark appended to the</code>
1041
+ </li>
1042
+
1043
+ <li class="never" data-hits="" data-linenumber="146">
1044
+
1045
+
1046
+ <code class="ruby"> # method name and the setter converting the value or block into a boolean using bang-bang (`!!`).</code>
1047
+ </li>
1048
+
1049
+ <li class="never" data-hits="" data-linenumber="147">
1050
+
1051
+
1052
+ <code class="ruby"> # @yieldparam [Object] value The value given to the setter method.</code>
1053
+ </li>
1054
+
1055
+ <li class="never" data-hits="" data-linenumber="148">
1056
+
1057
+
1058
+ <code class="ruby"> # @yieldparam [Hash] options The options given when defining, given to the setter method.</code>
1059
+ </li>
1060
+
1061
+ <li class="never" data-hits="" data-linenumber="149">
1062
+
1063
+
1064
+ <code class="ruby"> # @yieldreturn [Object] The value to set the instance variable as.</code>
1065
+ </li>
1066
+
1067
+ <li class="never" data-hits="" data-linenumber="150">
1068
+
1069
+
1070
+ <code class="ruby"> # @return [Object]</code>
1071
+ </li>
1072
+
1073
+ <li class="covered" data-hits="1" data-linenumber="151">
1074
+ <span class="hits">1</span>
1075
+
1076
+ <code class="ruby"> def attribute(name, options={}, &amp;block) # TODO: Should break out into protected methods?</code>
1077
+ </li>
1078
+
1079
+ <li class="covered" data-hits="13" data-linenumber="152">
1080
+ <span class="hits">13</span>
1081
+
1082
+ <code class="ruby"> name = name.to_sym</code>
1083
+ </li>
1084
+
1085
+ <li class="never" data-hits="" data-linenumber="153">
1086
+
1087
+
1088
+ <code class="ruby"></code>
1089
+ </li>
1090
+
1091
+ <li class="covered" data-hits="13" data-linenumber="154">
1092
+ <span class="hits">13</span>
1093
+
1094
+ <code class="ruby"> options = options.to_h unless options.is_a?(Hash)</code>
1095
+ </li>
1096
+
1097
+ <li class="covered" data-hits="13" data-linenumber="155">
1098
+ <span class="hits">13</span>
1099
+
1100
+ <code class="ruby"> options = { getter: true, setter: true }.merge(options)</code>
1101
+ </li>
1102
+
1103
+ <li class="never" data-hits="" data-linenumber="156">
1104
+
1105
+
1106
+ <code class="ruby"></code>
1107
+ </li>
1108
+
1109
+ <li class="covered" data-hits="13" data-linenumber="157">
1110
+ <span class="hits">13</span>
1111
+
1112
+ <code class="ruby"> if options[:getter]</code>
1113
+ </li>
1114
+
1115
+ <li class="covered" data-hits="12" data-linenumber="158">
1116
+ <span class="hits">12</span>
1117
+
1118
+ <code class="ruby"> options[:getter] = options[:getter] == true ? {} : options[:getter].to_h</code>
1119
+ </li>
1120
+
1121
+ <li class="never" data-hits="" data-linenumber="159">
1122
+
1123
+
1124
+ <code class="ruby"></code>
1125
+ </li>
1126
+
1127
+ <li class="covered" data-hits="12" data-linenumber="160">
1128
+ <span class="hits">12</span>
1129
+
1130
+ <code class="ruby"> method_name = options[:query] ? &quot;#{name}?&quot; : name</code>
1131
+ </li>
1132
+
1133
+ <li class="covered" data-hits="12" data-linenumber="161">
1134
+ <span class="hits">12</span>
1135
+
1136
+ <code class="ruby"> define_method(method_name) do</code>
1137
+ </li>
1138
+
1139
+ <li class="covered" data-hits="20" data-linenumber="162">
1140
+ <span class="hits">20</span>
1141
+
1142
+ <code class="ruby"> value = instance_variable_get(&quot;@#{name}&quot;)</code>
1143
+ </li>
1144
+
1145
+ <li class="never" data-hits="" data-linenumber="163">
1146
+
1147
+
1148
+ <code class="ruby"></code>
1149
+ </li>
1150
+
1151
+ <li class="covered" data-hits="20" data-linenumber="164">
1152
+ <span class="hits">20</span>
1153
+
1154
+ <code class="ruby"> options[:query] ? !!value : value</code>
1155
+ </li>
1156
+
1157
+ <li class="never" data-hits="" data-linenumber="165">
1158
+
1159
+
1160
+ <code class="ruby"> end</code>
1161
+ </li>
1162
+
1163
+ <li class="never" data-hits="" data-linenumber="166">
1164
+
1165
+
1166
+ <code class="ruby"> end</code>
1167
+ </li>
1168
+
1169
+ <li class="never" data-hits="" data-linenumber="167">
1170
+
1171
+
1172
+ <code class="ruby"></code>
1173
+ </li>
1174
+
1175
+ <li class="covered" data-hits="13" data-linenumber="168">
1176
+ <span class="hits">13</span>
1177
+
1178
+ <code class="ruby"> if options[:setter]</code>
1179
+ </li>
1180
+
1181
+ <li class="covered" data-hits="11" data-linenumber="169">
1182
+ <span class="hits">11</span>
1183
+
1184
+ <code class="ruby"> options[:setter] = options[:setter] == true ? {} : options[:setter].to_h</code>
1185
+ </li>
1186
+
1187
+ <li class="never" data-hits="" data-linenumber="170">
1188
+
1189
+
1190
+ <code class="ruby"></code>
1191
+ </li>
1192
+
1193
+ <li class="covered" data-hits="11" data-linenumber="171">
1194
+ <span class="hits">11</span>
1195
+
1196
+ <code class="ruby"> define_method(&quot;#{name}=&quot;) do |value|</code>
1197
+ </li>
1198
+
1199
+ <li class="covered" data-hits="10" data-linenumber="172">
1200
+ <span class="hits">10</span>
1201
+
1202
+ <code class="ruby"> value = instance_exec(value, options, &amp;block) unless block.nil?</code>
1203
+ </li>
1204
+
1205
+ <li class="covered" data-hits="10" data-linenumber="173">
1206
+ <span class="hits">10</span>
1207
+
1208
+ <code class="ruby"> value = options[:query] ? !!value : value</code>
1209
+ </li>
1210
+
1211
+ <li class="never" data-hits="" data-linenumber="174">
1212
+
1213
+
1214
+ <code class="ruby"></code>
1215
+ </li>
1216
+
1217
+ <li class="covered" data-hits="10" data-linenumber="175">
1218
+ <span class="hits">10</span>
1219
+
1220
+ <code class="ruby"> instance_variable_set(&quot;@#{name}&quot;, value)</code>
1221
+ </li>
1222
+
1223
+ <li class="never" data-hits="" data-linenumber="176">
1224
+
1225
+
1226
+ <code class="ruby"> end</code>
1227
+ </li>
1228
+
1229
+ <li class="never" data-hits="" data-linenumber="177">
1230
+
1231
+
1232
+ <code class="ruby"> end</code>
1233
+ </li>
1234
+
1235
+ <li class="never" data-hits="" data-linenumber="178">
1236
+
1237
+
1238
+ <code class="ruby"></code>
1239
+ </li>
1240
+
1241
+ <li class="covered" data-hits="13" data-linenumber="179">
1242
+ <span class="hits">13</span>
1243
+
1244
+ <code class="ruby"> self</code>
1245
+ </li>
1246
+
1247
+ <li class="never" data-hits="" data-linenumber="180">
1248
+
1249
+
1250
+ <code class="ruby"> end</code>
1251
+ </li>
1252
+
1253
+ <li class="never" data-hits="" data-linenumber="181">
1254
+
1255
+
1256
+ <code class="ruby"> end</code>
1257
+ </li>
1258
+
1259
+ <li class="never" data-hits="" data-linenumber="182">
1260
+
1261
+
1262
+ <code class="ruby"></code>
1263
+ </li>
1264
+
1265
+ <li class="covered" data-hits="1" data-linenumber="183">
1266
+ <span class="hits">1</span>
1267
+
1268
+ <code class="ruby"> class &lt;&lt; self</code>
1269
+ </li>
1270
+
1271
+ <li class="never" data-hits="" data-linenumber="184">
1272
+
1273
+
1274
+ <code class="ruby"> # On include hook to extend `ClassMethods`.</code>
1275
+ </li>
1276
+
1277
+ <li class="covered" data-hits="1" data-linenumber="185">
1278
+ <span class="hits">1</span>
1279
+
1280
+ <code class="ruby"> def included(base)</code>
1281
+ </li>
1282
+
1283
+ <li class="covered" data-hits="1" data-linenumber="186">
1284
+ <span class="hits">1</span>
1285
+
1286
+ <code class="ruby"> base.send(:extend, ClassMethods)</code>
1287
+ </li>
1288
+
1289
+ <li class="never" data-hits="" data-linenumber="187">
1290
+
1291
+
1292
+ <code class="ruby"> end</code>
1293
+ </li>
1294
+
1295
+ <li class="never" data-hits="" data-linenumber="188">
1296
+
1297
+
1298
+ <code class="ruby"> end</code>
1299
+ </li>
1300
+
1301
+ <li class="never" data-hits="" data-linenumber="189">
1302
+
1303
+
1304
+ <code class="ruby"></code>
1305
+ </li>
1306
+
1307
+ <li class="never" data-hits="" data-linenumber="190">
1308
+
1309
+
1310
+ <code class="ruby"> # Update attributes on this object.</code>
1311
+ </li>
1312
+
1313
+ <li class="never" data-hits="" data-linenumber="191">
1314
+
1315
+
1316
+ <code class="ruby"> #</code>
1317
+ </li>
1318
+
1319
+ <li class="never" data-hits="" data-linenumber="192">
1320
+
1321
+
1322
+ <code class="ruby"> # @example</code>
1323
+ </li>
1324
+
1325
+ <li class="never" data-hits="" data-linenumber="193">
1326
+
1327
+
1328
+ <code class="ruby"> # class User</code>
1329
+ </li>
1330
+
1331
+ <li class="never" data-hits="" data-linenumber="194">
1332
+
1333
+
1334
+ <code class="ruby"> # include Aspect::HasAttributes</code>
1335
+ </li>
1336
+
1337
+ <li class="never" data-hits="" data-linenumber="195">
1338
+
1339
+
1340
+ <code class="ruby"> #</code>
1341
+ </li>
1342
+
1343
+ <li class="never" data-hits="" data-linenumber="196">
1344
+
1345
+
1346
+ <code class="ruby"> # attribute(:name) { |value| value.to_s.strip }</code>
1347
+ </li>
1348
+
1349
+ <li class="never" data-hits="" data-linenumber="197">
1350
+
1351
+
1352
+ <code class="ruby"> # attribute(:moderator, query: true)</code>
1353
+ </li>
1354
+
1355
+ <li class="never" data-hits="" data-linenumber="198">
1356
+
1357
+
1358
+ <code class="ruby"> # attribute(:admin, query: true) { |value| @moderator ? value : false }</code>
1359
+ </li>
1360
+
1361
+ <li class="never" data-hits="" data-linenumber="199">
1362
+
1363
+
1364
+ <code class="ruby"> # end</code>
1365
+ </li>
1366
+
1367
+ <li class="never" data-hits="" data-linenumber="200">
1368
+
1369
+
1370
+ <code class="ruby"> #</code>
1371
+ </li>
1372
+
1373
+ <li class="never" data-hits="" data-linenumber="201">
1374
+
1375
+
1376
+ <code class="ruby"> # user = User.new</code>
1377
+ </li>
1378
+
1379
+ <li class="never" data-hits="" data-linenumber="202">
1380
+
1381
+
1382
+ <code class="ruby"> #</code>
1383
+ </li>
1384
+
1385
+ <li class="never" data-hits="" data-linenumber="203">
1386
+
1387
+
1388
+ <code class="ruby"> # user.name # =&gt; nil</code>
1389
+ </li>
1390
+
1391
+ <li class="never" data-hits="" data-linenumber="204">
1392
+
1393
+
1394
+ <code class="ruby"> # user.moderator? # =&gt; false</code>
1395
+ </li>
1396
+
1397
+ <li class="never" data-hits="" data-linenumber="205">
1398
+
1399
+
1400
+ <code class="ruby"> # user.admin? # =&gt; false</code>
1401
+ </li>
1402
+
1403
+ <li class="never" data-hits="" data-linenumber="206">
1404
+
1405
+
1406
+ <code class="ruby"> #</code>
1407
+ </li>
1408
+
1409
+ <li class="never" data-hits="" data-linenumber="207">
1410
+
1411
+
1412
+ <code class="ruby"> # user.update_attributes(name: &quot; Ezio Auditore &quot;, moderator: true)</code>
1413
+ </li>
1414
+
1415
+ <li class="never" data-hits="" data-linenumber="208">
1416
+
1417
+
1418
+ <code class="ruby"> #</code>
1419
+ </li>
1420
+
1421
+ <li class="never" data-hits="" data-linenumber="209">
1422
+
1423
+
1424
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
1425
+ </li>
1426
+
1427
+ <li class="never" data-hits="" data-linenumber="210">
1428
+
1429
+
1430
+ <code class="ruby"> # user.moderator? # =&gt; true</code>
1431
+ </li>
1432
+
1433
+ <li class="never" data-hits="" data-linenumber="211">
1434
+
1435
+
1436
+ <code class="ruby"> # user.admin? # =&gt; false</code>
1437
+ </li>
1438
+
1439
+ <li class="never" data-hits="" data-linenumber="212">
1440
+
1441
+
1442
+ <code class="ruby"> # @example In `#initialize`</code>
1443
+ </li>
1444
+
1445
+ <li class="never" data-hits="" data-linenumber="213">
1446
+
1447
+
1448
+ <code class="ruby"> # class User</code>
1449
+ </li>
1450
+
1451
+ <li class="never" data-hits="" data-linenumber="214">
1452
+
1453
+
1454
+ <code class="ruby"> # include Aspect::HasAttributes</code>
1455
+ </li>
1456
+
1457
+ <li class="never" data-hits="" data-linenumber="215">
1458
+
1459
+
1460
+ <code class="ruby"> #</code>
1461
+ </li>
1462
+
1463
+ <li class="never" data-hits="" data-linenumber="216">
1464
+
1465
+
1466
+ <code class="ruby"> # def initialize(attributes={})</code>
1467
+ </li>
1468
+
1469
+ <li class="never" data-hits="" data-linenumber="217">
1470
+
1471
+
1472
+ <code class="ruby"> # update_attributes(attributes)</code>
1473
+ </li>
1474
+
1475
+ <li class="never" data-hits="" data-linenumber="218">
1476
+
1477
+
1478
+ <code class="ruby"> # end</code>
1479
+ </li>
1480
+
1481
+ <li class="never" data-hits="" data-linenumber="219">
1482
+
1483
+
1484
+ <code class="ruby"> #</code>
1485
+ </li>
1486
+
1487
+ <li class="never" data-hits="" data-linenumber="220">
1488
+
1489
+
1490
+ <code class="ruby"> # attribute(:name) { |value| value.to_s.strip }</code>
1491
+ </li>
1492
+
1493
+ <li class="never" data-hits="" data-linenumber="221">
1494
+
1495
+
1496
+ <code class="ruby"> # attribute(:moderator, query: true)</code>
1497
+ </li>
1498
+
1499
+ <li class="never" data-hits="" data-linenumber="222">
1500
+
1501
+
1502
+ <code class="ruby"> # attribute(:admin, query: true) { |value| @moderator ? value : false }</code>
1503
+ </li>
1504
+
1505
+ <li class="never" data-hits="" data-linenumber="223">
1506
+
1507
+
1508
+ <code class="ruby"> # end</code>
1509
+ </li>
1510
+
1511
+ <li class="never" data-hits="" data-linenumber="224">
1512
+
1513
+
1514
+ <code class="ruby"> #</code>
1515
+ </li>
1516
+
1517
+ <li class="never" data-hits="" data-linenumber="225">
1518
+
1519
+
1520
+ <code class="ruby"> # user = User.new(name: &quot; Ezio Auditore &quot;, moderator: true)</code>
1521
+ </li>
1522
+
1523
+ <li class="never" data-hits="" data-linenumber="226">
1524
+
1525
+
1526
+ <code class="ruby"> #</code>
1527
+ </li>
1528
+
1529
+ <li class="never" data-hits="" data-linenumber="227">
1530
+
1531
+
1532
+ <code class="ruby"> # user.name # =&gt; &quot;Ezio Auditore&quot;</code>
1533
+ </li>
1534
+
1535
+ <li class="never" data-hits="" data-linenumber="228">
1536
+
1537
+
1538
+ <code class="ruby"> # user.moderator? # =&gt; true</code>
1539
+ </li>
1540
+
1541
+ <li class="never" data-hits="" data-linenumber="229">
1542
+
1543
+
1544
+ <code class="ruby"> # user.admin? # =&gt; false</code>
1545
+ </li>
1546
+
1547
+ <li class="never" data-hits="" data-linenumber="230">
1548
+
1549
+
1550
+ <code class="ruby"> # @param [Hash, #to_h] attributes</code>
1551
+ </li>
1552
+
1553
+ <li class="never" data-hits="" data-linenumber="231">
1554
+
1555
+
1556
+ <code class="ruby"> # @return [Object]</code>
1557
+ </li>
1558
+
1559
+ <li class="covered" data-hits="1" data-linenumber="232">
1560
+ <span class="hits">1</span>
1561
+
1562
+ <code class="ruby"> def update_attributes(attributes={})</code>
1563
+ </li>
1564
+
1565
+ <li class="covered" data-hits="3" data-linenumber="233">
1566
+ <span class="hits">3</span>
1567
+
1568
+ <code class="ruby"> attributes.to_h.each { |name, value| send(&quot;#{name}=&quot;, value) }</code>
1569
+ </li>
1570
+
1571
+ <li class="never" data-hits="" data-linenumber="234">
1572
+
1573
+
1574
+ <code class="ruby"></code>
1575
+ </li>
1576
+
1577
+ <li class="covered" data-hits="1" data-linenumber="235">
1578
+ <span class="hits">1</span>
1579
+
1580
+ <code class="ruby"> self</code>
1581
+ </li>
1582
+
1583
+ <li class="never" data-hits="" data-linenumber="236">
1584
+
1585
+
1586
+ <code class="ruby"> end</code>
1587
+ </li>
1588
+
1589
+ <li class="never" data-hits="" data-linenumber="237">
1590
+
1591
+
1592
+ <code class="ruby"> end</code>
1593
+ </li>
1594
+
1595
+ <li class="never" data-hits="" data-linenumber="238">
1596
+
1597
+
1598
+ <code class="ruby">end</code>
1599
+ </li>
1600
+
1601
+ </ol>
1602
+ </pre>
1603
+ </div>
1604
+
1605
+ <div class="source_table" id="3b6af0d81674d1892ae079d4019486ad504c42ce">
1606
+ <div class="header">
1607
+ <h3>lib/aspect/version.rb</h3>
1608
+ <h4><span class="green">100.0 %</span> covered</h4>
1609
+ <div>
1610
+ <b>2</b> relevant lines.
1611
+ <span class="green"><b>2</b> lines covered</span> and
1612
+ <span class="red"><b>0</b> lines missed.</span>
1613
+ </div>
1614
+ </div>
1615
+
1616
+ <pre>
1617
+ <ol>
1618
+
1619
+ <li class="covered" data-hits="1" data-linenumber="1">
1620
+ <span class="hits">1</span>
1621
+
1622
+ <code class="ruby">module Aspect</code>
1623
+ </li>
1624
+
1625
+ <li class="covered" data-hits="1" data-linenumber="2">
1626
+ <span class="hits">1</span>
1627
+
1628
+ <code class="ruby"> VERSION = &quot;0.0.1&quot;.freeze</code>
1629
+ </li>
1630
+
1631
+ <li class="never" data-hits="" data-linenumber="3">
1632
+
1633
+
1634
+ <code class="ruby">end</code>
1635
+ </li>
1636
+
1637
+ </ol>
1638
+ </pre>
1639
+ </div>
1640
+
69
1641
  </div>
70
1642
  </div>
71
1643
  </body>