Class: Fanfeedr::Client

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/fanfeedr/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



10
11
12
13
# File 'lib/fanfeedr/client.rb', line 10

def initialize(options={})
  @api_key = options[:api_key] || Fanfeedr.api_key
  @tier = options[:tier] || Fanfeedr.tier
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



7
8
9
# File 'lib/fanfeedr/client.rb', line 7

def api_key
  @api_key
end

#tierObject (readonly)

Returns the value of attribute tier.



8
9
10
# File 'lib/fanfeedr/client.rb', line 8

def tier
  @tier
end

Instance Method Details

#conferences(options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/fanfeedr/client.rb', line 25

def conferences(options={})
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if id
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/conferences/#{id}", :query => options.merge(self.default_options), :format => :json)
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/conferences", :query => options.merge(self.default_options), :format => :json)
  end
end

#content(options = {}, secondary = nil) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/fanfeedr/client.rb', line 106

def content(options={}, secondary=nil)
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  content_filter = options.delete(:filter) || nil
  
  if id && secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/content/#{id}", :query => options.merge(self.default_options), :format => :json)
  elsif id && !secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}}/content/#{id}/#{secondary}", :query => options.merge(self.default_options), :format => :json)  
  elsif id.nil? && secondary.nil? && !content_filter.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/content/#{filter}", :query => options.merge(self.default_options), :format => :json)        
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/content", :query => options.merge(self.default_options), :format => :json)
  end
end

#divisions(options = {}) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/fanfeedr/client.rb', line 37

def divisions(options={})
  id = options.delete(:id)      
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if id
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/divisions/#{id}", :query => options.merge(self.default_options), :format => :json)
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/divisions", :query => options.merge(self.default_options), :format => :json)
  end
end

#events(options = {}, secondary = nil) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/fanfeedr/client.rb', line 87

def events(options={}, secondary=nil)
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  season_type = options.delete(:season_type) || nil      
  
  if id && secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/events/#{id}", :query => options.merge(self.default_options), :format => :json)
  elsif id && !secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/events/#{id}/#{secondary}", :query => options.merge(self.default_options), :format => :json)  
  elsif id.nil? && !secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/events/#{secondary}", :query => options.merge(self.default_options), :format => :json)        
  elsif id.nil? && secondary.nil? && options[:season_type]
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/events/#{season_type}", :query => options.merge(self.default_options), :format => :json)        
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/events", :query => options.merge(self.default_options), :format => :json)
  end
end

#geo(options = {}, secondary = nil) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/fanfeedr/client.rb', line 75

def geo(options={}, secondary=nil)
  id = options.delete(:id)
  
  if id && secondary.nil?
    response = self.class.get("/#{@tier}/api/geo/#{id}", :query => options.merge(self.default_options), :format => :json)
  elsif id && !secondary.nil?
    response = self.class.get("/#{@tier}/api/geo/#{id}/#{secondary}", :query => options.merge(self.default_options), :format => :json)  
  else
    response = self.class.get("/#{@tier}/api/geo", :query => options.merge(self.default_options), :format => :json)
  end
end

#leagues(options = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/fanfeedr/client.rb', line 15

def leagues(options={})  
  id = options.delete(:id)
      
  if id
    response = self.class.get("/#{@tier}/api/leagues/#{id}", :query => options.merge(self.default_options), :format => :json)
  else
    response = self.class.get("/#{@tier}/api/leagues", :query => options.merge(self.default_options), :format => :json)
  end
end

#persons(options = {}) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/fanfeedr/client.rb', line 63

def persons(options={})
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if id
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/persons/#{id}", :query => options.merge(self.default_options), :format => :json)
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/persons", :query => options.merge(self.default_options), :format => :json)
  end
end

#sources(options = {}) ⇒ Object



123
124
125
126
127
128
129
130
131
132
133
# File 'lib/fanfeedr/client.rb', line 123

def sources(options={})
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if id
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/sources/#{id}", :query => options.merge(self.default_options), :format => :json)
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/sources", :query => options.merge(self.default_options), :format => :json)
  end
end

#teams(options = {}, secondary = nil) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/fanfeedr/client.rb', line 49

def teams(options={}, secondary=nil)
  id = options.delete(:id)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if id && secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/teams/#{id}", :query => options.merge(self.default_options), :format => :json)
  elsif id && !secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/teams/#{id}/#{secondary}", :query => options.merge(self.default_options), :format => :json)  
  else
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/teams", :query => options.merge(self.default_options), :format => :json)
  end
end


135
136
137
138
139
140
141
142
# File 'lib/fanfeedr/client.rb', line 135

def trending(options={}, secondary=nil)
  parent_resource = options.delete(:parent_resource)
  resource_id = options.delete(:resource_id)
  
  if !secondary.nil?
    response = self.class.get("/#{@tier}/api/#{parent_resource}/#{resource_id}/#{secondary}", :query => options.merge(self.default_options), :format => :json)
  end
end