Class: Eco::Data::Locations::NodePlain
- Inherits:
-
NodePlainStruct
- Object
- Struct
- NodePlainStruct
- Eco::Data::Locations::NodePlain
- Extended by:
- Builder
- Includes:
- NodeBase
- Defined in:
- lib/eco/data/locations/node_plain.rb,
lib/eco/data/locations/node_plain/serial.rb,
lib/eco/data/locations/node_plain/builder.rb,
lib/eco/data/locations/node_plain/parsing.rb
Overview
Class to treat input csv in a form of a list of nodes, where parent is specified.
Defined Under Namespace
Modules: Builder, Parsing, Serial
Constant Summary collapse
- ALL_ATTRS =
NODE_PLAIN_ATTRS
- ADDITIONAL_ATTRS =
%i[row_num].freeze
- PROP_ATTRS =
(ALL_ATTRS - ADDITIONAL_ATTRS).freeze
Constants included from Eco::Data::Locations::NodeBase::TagValidations
Eco::Data::Locations::NodeBase::TagValidations::ALLOWED_CHARACTERS, Eco::Data::Locations::NodeBase::TagValidations::DOUBLE_BLANKS, Eco::Data::Locations::NodeBase::TagValidations::INVALID_TAG_REGEX, Eco::Data::Locations::NodeBase::TagValidations::VALID_TAG_CHARS, Eco::Data::Locations::NodeBase::TagValidations::VALID_TAG_REGEX
Instance Attribute Summary
Attributes included from Serial
Attributes included from Parsing
Attributes included from NodeBase
Attributes included from Language::AuxiliarLogger
Instance Method Summary collapse
- #archived ⇒ Object
- #classification_names ⇒ Object
- #classifications ⇒ Object
- #id ⇒ Object (also: #tag)
- #name ⇒ Object
- #node_hash(stringify_keys: true) {|node, json| ... } ⇒ Object
- #parent_id ⇒ Object (also: #parentId)
Methods included from Parsing
#basic_headers, #csv_matches_format?, #nodes_from_csv
Methods included from NodeBase
#attr, #attr?, #copy, #set_attr, #set_attrs, #slice, #to_h, #values_at
Methods included from Eco::Data::Locations::NodeBase::Builder
Methods included from Eco::Data::Locations::NodeBase::Treeify
Methods included from Language::AuxiliarLogger
Methods included from Eco::Data::Locations::NodeBase::CsvConvert
#csv_list, #csv_tree, #hash_list, #hash_tree, #org_tree, #tree_class
Methods included from Eco::Data::Locations::NodeBase::Parsing
#csv_nodes_from, #hash_tree_from_csv, #nodes_from_csv
Methods included from Convert
#csv_from, #empty_array, #empty_level_tracker_hash, #hash_tree_to_tree_csv, #log_pretty_inspect, #normalize_arrays, #report_repeated_node_ids
Methods included from Eco::Data::Locations::NodeBase::Serial
#nodes_to_csv_list, #nodes_to_csv_tree, #serializer
Methods included from Eco::Data::Locations::NodeBase::TagValidations
#clean_id, #has_double_blanks?, #identify_invalid_characters, #invalid_warned, #invalid_warned!, #invalid_warned?, #remove_double_blanks, #replace_not_allowed
Instance Method Details
#archived ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/eco/data/locations/node_plain.rb', line 39 def archived value = super return false if value.nil? || value == false return true if value == true return false if value.to_s.strip.empty? return true if %w[yes x true].include?(value.downcase) false end |
#classification_names ⇒ Object
54 55 56 |
# File 'lib/eco/data/locations/node_plain.rb', line 54 def classification_names into_a(super) end |
#classifications ⇒ Object
48 49 50 51 52 |
# File 'lib/eco/data/locations/node_plain.rb', line 48 def classifications into_a(super).map do |value| treat_classication(value) end end |
#id ⇒ Object Also known as: tag
24 25 26 |
# File 'lib/eco/data/locations/node_plain.rb', line 24 def id clean_id(super, ref: "(Row: #{row_num}) ") end |
#name ⇒ Object
30 31 32 |
# File 'lib/eco/data/locations/node_plain.rb', line 30 def name super || id end |
#node_hash(stringify_keys: true) {|node, json| ... } ⇒ Object
62 63 64 65 66 67 |
# File 'lib/eco/data/locations/node_plain.rb', line 62 def node_hash(stringify_keys: true) json = to_h.reject {|key, _v| key == :row_num} json.transform_keys!(&:to_s) if stringify_keys json.merge!(yield(self, json)) if block_given? json end |
#parent_id ⇒ Object Also known as: parentId
34 35 36 |
# File 'lib/eco/data/locations/node_plain.rb', line 34 def parent_id clean_id(super, notify: false, ref: "(Row: #{row_num} - parent_id) ") end |