syoboi_calendar 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53da71b944bae16571ebf66bc151f3d554a1688b
4
- data.tar.gz: ad48c2b0925bdc8715fbb32ad1249d100f9fdae4
3
+ metadata.gz: c784bb59897bd758d21932242d40099f76a6620d
4
+ data.tar.gz: 9670e8cb32bce32fba0a8be526fe8c570bcf97b0
5
5
  SHA512:
6
- metadata.gz: d61e719e947709f931796b838ea28969307d853ba16a28b4bd554576f9de08d44c34f812e3b8fd5d07bb565816017b1ae9b3d4adb3e6bfa45b5cafb85430201b
7
- data.tar.gz: 2a04c00611955ef239903eb072574a58dc27eef4b6909c96394ff5228e2c2ce27f661caf298a7e95bf1a1dbd4b6ea03281b08d918145ce656ecb1f68b124588b
6
+ metadata.gz: 37c20a5b6d89934ae1ad18741d07e30052736f34beb257a595375ff9d39a952462c74c59ba2d217787c163877e8ead5294e9a489a44f7b714243113676ffb20e
7
+ data.tar.gz: f2cdf3fe11d729a1d657b1e6c08e3cf9714b92e5d32790c02ae97a5656bcd3fa89377aac2aef290d440fbe5c74e9e77328944f981915518e94dcdfdc38988f0b
data/.travis.yml CHANGED
@@ -1,8 +1,11 @@
1
1
  branches:
2
2
  only:
3
- - master
3
+ - master
4
4
  language: ruby
5
5
  rvm:
6
- - 1.9.3
7
- - 2.0.0
8
- - 2.1.0
6
+ - 1.9.3
7
+ - 2.0.0
8
+ - 2.1.0
9
+ env:
10
+ global:
11
+ secure: jireAT1B+27QH2v5EUjdIu9/ELwA+fj67PtCFiw7nSvzzQV4sC94/otyrPlNqsLKijWk+fQw5XcW9HvSTXvCgGguQn5AGW+MjPu9AbuZAbWf6ayZFHIgaPxmBzFYZaC2yK9XL0kVMG/UdhDM9Vy9auf1kDPphMhwAGZ2yjuSBj0=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.3.0
2
+ * SyoboiCalendar::Client returns an Array of resources
3
+
1
4
  ## 0.2.1
2
5
  * SyoboiCalendar::Client returns a Hashie::Mash as a response
