Class: TMSAPI::API

Inherits:
Object
  • Object
show all
Defined in:
lib/tmsapi/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ API

Creates a new TMS API client instance.

Parameters:

  • params (Hash)

Options Hash (params):

  • :api_key (String)

    The api_key (required)

Raises:

  • (ArgumentError)

See Also:

  • [Faraday]


12
13
14
15
16
17
18
19
20
21
# File 'lib/tmsapi/api.rb', line 12

def initialize(params)
  @api_key             = params[:api_key]
  @debug               = params[:debug]
  @ssl                 = params[:ssl] || { :verify => true }
  @base_url            = params[:base_url]            || "http://data.tmsapi.com/"
  @faraday_adapter     = params[:faraday_adapter]     || Faraday.default_adapter
  @raise_status_errors = params[:raise_status_errors] || true
  @faraday             = params[:faraday]             || default_faraday
  raise ArgumentError, ':api_key missing' unless @api_key
end

Instance Method Details

#default_faradayObject



47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/tmsapi/api.rb', line 47

def default_faraday
  Faraday.new(:url => @base_url, :ssl => @ssl) do |faraday|
    faraday.use CustomLogger if @debug
    faraday.request  :url_encoded
    faraday.response :rashify
    faraday.response :json
    faraday.use Faraday::Response::RaiseError if @raise_status_errors
    faraday.adapter @faraday_adapter
    faraday.params['api_key'] = @api_key
    faraday.headers['User-Agent'] = "tmsapi rubygem v#{TMSAPI::VERSION}"
  end
end

#lineupsObject



31
32
33
# File 'lib/tmsapi/api.rb', line 31

def lineups
  TMSAPI::Resource::Lineups.new(@faraday)
end

#moviesObject



39
40
41
# File 'lib/tmsapi/api.rb', line 39

def movies
  TMSAPI::Resource::Movies.new(@faraday)
end

#programsObject



23
24
25
# File 'lib/tmsapi/api.rb', line 23

def programs
  TMSAPI::Resource::Programs.new(@faraday)
end

#seriesObject



35
36
37
# File 'lib/tmsapi/api.rb', line 35

def series
  TMSAPI::Resource::Series.new(@faraday)
end

#sportsObject



43
44
45
# File 'lib/tmsapi/api.rb', line 43

def sports
  TMSAPI::Resource::Sports.new(@faraday)
end

#stationsObject



27
28
29
# File 'lib/tmsapi/api.rb', line 27

def stations
  TMSAPI::Resource::Stations.new(@faraday)
end