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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/algebrick.rb +35 -4
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1262324c066855e6e96c6ca70bf7d3918b80882
4
- data.tar.gz: d42dd430ead9a4c53dfa30da82f7e56c67c4637c
3
+ metadata.gz: 13d3ecc1ea957d30796a0a4a66c670707c52d12c
4
+ data.tar.gz: 90fdd38aaee376f2b48c7c8885e979cc5e3b634d
5
5
  SHA512:
6
- metadata.gz: d41c6f3bc94df148a7e14e5556b72989d1c1bed056d239e2c877b6d8ff7b5ca5d54935ce43b46883bbd0850af7b1148875b221b48caa29045355051f5d216dac
7
- data.tar.gz: bbe34975c1faa54e5bbb480709dd863a06022387e2ae7368167ac383948073f9b308b8d0e0035a6c0f364a29fd32dcbb2079b6909e70bbba4e2e34ac196ada92
6
+ metadata.gz: a0a8bdc76d1fd32d8c3e9f214a03eb9d9802def07fdc5dd0e407b72edb5b53d2c87030bddb01f243afb4a086baff074b058a190f7737bf1d4104248853802517
7
+ data.tar.gz: 435a6f291c7c9c4d7cad122a0c412627c95182b3a06e54c32d79d49d3d0cc30b965eb6f8d79e22b9234797fc3802f289d7eeb3ed4c69602146c647958202aba7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
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 add_field_method_accessor(field)
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 add_field_method_accessors(*fields)
365
- fields.each { |f| add_field_method_accessor 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
- add_field_method_accessors *@field_names
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: algebrick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Chalupa