Class: Luchadeer::Resource

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/luchadeer/resource.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash = nil) ⇒ Resource



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/luchadeer/resource.rb', line 17

def initialize(hash = nil)
  @table = {}
  @hash_table = {}

  return unless hash

  hash.each do |k, v|
    @hash_table[k.to_sym] = v
    @table[k.to_sym] = deep_structify(k, v)
    new_ostruct_member(k)
  end
end

Class Method Details

.find(id, refresh = false) ⇒ Object



7
8
9
# File 'lib/luchadeer/resource.rb', line 7

def find(id, refresh = false)
  Luchadeer.client.send(self::DETAIL, id, refresh)
end

.search(query = nil, refresh = false) ⇒ Object



11
12
13
# File 'lib/luchadeer/resource.rb', line 11

def search(query = nil, refresh = false)
  Luchadeer.client.send(self::LIST, query, refresh)
end

Instance Method Details

#detailObject



34
35
36
# File 'lib/luchadeer/resource.rb', line 34

def detail
  api_detail_url ? Luchadeer.client.fetch(api_detail_url, false, self.class) : self
end

#to_hObject



30
31
32
# File 'lib/luchadeer/resource.rb', line 30

def to_h
  @hash_table
end