class_composer 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32a9c6f0ff1d02646977e79cc67c746ae3a24a4fdce5b22003e6c9d0035ea0df
4
- data.tar.gz: 55bc12b96385d9772980f9348b8b0d42f1bb0436736fcaaec018fa7f5a681418
3
+ metadata.gz: 7d53fe12431ff8f1dd4c42d7282d11a64637a0c3ab573e24a7d83443a8a9cac2
4
+ data.tar.gz: 0376e66b2fef6bc976289dd1f4e4517830dd0a63c0e12519730efc9786865c9f
5
5
  SHA512:
6
- metadata.gz: a7dfffaa0dbe370e01dfa4e77a666e49fad3ff855b43b839e4d8ff0b31cd0ba547217d834bca792559147bb12aba55f1b0d14e7b18d751b20a893ae34c3ca736
7
- data.tar.gz: d4f565781f952e89f2f5234ea1179736888ccf889f6aa94d231933beb96a752146029bc77c9a2afb637feb419075d00e15787af2fab15473da042928e22dbf08
6
+ metadata.gz: b08e706f2f55865e6d4fab779896450dab524b946412ee8e8be8a673b205a8f3ded0a438db6dbce53d8ebc06c6a88a2dc6cba5a4da3bd5e22a599a205ea9cc0f
7
+ data.tar.gz: bfa9491b16358fc59b221bd5ac847b861c52a6a5793dca4fc59c81a8ceef3e12c1d3148bd8679833e4c5a643e5738788a9647a1619f9aadc2171b9d497bd0f34
data/README.md CHANGED
@@ -42,11 +42,32 @@ class MyConfigurableClass
42
42
  ALLOWED_FIBONACCI = [0, 2, 8, 13, 34]
43
43
 
44
44
  add_composer :status, allowed: Integer, default: 35
45
- add_composer :number, allowed: Integer, default: 0, validator: -> (val) { }
45
+ add_composer :number, allowed: Integer, default: 0, validator: -> (val) { val < 50 }
46
46
  # when no default is provided, nil will be returned
47
- add_composer :fibbonacci, allowed: Array, validator: ->(val) { val.all? {|i| i.is_a?(Integer) } && (val - ALLOWED_FIBONACCI) > 0 }, invalid_message: ->(val) { "We only allow #{ALLOWED_FIBONACCI} numbers. Received #{val}" }
47
+ add_composer :fibbonacci, allowed: Array, validator: ->(val) { val.all? {|i| i.is_a?(Integer) } && val.all? { |i| ALLOWED_FIBONACCI.include?(i) } }, invalid_message: ->(val) { "We only allow #{ALLOWED_FIBONACCI} numbers. Received #{val}" }
48
48
  # Allowed can be passed an array of allowed class types
49
49
  add_composer :type, allowed: [Proc, Integer], default: 35
50
+ end
51
+
52
+ instance = MyConfigurableClass.new
53
+ instance.type
54
+ => 35
55
+ instance.number = 75
56
+ ClassComposer::ValidatorError: MyConfigurableClass.number failed validation. number is expected to be Integer.
57
+ from /gem/lib/class_composer/generator.rb:71:in `block in __composer_assignment__`
58
+ instance.number = 15
59
+ => 15
60
+ instance.number
61
+ => 15
62
+ instance.fibbonacci
63
+ => nil
64
+ instance.fibbonacci = [1,2,3]
65
+ ClassComposer::ValidatorError: MyConfigurableClass.fibbonacci failed validation. fibbonacci is expected to be [Array]. We only allow [0, 2, 8, 13, 34] numbers. Received [1, 2, 3]
66
+ from /gem/lib/class_composer/generator.rb:71:in `block in __composer_assignment__`
67
+ instance.fibbonacci = [0,13,34]
68
+ => [0, 13, 34]
69
+ instance.fibbonacci
70
+ => [0, 13, 34]
50
71
  ```
51
72
 
52
73
  ### KWarg Options
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ClassComposer
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: class_composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Taylor