algebrick 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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