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
# 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 :raise_error
  end
end

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

Returns:

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


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

def list_channel_groups(options = {})
  query = ::SyoboiCalendar::Queries::ChannelGroupQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Response.new(
    faraday_response: faraday_response,
    response_parser_class: ::SyoboiCalendar::ResponseParsers::ChannelGroupsResponseParser,
  )
end

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

Returns:

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


25
26
27
28
29
30
31
32
# File 'lib/syoboi_calendar/client.rb', line 25

def list_channels(options = {})
  query = ::SyoboiCalendar::Queries::ChannelQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Response.new(
    faraday_response: faraday_response,
    response_parser_class: ::SyoboiCalendar::ResponseParsers::ChannelsResponseParser,
  )
end

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

Returns:

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


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

def list_programs(options = {})
  query = ::SyoboiCalendar::Queries::ProgramQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Response.new(
    faraday_response: faraday_response,
    response_parser_class: ::SyoboiCalendar::ResponseParsers::ProgramsResponseParser,
  )
end

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

Returns:

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


45
46
47
48
49
50
51
52
# File 'lib/syoboi_calendar/client.rb', line 45

def list_titles(options = {})
  query = ::SyoboiCalendar::Queries::TitleQuery.new(options)
  faraday_response = get(query.to_hash)
  ::SyoboiCalendar::Response.new(
    faraday_response: faraday_response,
    response_parser_class: ::SyoboiCalendar::ResponseParsers::TitlesResponseParser,
  )
end