algebrick 0.2.1 → 0.2.2
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 +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)
|