Class: MasterLeague::Repository

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/master_league/repository.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.pathObject

Returns the value of attribute path.



6
7
8
# File 'lib/master_league/repository.rb', line 6

def path
  @path
end

Instance Attribute Details

#limit_valueObject

Returns the value of attribute limit_value.



9
10
11
# File 'lib/master_league/repository.rb', line 9

def limit_value
  @limit_value
end

#order_valueObject

Returns the value of attribute order_value.



9
10
11
# File 'lib/master_league/repository.rb', line 9

def order_value
  @order_value
end

#page_valueObject

Returns the value of attribute page_value.



9
10
11
# File 'lib/master_league/repository.rb', line 9

def page_value
  @page_value
end

Instance Method Details

#allObject



24
25
26
# File 'lib/master_league/repository.rb', line 24

def all
  clone
end

#each(&block) ⇒ Object



11
12
13
# File 'lib/master_league/repository.rb', line 11

def each(&block)
  records.each(&block)
end

#find(id) ⇒ Object



19
20
21
22
# File 'lib/master_league/repository.rb', line 19

def find(id)
  response = MasterLeague.fetch("#{self.class.path}#{id}/")
  instantiate_record(response)
end

#inspectObject



56
57
58
59
60
61
# File 'lib/master_league/repository.rb', line 56

def inspect
  entries = records.first(11).map!(&:inspect)
  entries[10] = '...' if entries.size == 11

  "#<#{self.class.name} [#{entries.join(', ')}]>"
end

#lastObject



15
16
17
# File 'lib/master_league/repository.rb', line 15

def last
  records.last
end

#limit(limit) ⇒ Object



42
43
44
45
46
47
# File 'lib/master_league/repository.rb', line 42

def limit(limit)
  clone.tap do |repository|
    unload
    repository.limit_value = limit
  end
end

#order(order) ⇒ Object



28
29
30
31
32
33
# File 'lib/master_league/repository.rb', line 28

def order(order)
  clone.tap do |repository|
    unload
    repository.order_value = order
  end
end

#page(page) ⇒ Object



35
36
37
38
39
40
# File 'lib/master_league/repository.rb', line 35

def page(page)
  clone.tap do |repository|
    unload
    repository.page_value = page
  end
end

#where(filters) ⇒ Object



49
50
51
52
53
54
# File 'lib/master_league/repository.rb', line 49

def where(filters)
  clone.tap do |repository|
    unload
    repository.where_values.merge!(filters)
  end
end