Module: DumbDelimited
- Defined in:
- lib/dumb_delimited.rb,
lib/dumb_delimited/version.rb
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Constant Summary collapse
- VERSION =
"2.0.0"
Class Method Summary collapse
-
.[](*columns) ⇒ Class<Struct>
Returns a model class for delimited data consisting of the specified
columns. -
.csv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set ClassMethods#delimiter to “,”.
-
.psv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set ClassMethods#delimiter to “|”.
-
.tsv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set ClassMethods#delimiter to
"\t".
Class Method Details
.[](*columns) ⇒ Class<Struct>
Returns a model class for delimited data consisting of the specified columns. The returned class inherits from Ruby’s Struct, allowing data manipulation via accessor methods, via indexing by column name, and via indexing by column number. See ClassMethods and InstanceMethods for the additional methods the returned class provides.
27 28 29 30 31 32 |
# File 'lib/dumb_delimited.rb', line 27 def self.[](*columns) Struct.new(*columns) do extend DumbDelimited::ClassMethods include DumbDelimited::InstanceMethods end end |
.csv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set DumbDelimited::ClassMethods#delimiter to “,”.
Note: This method exists mostly for parity with psv and tsv. Unless CSV::DEFAULT_OPTIONS has been modified, the delimiter will already default to “,”.
51 52 53 54 55 |
# File 'lib/dumb_delimited.rb', line 51 def self.csv(*columns) klass = self[*columns] klass.delimiter = "," klass end |
.psv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set DumbDelimited::ClassMethods#delimiter to “|”.
70 71 72 73 74 |
# File 'lib/dumb_delimited.rb', line 70 def self.psv(*columns) klass = self[*columns] klass.delimiter = "|" klass end |
.tsv(*columns) ⇒ Class<Struct>
Convenience shortcut to create a model class and set DumbDelimited::ClassMethods#delimiter to "\t".
89 90 91 92 93 |
# File 'lib/dumb_delimited.rb', line 89 def self.tsv(*columns) klass = self[*columns] klass.delimiter = "\t" klass end |