Class: Cheatly::Sheet

Inherits:
Object
  • Object
show all
Defined in:
lib/cheatly/sheet.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(title, body = nil, options = {}) ⇒ Sheet



5
6
7
8
# File 'lib/cheatly/sheet.rb', line 5

def initialize(title, body = nil, options = {})
  @title, @body = title, body
  @presisted = options[:persisted] || false
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



3
4
5
# File 'lib/cheatly/sheet.rb', line 3

def body
  @body
end

#titleObject

Returns the value of attribute title.



3
4
5
# File 'lib/cheatly/sheet.rb', line 3

def title
  @title
end

Class Method Details

.adapterObject



42
43
44
# File 'lib/cheatly/sheet.rb', line 42

def self.adapter
  @adapter ||= Cheatly::Adapter::GitHub.new
end

.allObject



37
38
39
40
# File 'lib/cheatly/sheet.rb', line 37

def self.all
  handles = adapter.all
  handles.map { |h| Sheet.new(h, nil) }
end

.find(handle) ⇒ Object



30
31
32
33
34
35
# File 'lib/cheatly/sheet.rb', line 30

def self.find(handle)
  t, b = adapter.find(handle)
  Sheet.new(t, b, persisted: true)
rescue RuntimeError => e
  puts e.message
end

.with_file_adapterObject



46
47
48
49
# File 'lib/cheatly/sheet.rb', line 46

def self.with_file_adapter
  @adapter = Cheatly::Adapter::File.new
  self
end

Instance Method Details

#createObject



14
15
16
# File 'lib/cheatly/sheet.rb', line 14

def create
  adapter.create(title, body)
end

#saveObject



22
23
24
25
26
27
28
# File 'lib/cheatly/sheet.rb', line 22

def save
  if @persisted
    update
  else
    create
  end
end

#to_sObject



10
11
12
# File 'lib/cheatly/sheet.rb', line 10

def to_s
  "  #{@body.gsub("\r",'').gsub("\n", "\n  ")}"
end

#updateObject



18
19
20
# File 'lib/cheatly/sheet.rb', line 18

def update
  adapter.update(title, body)
end