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, default_first: true) ⇒ Object
Class Method Details
.base_value(param, column: nil) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/pinspec/inputs/boundary.rb', line 31 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
38 39 40 |
# File 'lib/pinspec/inputs/boundary.rb', line 38 def omittable?(param) param.optional? end |
.values_for(param, column: nil, default_first: true) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/pinspec/inputs/boundary.rb', line 22 def values_for(param, column: nil, default_first: true) declared = default_value(param) edges = edges_for(param, column) ordered = default_first ? [declared, *edges] : [*edges, declared] present(ordered).map { |value| encode(value, param) }.uniq end |