Class: InOrder::Aux::PolyKey
- Inherits:
-
Object
- Object
- InOrder::Aux::PolyKey
- Defined in:
- app/models/in_order/aux/poly_key.rb
Constant Summary collapse
- FIELD_NAMES =
%i(type id)
- SPLITTER_RE =
%r([-,:/^\\|\s])
Instance Attribute Summary collapse
-
#default_name ⇒ Object
Returns the value of attribute default_name.
-
#id ⇒ Object
Returns the value of attribute id.
-
#type ⇒ Object
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(candidate, id = nil, name: nil, default_name: name) ⇒ PolyKey
constructor
A new instance of PolyKey.
-
#set(type = nil, _id = nil, id: _id) ⇒ Object
alias to_named params to_params_by_name.
- #to_a ⇒ Object
- #to_bare_params ⇒ Object (also: #to_short_params)
- #to_h(field_names = full_names) ⇒ Object (also: #to_params)
-
#to_id_key_params ⇒ Object
REST key params.
- #to_id_params ⇒ Object
- #to_params_by_name(key_name = nil, default: true) ⇒ Object
- #to_s(delim = '-') ⇒ Object (also: #to_param, #to_key)
- #to_type_params ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(candidate, id = nil, name: nil, default_name: name) ⇒ PolyKey
Returns a new instance of PolyKey.
11 12 13 14 15 16 17 |
# File 'app/models/in_order/aux/poly_key.rb', line 11 def initialize(candidate, id=nil, name: nil, default_name: name) self.default_name = default_name candidate = [ candidate, id ] if id assign candidate end |
Instance Attribute Details
#default_name ⇒ Object
Returns the value of attribute default_name.
9 10 11 |
# File 'app/models/in_order/aux/poly_key.rb', line 9 def default_name @default_name end |
#id ⇒ Object
Returns the value of attribute id.
9 10 11 |
# File 'app/models/in_order/aux/poly_key.rb', line 9 def id @id end |
#type ⇒ Object
Returns the value of attribute type.
9 10 11 |
# File 'app/models/in_order/aux/poly_key.rb', line 9 def type @type end |
Instance Method Details
#set(type = nil, _id = nil, id: _id) ⇒ Object
alias to_named params to_params_by_name
57 58 59 60 61 62 63 |
# File 'app/models/in_order/aux/poly_key.rb', line 57 def set(type=nil, _id=nil, id: _id) self.type = type.to_s if type self.id = id self end |
#to_a ⇒ Object
25 26 27 |
# File 'app/models/in_order/aux/poly_key.rb', line 25 def to_a [ type, id ] end |
#to_bare_params ⇒ Object Also known as: to_short_params
34 35 36 |
# File 'app/models/in_order/aux/poly_key.rb', line 34 def to_h FIELD_NAMES end |
#to_h(field_names = full_names) ⇒ Object Also known as: to_params
29 30 31 |
# File 'app/models/in_order/aux/poly_key.rb', line 29 def to_h(field_names=full_names) field_names.zip(to_a).to_h end |
#to_id_key_params ⇒ Object
REST key params
40 41 42 |
# File 'app/models/in_order/aux/poly_key.rb', line 40 def to_id_key_params { id: to_s } end |
#to_id_params ⇒ Object
43 44 45 |
# File 'app/models/in_order/aux/poly_key.rb', line 43 def to_id_params { id: id } end |
#to_params_by_name(key_name = nil, default: true) ⇒ Object
50 51 52 53 54 |
# File 'app/models/in_order/aux/poly_key.rb', line 50 def to_params_by_name(key_name=nil, default: true) key_name ||= name_prefix { key_name.to_sym => } end |
#to_s(delim = '-') ⇒ Object Also known as: to_param, to_key
19 20 21 |
# File 'app/models/in_order/aux/poly_key.rb', line 19 def to_s(delim='-') "#{type}#{delim}#{id}" end |
#to_type_params ⇒ Object
46 47 48 |
# File 'app/models/in_order/aux/poly_key.rb', line 46 def to_type_params { type: type } end |
#valid? ⇒ Boolean
65 66 67 |
# File 'app/models/in_order/aux/poly_key.rb', line 65 def valid? type.present? and id.present? end |