Class: Daygram::Database::Dataset

Inherits:
Object
  • Object
show all
Defined in:
lib/daygram/database/dataset.rb

Instance Method Summary collapse

Constructor Details

#initialize(dataset) ⇒ Dataset

Returns a new instance of Dataset.



6
7
8
# File 'lib/daygram/database/dataset.rb', line 6

def initialize(dataset)
  @data = dataset
end

Instance Method Details

#diary_fieldsObject



10
11
12
# File 'lib/daygram/database/dataset.rb', line 10

def diary_fields
  [:date, :created, :updated, :content]
end

#format_output(options) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/daygram/database/dataset.rb', line 49

def format_output options
  if options[:format] == 'hash'
    self.to_hash
  elsif options[:format] == 'json'
    self.to_json
  elsif options[:format] == 'table'
    Terminal::Table.new :title => "Daygram Diary", :headings => diary_fields, :rows => self.to_array
  else
    self.to_s
  end
end

#to_arrayObject Also known as: to_a



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/daygram/database/dataset.rb', line 31

def to_array
  arr = []
  @data.each do |entry|
    row = []
    diary_fields.each do |field|
      row << entry[field]
    end
    arr << row
  end

  arr
end

#to_hashObject Also known as: to_h



26
27
28
# File 'lib/daygram/database/dataset.rb', line 26

def to_hash
  @data.to_hash(:date)
end

#to_jsonObject



45
46
47
# File 'lib/daygram/database/dataset.rb', line 45

def to_json
  to_hash.to_json
end

#to_stringObject Also known as: to_s



14
15
16
17
18
19
20
21
22
23
# File 'lib/daygram/database/dataset.rb', line 14

def to_string
  str = ""
  @data.each do |entry|
    str << "#{entry[:date]} | Created: #{entry[:created]} | Updated: #{entry[:updated]}\n"
    str << "#{entry[:content]}\n"
    str << "\n\n"
  end

  str
end