Module: Pinspec::Inputs::Boundary
- Defined in:
- lib/pinspec/inputs/boundary.rb
Constant Summary collapse
- BY_TYPE =
{ "Integer" => [0, 1, -1], "Float" => [0.0, 1.0, -1.0], "Boolean" => [true, false], "String" => ["", "pinspec"], "Symbol" => nil, "Array" => [[]], "Hash" => [{}], "Proc" => nil, "Date" => [PINSPEC_EPOCH[0, 10]], "Time" => [PINSPEC_EPOCH] }.freeze
- DECIMAL_HINTS =
%w[BigDecimal Decimal].freeze
Class Method Summary collapse
- .base_value(param, column: nil) ⇒ Object
- .omittable?(param) ⇒ Boolean
- .values_for(param, column: nil) ⇒ Object
Class Method Details
.base_value(param, column: nil) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/pinspec/inputs/boundary.rb', line 30 def base_value(param, column: nil) declared = default_value(param) return Tags.encode(declared) unless declared == :__none__ encode(Array(edges_for(param, column)).first, param) end |
.omittable?(param) ⇒ Boolean
37 38 39 |
# File 'lib/pinspec/inputs/boundary.rb', line 37 def omittable?(param) param.optional? end |
.values_for(param, column: nil) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/pinspec/inputs/boundary.rb', line 22 def values_for(param, column: nil) declared = default_value(param) edges = edges_for(param, column) ordered = [declared, *edges] present(ordered).map { |value| encode(value, param) }.uniq end |