algebrick 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/algebrick.rb +35 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13d3ecc1ea957d30796a0a4a66c670707c52d12c
|
4
|
+
data.tar.gz: 90fdd38aaee376f2b48c7c8885e979cc5e3b634d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0a8bdc76d1fd32d8c3e9f214a03eb9d9802def07fdc5dd0e407b72edb5b53d2c87030bddb01f243afb4a086baff074b058a190f7737bf1d4104248853802517
|
7
|
+
data.tar.gz: 435a6f291c7c9c4d7cad122a0c412627c95182b3a06e54c32d79d49d3d0cc30b965eb6f8d79e22b9234797fc3802f289d7eeb3ed4c69602146c647958202aba7
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/lib/algebrick.rb
CHANGED
@@ -353,7 +353,7 @@ module Algebrick
|
|
353
353
|
@constructor = Class.new(ProductConstructor).tap { |c| c.type = self }
|
354
354
|
end
|
355
355
|
|
356
|
-
def
|
356
|
+
def add_field_method_reader(field)
|
357
357
|
raise TypeError, 'no field names' unless @field_names
|
358
358
|
raise ArgumentError, "no field name #{field}" unless @field_names.include? field
|
359
359
|
raise ArgumentError, "method #{field} already defined" if instance_methods.include? field
|
@@ -361,13 +361,30 @@ module Algebrick
|
|
361
361
|
self
|
362
362
|
end
|
363
363
|
|
364
|
-
def
|
365
|
-
fields.each { |f|
|
364
|
+
def add_field_method_readers(*fields)
|
365
|
+
fields.each { |f| add_field_method_reader f }
|
366
366
|
self
|
367
367
|
end
|
368
368
|
|
369
|
+
def add_all_field_method_readers
|
370
|
+
add_field_method_readers *@field_names
|
371
|
+
end
|
372
|
+
|
373
|
+
raise 'remove deprecation' if Algebrick.version >= Gem::Version.new('0.3')
|
374
|
+
|
369
375
|
def add_all_field_method_accessors
|
370
|
-
|
376
|
+
warn "add_all_field_method_accessors is deprecated, it'll be removed in 0.3\n#{caller[0]}"
|
377
|
+
add_all_field_method_readers
|
378
|
+
end
|
379
|
+
|
380
|
+
def add_field_method_accessors(*fields)
|
381
|
+
warn "add_all_field_method_accessors is deprecated, it'll be removed in 0.3\n#{caller[0]}"
|
382
|
+
add_field_method_readers *fields
|
383
|
+
end
|
384
|
+
|
385
|
+
def add_field_method_accessor(field)
|
386
|
+
warn "add_all_field_method_accessors is deprecated, it'll be removed in 0.3\n#{caller[0]}"
|
387
|
+
add_field_method_reader field
|
371
388
|
end
|
372
389
|
|
373
390
|
def set_variants(variants)
|
@@ -547,6 +564,20 @@ module Algebrick
|
|
547
564
|
def type(&block)
|
548
565
|
Algebrick.type &block
|
549
566
|
end
|
567
|
+
|
568
|
+
def field_readers(*names)
|
569
|
+
@new_type.add_field_method_readers *names
|
570
|
+
self
|
571
|
+
end
|
572
|
+
|
573
|
+
alias_method :readers, :field_readers
|
574
|
+
|
575
|
+
def all_field_readers
|
576
|
+
@new_type.add_all_field_method_readers
|
577
|
+
self
|
578
|
+
end
|
579
|
+
|
580
|
+
alias_method :all_readers, :all_field_readers
|
550
581
|
end
|
551
582
|
|
552
583
|
def self.type(&block)
|