aspect 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,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>