3
6
 
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # SyoboiCalendar
1
+ # SyoboiCalendar [![Build Status](https://travis-ci.org/r7kamura/syoboi_calendar.png)](https://travis-ci.org/r7kamura/syoboi_calendar) [![Code Climate](https://codeclimate.com/github/r7kamura/syoboi_calendar.png)](https://codeclimate.com/github/r7kamura/syoboi_calendar) [![Code Climate](https://codeclimate.com/github/r7kamura/syoboi_calendar/coverage.png)](https://codeclimate.com/github/r7kamura/syoboi_calendar)
2
+
2
3
  Search Japanese anime from [SyoboiCalendar](http://cal.syoboi.jp/).
3
4
 
4
5
  ## Installation
@@ -11,7 +12,7 @@ gem "syoboi_calendar"
11
12
  ```ruby
12
13
  require "syoboi_calendar"
13
14
 
14
- client = SyoboiCalendar::Client
15
+ client = SyoboiCalendar::Client.new
15
16
  client.channels #=> a Hashie::Mash instance
16
17
  client.programs #=> a Hashie::Mash instance
17
18
  client.titles #=> a Hashie::Mash instance
@@ -1,48 +1,43 @@
1
1
  module SyoboiCalendar
2
2
  class Client
3
- attr_reader :options
4
-
5
- def initialize(options = {})
6
- @options = options
7
- end
8
-
9
3
  def channels(options = {})
10
- get(Queries::Channel, options)
4
+ process(
5
+ QueryBuilders::Channel,
6
+ Parsers::Channel,
7
+ options,
8
+ )
11
9
  end
12
10
 
13
11
  def programs(options = {})
14
- get(Queries::Program, options)
12
+ process(
13
+ QueryBuilders::Program,
14
+ Parsers::Program,
15
+ options,
16
+ )
15
17
  end
16
18
 
17
19
  def titles(options = {})
18
- get(Queries::Title, options)
20
+ process(
21
+ QueryBuilders::Title,
22
+ Parsers::Title,
23
+ options,
24
+ )
19
25
  end
20
26
 
21
27
  private
22
28
 
23
- def get(query_class, options = {})
24
- connection.get(path, query_class.new(options).to_hash).body
25
- end
26
-
27
- def connection
28
- @connection ||= Faraday.new(url: url) do |connection|
29
- connection.adapter :net_http
30
- connection.response :mashify
31
- connection.response :xml
32
- connection.response :raise_error
33
- end
34
- end
35
-
36
- def url
37
- "http://#{host}/"
29
+ def connector
30
+ @connector ||= Connector.new
38
31
  end
39
32
 
40
- def host
41
- "cal.syoboi.jp"
33
+ def get(query)
34
+ connector.get(query).body
42
35
  end
43
36
 
44
- def path
45
- "/db.php"
37
+ def process(builder, parser, options)
38
+ query = builder.build(options)
39
+ response = get(query)
40
+ parser.parse(response)
46
41
  end
47
42
  end
48
43
  end
@@ -0,0 +1,27 @@
1
+ module SyoboiCalendar
2
+ class Connector
3
+ URL = "http://cal.syoboi.jp/"
4
+ PATH = "/db.php"
5
+
6
+ def get(query)
7
+ connection.get(path, query)
8
+ end
9
+
10
+ def connection
11
+ @connection ||= Faraday.new(url: url) do |connection|
12
+ connection.adapter :net_http
13
+ connection.response :mashify
14
+ connection.response :xml
15
+ connection.response :raise_error
16
+ end
17
+ end
18
+
19
+ def path
20
+ PATH
21
+ end
22
+
23
+ def url
24
+ URL
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,25 @@
1
+ module SyoboiCalendar
2
+ module Parsers
3
+ class Base
4
+ class << self
5
+ def parse(response)
6
+ new(response).parse
7
+ end
8
+ end
9
+
10
+ attr_reader :response
11
+
12
+ def initialize(response)
13
+ @response = response
14
+ end
15
+
16
+ def parse
17
+ items.map do |item|
18
+ resource_class.new(item)
19
+ end
20
+ rescue NoMethodError
21
+ []
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ module SyoboiCalendar
2
+ module Parsers
3
+ class Channel < Base
4
+ private
5
+
6
+ def resource_class
7
+ Resources::Channel
8
+ end
9
+
10
+ def items
11
+ Array.wrap(response.ChLookupResponse.ChItems.ChItem)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module SyoboiCalendar
2
+ module Parsers
3
+ class Program < Base
4
+ private
5
+
6
+ def resource_class
7
+ Resources::Program
8
+ end
9
+
10
+ def items
11
+ Array.wrap(response.ProgLookupResponse.ProgItems.ProgItem)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module SyoboiCalendar
2
+ module Parsers
3
+ class Title < Base
4
+ private
5
+
6
+ def resource_class
7
+ Resources::Title
8
+ end
9
+
10
+ def items
11
+ Array.wrap(response.TitleLookupResponse.TitleItems.TitleItem)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,7 +1,11 @@
1
1
  module SyoboiCalendar
2
- module Queries
2
+ module QueryBuilders
3
3
  class Base
4
4
  class << self
5
+ def build(options)
6
+ new(options).to_hash
7
+ end
8
+
5
9
  def property(*properties)
6
10
  self.properties += properties
7
11
  end
@@ -1,5 +1,5 @@
1
1
  module SyoboiCalendar
2
- module Queries
2
+ module QueryBuilders
3
3
  class Channel < Base
4
4
  include ChannelIdQueriable
5
5
 
@@ -1,5 +1,5 @@
1
1
  module SyoboiCalendar
2
- module Queries
2
+ module QueryBuilders
3
3
  module ChannelIdQueriable
4
4
  extend ActiveSupport::Concern
5
5
 
@@ -1,5 +1,5 @@
1
1
  module SyoboiCalendar
2
- module Queries
2
+ module QueryBuilders
3
3
  class Program < Base
4
4
  include ChannelIdQueriable
5
5
 
@@ -1,5 +1,5 @@
1
1
  module SyoboiCalendar
2
- module Queries
2
+ module QueryBuilders
3
3
  class Title < Base
4
4
  option :title_id
5
5
 
@@ -0,0 +1,15 @@
1
+ module SyoboiCalendar
2
+ module Resources
3
+ class Base
4
+ attr_reader :response
5
+
6
+ def initialize(response)
7
+ @response = response
8
+ end
9
+
10
+ def updated_at
11
+ Time.parse(response.LastUpdate)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,37 @@
1
+ module SyoboiCalendar
2
+ module Resources
3
+ class Channel < Base
4
+ def comment
5
+ response.ChComment
6
+ end
7
+
8
+ def epg_url
9
+ response.ChEPGURL
10
+ end
11
+
12
+ def group_id
13
+ response.ChGID.try(:to_i)
14
+ end
15
+
16
+ def id
17
+ response.ChID.try(:to_i)
18
+ end
19
+
20
+ def name
21
+ response.ChName
22
+ end
23
+
24
+ def number
25
+ response.ChNumber.try(:to_i)
26
+ end
27
+
28
+ def url
29
+ response.ChURL
30
+ end
31
+
32
+ def iepg_name
33
+ response.ChiEPGName
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,53 @@
1
+ module SyoboiCalendar
2
+ module Resources
3
+ class Program < Base
4
+ def id
5
+ response.PID.try(:to_i)
6
+ end
7
+
8
+ def title_id
9
+ response.TID.try(:to_i)
10
+ end
11
+
12
+ def started_at
13
+ Time.parse(response.StTime)
14
+ end
15
+
16
+ def finished_at
17
+ Time.parse(response.EdTime)
18
+ end
19
+
20
+ def count
21
+ response.Count.try(:to_i)
22
+ end
23
+
24
+ def sub_title
25
+ response.STSubTitle
26
+ end
27
+
28
+ def comment
29
+ response.ProgComment
30
+ end
31
+
32
+ def flag
33
+ response.Flag.try(:to_i)
34
+ end
35
+
36
+ def deleted?
37
+ response.Deleted != "0"
38
+ end
39
+
40
+ def warn
41
+ response.Warn.try(:to_i)
42
+ end
43
+
44
+ def channel_id
45
+ response.ChID.try(:to_i)
46
+ end
47
+
48
+ def revision
49
+ response.Revision.try(:to_i)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,73 @@
1
+ module SyoboiCalendar
2
+ module Resources
3
+ class Title < Base
4
+ def category_id
5
+ response.Cat.try(:to_i)
6
+ end
7
+
8
+ def comment
9
+ response.Comment
10
+ end
11
+
12
+ def first_channel
13
+ response.FirstCh
14
+ end
15
+
16
+ def first_end_month
17
+ response.FirstEndMonth.try(:to_i)
18
+ end
19
+
20
+ def first_end_year
21
+ response.FirstEndYear.try(:to_i)
22
+ end
23
+
24
+ def first_month
25
+ response.FirstMonth.try(:to_i)
26
+ end
27
+
28
+ def first_year
29
+ response.FirstYear.try(:to_i)
30
+ end
31
+
32
+ def keywords
33
+ response.Keywords
34
+ end
35
+
36
+ def short_title
37
+ response.ShortTitle
38
+ end
39
+
40
+ def sub_titles
41
+ response.SubTitles
42
+ end
43
+
44
+ def id
45
+ response.TID.try(:to_i)
46
+ end
47
+
48
+ def name
49
+ response.Title
50
+ end
51
+
52
+ def english_name
53
+ response.TitleEN
54
+ end
55
+
56
+ def flag
57
+ response.TitleFlag.try(:to_i)
58
+ end
59
+
60
+ def kana
61
+ response.TitleYomi
62
+ end
63
+
64
+ def point
65
+ response.UserPoint.try(:to_i)
66
+ end
67
+
68
+ def rank
69
+ response.UserPointRank.try(:to_i)
70
+ end
71
+ end
72
+ end
73
+ end
@@ -1,3 +1,3 @@
1
1
  module SyoboiCalendar
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require "active_support/concern"
2
+ require "active_support/core_ext/array/wrap"
2
3
  require "active_support/core_ext/class/attribute"
3
4
  require "active_support/core_ext/object/try"
4
5
  require "active_support/core_ext/string/inflections"
@@ -6,8 +7,17 @@ require "faraday"
6
7
  require "faraday_middleware"
7
8
 
8
9
  require "syoboi_calendar/client"
9
- require "syoboi_calendar/queries/base"
10
- require "syoboi_calendar/queries/channel_id_queriable"
11
- require "syoboi_calendar/queries/channel"
12
- require "syoboi_calendar/queries/program"
13
- require "syoboi_calendar/queries/title"
10
+ require "syoboi_calendar/connector"
11
+ require "syoboi_calendar/parsers/base"
12
+ require "syoboi_calendar/parsers/channel"
13
+ require "syoboi_calendar/parsers/program"
14
+ require "syoboi_calendar/parsers/title"
15
+ require "syoboi_calendar/query_builders/base"
16
+ require "syoboi_calendar/query_builders/channel_id_queriable"
17
+ require "syoboi_calendar/query_builders/channel"
18
+ require "syoboi_calendar/query_builders/program"
19
+ require "syoboi_calendar/query_builders/title"
20
+ require "syoboi_calendar/resources/base"
21
+ require "syoboi_calendar/resources/channel"
22
+ require "syoboi_calendar/resources/program"
23
+ require "syoboi_calendar/resources/title"
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,18 @@
1
1
  require "simplecov"
2
2
  SimpleCov.start
3
3
 
4
- require "syoboi_calendar"
5
4
  require "webmock/rspec"
6
5
 
6
+ if ENV["CI"]
7
+ WebMock.disable_net_connect!(allow: "codeclimate.com")
8
+ require "codeclimate-test-reporter"
9
+ CodeClimate::TestReporter.start
10
+ end
11
+
12
+ require "syoboi_calendar"
13
+ require "rack"
14
+ require "active_support/all"
15
+
7
16
  RSpec.configure do |config|
8
17
  config.treat_symbols_as_metadata_keys_with_true_values = true
9
18
  config.run_all_when_everything_filtered = true
@@ -22,6 +22,122 @@ describe SyoboiCalendar::Client do
22
22
  {}
23
23
  end
24
24
 
25
+ let(:query) do
26
+ {}
27
+ end
28
+
29
+ let(:dummy_channels_response) do
30
+ <<-EOS.strip_heredoc
31
+ <?xml version="1.0" encoding="UTF-8"?>
32
+ <ChLookupResponse>
33
+ <Result>
34
+ <Code>200</Code>
35
+ <Message>
36
+ </Message>
37
+ </Result>
38
+ <ChItems>
39
+ <ChItem id="3">
40
+ <ChComment>DummyComment</ChComment>
41
+ <ChEPGURL>http://example.com/epg-url</ChEPGURL>
42
+ <ChGID>1</ChGID>
43
+ <ChID>3</ChID>
44
+ <ChName>DummyChannelName</ChName>
45
+ <ChNumber>3</ChNumber>
46
+ <ChURL>http://example.com/</ChURL>
47
+ <ChiEPGName>DummyiEPGName</ChiEPGName>
48
+ <LastUpdate>2000-01-01 00:00:00</LastUpdate>
49
+ </ChItem>
50
+ </ChItems>
51
+ </ChLookupResponse>
52
+ EOS
53
+ end
54
+
55
+ let(:dummy_programs_response) do
56
+ <<-EOS.strip_heredoc
57
+ <?xml version="1.0" encoding="UTF-8"?>
58
+ <ProgLookupResponse>
59
+ <ProgItems>
60
+ <ProgItem id="1">
61
+ <ChID>3</ChID>
62
+ <Count>1</Count>
63
+ <Deleted>0</Deleted>
64
+ <EdTime>2000-01-01 00:00:00</EdTime>
65
+ <Flag>9</Flag>
66
+ <LastUpdate>2000-01-01 00:00:00</LastUpdate>
67
+ <PID>1</PID>
68
+ <ProgComment>DummyComment</ProgComment>
69
+ <Revision>2</Revision>
70
+ <STSubTitle>DummySubTitle</STSubTitle>
71
+ <StOffset>0</StOffset>
72
+ <StTime>2000-01-01 00:00:00</StTime>
73
+ <SubTitle></SubTitle>
74
+ <TID>2</TID>
75
+ <Warn>1</Warn>
76
+ </ProgItem>
77
+ </ProgItems>
78
+ <Result>
79
+ <Code>200</Code>
80
+ <Message>
81
+ </Message>
82
+ </Result>
83
+ </ProgLookupResponse>
84
+ EOS
85
+ end
86
+
87
+ let(:dummy_titles_response) do
88
+ <<-EOS.strip_heredoc
89
+ <?xml version="1.0" encoding="UTF-8"?>
90
+ <TitleLookupResponse>
91
+ <Result>
92
+ <Code>200</Code>
93
+ <Message>
94
+ </Message>
95
+ </Result>
96
+ <TitleItems>
97
+ <TitleItem id="2">
98
+ <Cat>4</Cat>
99
+ <Comment>DummyComment</Comment>
100
+ <FirstCh>DummyChannel</FirstCh>
101
+ <FirstEndMonth>1</FirstEndMonth>
102
+ <FirstEndYear>2000</FirstEndYear>
103
+ <FirstMonth>1</FirstMonth>
104
+ <FirstYear>2000</FirstYear>
105
+ <Keywords>DummyKeywords</Keywords>
106
+ <LastUpdate>2000-01-01 00:00:00</LastUpdate>
107
+ <ShortTitle>DummyShortTitle</ShortTitle>
108
+ <SubTitles>DummySubTitles</SubTitles>
109
+ <TID>2</TID>
110
+ <Title>DummyTitle</Title>
111
+ <TitleEN>DummyEnglishTitle</TitleEN>
112
+ <TitleFlag>0</TitleFlag>
113
+ <TitleYomi>ダミータイトル</TitleYomi>
114
+ <UserPoint>6</UserPoint>
115
+ <UserPointRank>1</UserPointRank>
116
+ </TitleItem>
117
+ </TitleItems>
118
+ </TitleLookupResponse>
119
+ EOS
120
+ end
121
+
122
+ let(:app) do
123
+ ->(env) do
124
+ [
125
+ 200,
126
+ { "Content-type" => "application/xml" },
127
+ [
128
+ case env["QUERY_STRING"]
129
+ when /ProgLookup/
130
+ dummy_programs_response
131
+ when /ChLookup/
132
+ dummy_channels_response
133
+ else
134
+ dummy_titles_response
135
+ end,
136
+ ],
137
+ ]
138
+ end
139
+ end
140
+
25
141
  subject do
26
142
  call
27
143
  request
@@ -68,6 +184,25 @@ describe SyoboiCalendar::Client do
68
184
  end
69
185
  end
70
186
  end
187
+
188
+ context "with real response" do
189
+ let!(:request) do
190
+ stub_request(:get, //).to_rack(app)
191
+ end
192
+
193
+ it "returns an Array of SyoboiCalendar::Resources::Channel" do
194
+ channels = client.channels
195
+ channels[0].should be_a SyoboiCalendar::Resources::Channel
196
+ channels[0].comment.should == "DummyComment"
197
+ channels[0].epg_url.should == "http://example.com/epg-url"
198
+ channels[0].group_id.should == 1
199
+ channels[0].id.should == 3
200
+ channels[0].iepg_name.should == "DummyiEPGName"
201
+ channels[0].name.should == "DummyChannelName"
202
+ channels[0].number.should == 3
203
+ channels[0].url.should == "http://example.com/"
204
+ end
205
+ end
71
206
  end
72
207
 
73
208
  describe "#titles" do
@@ -111,6 +246,34 @@ describe SyoboiCalendar::Client do
111
246
  end
112
247
  end
113
248
  end
249
+
250
+ context "with real response" do
251
+ let!(:request) do
252
+ stub_request(:get, //).to_rack(app)
253
+ end
254
+
255
+ it "returns an Array of SyoboiCalendar::Resources::Title" do
256
+ titles = client.titles
257
+ titles[0].should be_a SyoboiCalendar::Resources::Title
258
+ titles[0].category_id.should == 4
259
+ titles[0].comment.should == "DummyComment"
260
+ titles[0].first_channel.should == "DummyChannel"
261
+ titles[0].first_end_month.should == 1
262
+ titles[0].first_end_year.should == 2000
263
+ titles[0].first_month.should == 1
264
+ titles[0].first_year.should == 2000
265
+ titles[0].keywords.should == "DummyKeywords"
266
+ titles[0].short_title.should == "DummyShortTitle"
267
+ titles[0].sub_titles.should == "DummySubTitles"
268
+ titles[0].id.should == 2
269
+ titles[0].name.should == "DummyTitle"
270
+ titles[0].english_name.should == "DummyEnglishTitle"
271
+ titles[0].flag.should == 0
272
+ titles[0].kana.should == "ダミータイトル"
273
+ titles[0].point.should == 6
274
+ titles[0].rank.should == 1
275
+ end
276
+ end
114
277
  end
115
278
 
116
279
  describe "#programs" do
@@ -186,5 +349,29 @@ describe SyoboiCalendar::Client do
186
349
  end
187
350
  end
188
351
  end
352
+
353
+ context "with real response" do
354
+ let!(:request) do
355
+ stub_request(:get, //).to_rack(app)
356
+ end
357
+
358
+ it "returns an Array of SyoboiCalendar::Resources::Program" do
359
+ programs = client.programs
360
+ programs[0].should be_a SyoboiCalendar::Resources::Program
361
+ programs[0].channel_id.should == 3
362
+ programs[0].comment.should == "DummyComment"
363
+ programs[0].count.should == 1
364
+ programs[0].deleted?.should == false
365
+ programs[0].finished_at.should == Time.parse("2000-01-01 00:00:00")
366
+ programs[0].flag.should == 9
367
+ programs[0].id.should == 1
368
+ programs[0].revision.should == 2
369
+ programs[0].started_at.should == Time.parse("2000-01-01 00:00:00")
370
+ programs[0].sub_title.should == "DummySubTitle"
371
+ programs[0].title_id.should == 2
372
+ programs[0].updated_at.should == Time.parse("2000-01-01 00:00:00")
373
+ programs[0].warn.should == 1
374
+ end
375
+ end
189
376
  end
190
377
  end
@@ -21,7 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "faraday_middleware"
22
22
  spec.add_dependency "hashie"
23
23
  spec.add_dependency "multi_xml"
24
+ spec.add_development_dependency "codeclimate-test-reporter", ">= 0.3.0"
24
25
  spec.add_development_dependency "pry"
26
+ spec.add_development_dependency "rack"
25
27
  spec.add_development_dependency "rake"
26
28
  spec.add_development_dependency "rspec", "2.14.1"
27
29
  spec.add_development_dependency "simplecov"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syoboi_calendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-27 00:00:00.000000000 Z
11
+ date: 2014-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: codeclimate-test-reporter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.3.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.3.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: pry
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rack
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rake
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -166,11 +194,20 @@ files:
166
194
  - Rakefile
167
195
  - lib/syoboi_calendar.rb
168
196
  - lib/syoboi_calendar/client.rb
169
- - lib/syoboi_calendar/queries/base.rb
170
- - lib/syoboi_calendar/queries/channel.rb
171
- - lib/syoboi_calendar/queries/channel_id_queriable.rb
172
- - lib/syoboi_calendar/queries/program.rb
173
- - lib/syoboi_calendar/queries/title.rb
197
+ - lib/syoboi_calendar/connector.rb
198
+ - lib/syoboi_calendar/parsers/base.rb
199
+ - lib/syoboi_calendar/parsers/channel.rb
200
+ - lib/syoboi_calendar/parsers/program.rb
201
+ - lib/syoboi_calendar/parsers/title.rb
202
+ - lib/syoboi_calendar/query_builders/base.rb
203
+ - lib/syoboi_calendar/query_builders/channel.rb
204
+ - lib/syoboi_calendar/query_builders/channel_id_queriable.rb
205
+ - lib/syoboi_calendar/query_builders/program.rb
206
+ - lib/syoboi_calendar/query_builders/title.rb
207
+ - lib/syoboi_calendar/resources/base.rb
208
+ - lib/syoboi_calendar/resources/channel.rb
209
+ - lib/syoboi_calendar/resources/program.rb
210
+ - lib/syoboi_calendar/resources/title.rb
174
211
  - lib/syoboi_calendar/version.rb
175
212
  - spec/spec_helper.rb
176
213
  - spec/syoboi_calendar/client_spec.rb