Class: SyoboiCalendar::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/syoboi_calendar/client.rb

Constant Summary collapse

ENDPOINT_BASE_URL =
"http://cal.syoboi.jp"
ENDPOINT_PATH =
"/db.php"

Instance Method Summary collapse

Instance Method Details

#connectionFaraday::Connection

Returns:

  • (Faraday::Connection)


7
8
9
10
11
12
13
14
# File 'lib/syoboi_calendar/client.rb', line 7

def connection
  @connection ||= ::Faraday::Connection.new(url: ENDPOINT_BASE_URL) do |connection|
    connection.adapter :net_http
    connection.response :mashify
    connection.response :xml
    connection.response :raise_error
  end
end

#list_channel_groups(options = {}) ⇒ Array<SyoboiCalendar::Resources::ChannelGroup>

Returns:

  • (Array<SyoboiCalendar::Resources::ChannelGroup>)


17
18
19
20
21
# File 'lib/syoboi_calendar/client.rb', line 17

def list_channel_groups(options = {})
  query = ::SyoboiCalendar::Queries::ChannelGroupQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Responses::ChannelGroupsResponse.new(faraday_response)
end

#list_channels(options = {}) ⇒ Array<SyoboiCalendar::Resources::Channel>

Returns:

  • (Array<SyoboiCalendar::Resources::Channel>)


24
25
26
27
28
# File 'lib/syoboi_calendar/client.rb', line 24

def list_channels(options = {})
  query = ::SyoboiCalendar::Queries::ChannelQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Responses::ChannelsResponse.new(faraday_response)
end

#list_programs(options = {}) ⇒ Array<SyoboiCalendar::Resources::Program>

Returns:

  • (Array<SyoboiCalendar::Resources::Program>)


31
32
33
34
35
# File 'lib/syoboi_calendar/client.rb', line 31

def list_programs(options = {})
  query = ::SyoboiCalendar::Queries::ProgramQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Responses::ProgramsResponse.new(faraday_response)
end

#list_titles(options = {}) ⇒ Array<SyoboiCalendar::Resources::Title>

Returns:

  • (Array<SyoboiCalendar::Resources::Title>)


38
39
40
41
42
# File 'lib/syoboi_calendar/client.rb', line 38

def list_titles(options = {})
  query = ::SyoboiCalendar::Queries::TitleQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Responses::TitlesResponse.new(faraday_response)
end