CLI电影时代数据宝石

在本文中,我将向您介绍如何使用CLI数据gem。 我构建了这个gem来满足“学习验证的全栈Web开发人员”课程中第一次评估的要求。 到目前为止,我真的很喜欢这门课程。

我提供了一些视频,向您展示了如果您想自己使用它,如何在本地设置此项目。

第一个视频介绍了您要将这个项目与Gracenote OnConnect电影放映时间数据库中的实时数据一起使用时的操作过程。 第二个视频是如何使用命令行界面浏览电影放映时间的演练。 如果您想阅读,我还将在下面的帖子中介绍这些步骤。

第1部分将引导您使用自己的API密钥设置命令行界面,第2部分将向您展示如何使用可直接使用的测试数据来探索该界面。

第1部分:您自己的API密钥入门

如果要自己使用此功能,您要做的第一件事是转到connect网站上的gracenote并创建一个帐户以注册API密钥。 一个免费帐户将使您每天可以拨打50个呼叫gracerace数据库来检索电影时间。

您应该很快从gracenote用API密钥得到响应。 获得该信息后,您将需要派生并将github存储库和cd复制到项目文件夹的根目录中。 到达那里后,您将要输入以下命令:

 须藤nano .env 

然后输入

  API_KEY = paste_your_api_key_here 

输入Ctrl + O,然后返回返回以保存文件,然后按Ctrl + X关闭。

完成此操作后,您将能够运行以下命令来启动命令行界面:

 红宝石箱/ nowshowing 

接下来的几段将引导您完成一些提示,以便您在拥有API密钥后即可了解使用该接口的感觉,但是如果您只是想探索该接口并保存,稍后再进行设置,您可以跳至下一部分,稍后再返回。

输入“ ruby​​ bin / nowshowing”后,系统将提示您输入三条信息,这些信息将确定您从gracenote数据库中获得的电影数据。 响应以下每个提示,然后按回车:

  1. 邮政编码
 请输入您要搜索电影放映时间的邮政编码。 

2.搜索半径

 电影放映时间的默认搜索半径为5英里。 如果可以的话,请按Enter键;如果您要更改搜索半径,请输入1到100之间的数字。 

3.日期

 默认显示日期为今天。 如果可以的话,请按Enter键,或使用以下格式输入将来的日期:2016–06–05 

输入对这三个提示的响应后,该程序将获取电影数据,完成后,您将看到以下输出:

 我们现在正在获取电影数据。 
行! 欢迎使用DlmNowShowing电影放映命令行界面!
可以使用以下命令:
电影列出附近放映时间的电影
电影列出了特定电影在附近的放映时间
类型列出附近播放的电影的类型
流派列出特定流派的附近放映时间
剧院列出附近有放映时间的剧院
剧院列出了特定剧院的电影放映时间
home返回到所有命令均可用的home提示符
退出退出程序
 你想干什么?  (键入“帮助”以获取命令列表或“退出”以退出) 

太好了,所以现在我们处于困境之中。 在下一节中,我将向您展示如何使用开箱即用提供的测试数据浏览界面。

第2部分:使用测试数据探索界面

分叉并克隆github存储库后,您将需要cd进入项目目录并输入以下命令:

 红宝石箱/ nowshowingtest 

当您运行此命令时,程序将在2016年6月4日的Zipcode 90066的5英里内加载放映时间的电影数据。输入此命令后,您将看到与上一节末尾相同的提示:

 我们现在正在获取电影数据。 
行! 欢迎使用DlmNowShowing电影放映命令行界面!
可以使用以下命令:
电影列出附近放映时间的电影
电影列出了特定电影在附近的放映时间
类型列出附近播放的电影的类型
流派列出特定流派的附近放映时间
剧院列出附近有放映时间的剧院
剧院列出了特定剧院的电影放映时间
home返回到所有命令均可用的home提示符
退出退出程序
 你想干什么?  (键入“帮助”以获取命令列表或“退出”以退出) 

电影

如果我们选择第一个选项,电影,我们会看到附近正在播放的电影的列表:

  1.愤怒的小鸟电影 
2.忍者神龟:走出阴影
3. X战警:启示录
4.爱与友谊
5.龙虾
6.我在你之前
7.愤怒的小鸟电影3D
8.忍者神龟:暗影3D
9. X战警:启示录3D
10.美国队长:内战
11. Popstar:永不停止永不停止
12.邻居2:悲伤上升
13.好家伙
14.爱丽丝透过镜
15.爱丽丝透过窥镜3D
16.丛林书
17.金钱怪物
18.丛林书3D
19. A Aa
20.全屋3
21.玛姬的计划
22.韦纳
23.骑士
24.洛基恐怖图片展
25.堕落的偶像
26.接近未知
27.选择的时间
28.美国队长:内战3D
29.骗子
30.通向火星
31.伊娃·黑森
32.偶像
33.圣地狱
34.更大的飞溅
35.知道无限的人
36.哭泣
37.忍者神龟:走出阴影— IMAX 3D体验
38.疤面煞星
39.房间
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

现在,我们可以按编号选择电影,并在附近的剧院获得所有放映时间的列表。 假设我们想在您之前看到我。 输入6并按回车键,您将看到以下输出:

 在您玩之前,我在: 
AMC Marina市场6
1:00 4:00 7:00 10:00
AMC用餐剧院Marina 6
11:45 AM 3:00 6:00 9:00
Cinemark 18和XD
11:35 AM 2:20 5:05 7:50 10:35
弧光卡尔弗城
09:40 AM 12:05 PM 2:30 4:55 7:10 9:25 11:40
地标
11:30 AM 12:00 PM 2:05 2:35 4:35 5:10 7:20 7:50 9:55 10:20
ArcLight圣塔莫尼卡
10:15 AM 12:30 PM 2:40 5:20 7:45 9:30 11:25
AMC世纪城15
10:45 AM 1:50 3:00 4:30 7:30 9:15
iPic剧院韦斯特伍德
1:00 4:30 7:45 11:00
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

您会在上方提示的最后一行注意到,我们仍然可以访问该编号的电影列表。 因此,如果我们想查看邻居2的放映时间,我们可以输入12,我们将获得该电影的放映时间:

 邻居2:Sorority Rising正在玩: 
AMC用餐剧院Marina 6
1:15 4:00 7:30 10:05
Cinemark 18和XD
下午12:40 3:10 5:40 8:10 10:40
AMC圣莫尼卡7
10:50 AM 1:20 3:50 6:30 9:00
AMC世纪城15
11:30 AM 2:05 5:50 7:10 10:20
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

现在,如果我们想回到主提示符并查看其他浏览选项,则可以键入“ home”,然后键入“ help”以查看可用命令的列表:

 可以使用以下命令: 
电影列出附近放映时间的电影
电影列出了特定电影在附近的放映时间
类型列出附近播放的电影的类型
流派列出特定流派的附近放映时间
剧院列出附近有放映时间的剧院
剧院列出了特定剧院的电影放映时间
home返回到所有命令均可用的home提示符
退出退出程序
 你想干什么?  (键入“帮助”以获取命令列表或“退出”以退出) 

电影

因此,让我们尝试一下movie命令。 如果您已经想看一部电影,那么这是一个不错的选择。 键入“电影”命令并按“返回”后,您将看到以下提示:

 您想看哪部电影? 在此处输入标题: 

假设我们要看《好家伙》。 我们输入“ nice guys”,然后按“ return”,我们将得到以下响应:

 您想看哪部电影? 在此处输入标题:好人 
1.好家伙
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

这将为我们提供标题中所有带有“好家伙”的电影的列表。 在这种情况下,只有一个,因此我们可以输入“ 1”并按回车键,我们将看到以下响应:

  Nice Guys的比赛地点: 
Cinemark Playa Vista和XD
11:20 AM 2:10 5:05 8:00 10:50
Cinemark 18和XD
11:10 AM 2:05 5:00 7:55 10:50
弧光卡尔弗城
10:50 AM 1:15 3:40 6:05 8:30 9:55 11:50
地标
11:30 AM 2:10 4:50 7:30 10:05
AMC百老汇4
1:50 5:00 7:45 10:30
AMC圣莫尼卡7
10:30 AM 1:15 4:00 6:45 9:30
AMC世纪城15
10:15 AM 1:10 4:10 7:05 9:55
iPic剧院韦斯特伍德
11:45 AM 3:15 6:45 9:45
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

您会从最后一行再次注意到,我们仍然可以访问与我们的搜索相匹配的电影列表。 由于我们只找到一部符合我们搜索条件的电影,因此这并不是很有用,但是如果我们搜索“驴友”怎么办? 在这种情况下,我们将获得两个结果(一个用于常规版本,一个用于3D),并且我们可以使用该界面轻松比较放映时间。

体裁

好吧,假设我们不确定我们要看什么,但我们想按流派浏览选项。 输入“ home”返回主提示,然后单击“ genre”。 您将看到以下响应:

  1.喜剧片 
2.冒险
3.动画
4.儿童
5.行动
6.幻想
7.科幻小说
8.浪漫喜剧
9.浪漫
10.戏剧
11.音乐
12.神秘
13.惊悚片
14.纪录片
15.音乐喜剧
16.喜剧剧
17.传记
18.历史剧
19.犯罪剧
选择一种流派(按编号)以列出附近播放的电影:

好吧,我的状态很冒险,让我们输入2!

 以下是冒险类型的电影在附近播放: 
1.愤怒的小鸟电影
2.忍者神龟:走出阴影
3. X战警:启示录
4.愤怒的小鸟电影3D
5.忍者神龟:暗影3D
6. X战警:启示录3D
7.美国队长:内战
8.爱丽丝透过窥镜
9.爱丽丝透过窥镜3D
10.丛林书
11.丛林书3D
12.美国队长:内战3D
13.火星通道
14.忍者神龟:走出阴影— IMAX 3D体验
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

好的,我真的很想看美国队长:内战,所以让我们输入“ 7”来查看放映时间:

 美国队长:内战正在玩: 
AMC用餐剧院Marina 6
11:00 AM 2:25 6:20 9:40
Cinemark 18和XD
下午12:30 4:00 7:25 10:50
地标
10:00 AM 1:10 4:20 7:30 10:35
AMC百老汇4
11:20 AM 2:40 6:00 9:20
AMC圣莫尼卡7
下午12:20 7:00 10:20
AMC世纪城15
12:00 PM 3:25 6:50 10:15
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

类型

好的,假设我们要搜索特定类型的电影。 想要惊悚片吗? 输入“家” +输入+“类型” +输入+“惊悚” +输入。 您将在终端中看到以下输出:

 你想干什么?  (键入“帮助”以获取命令列表或“退出”以退出) 
类型
您想观看哪种类型的电影?
惊悚片
1.金钱怪兽
2.堕落的偶像
3.接近未知
4.更大的飞溅
5.哭泣
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

剧院

我之所以喜欢这一本书,是因为它实际上就像我们过去看报纸上的放映时间一样,除了没有所有翻页和寻找我们所在地区的页面。 如果您键入剧院,则会看到90066附近于2016年6月4日放映的所有剧院的列表:

 剧院 
1. AMC码头市场6
2. Cinemark 18和XD
3.圣塔莫尼卡ArcLight
4. AMC世纪城15
5. AMC用餐剧院Marina 6
6. Cinemark Playa Vista和XD
7.弧光卡尔弗城
8. AMC百老汇4
9. AMC圣莫尼卡7
10.地标
11.韦斯特伍德iPic剧院
12.摄政村-韦斯特伍德村
13. Laemmle Monica电影中心
14.摄政布鲁因-韦斯特伍德村
15.努阿特剧院
16.莱姆勒皇家剧院
17.摄政剧院
18.美国电影院在航空剧院
选择剧院(按编号)以列出其电影和放映时间:

好吧,所以我很想坐在那些舒适的椅子上,给我送些食物,所以让我们来选择5号餐厅。

 以下电影正在AMC Dine-in剧院Marina 6播放 
1.忍者神龟:走出阴影
10:45 AM 1:50 5:00 8:00 11:00
2. X战警:启示录
12:00 PM 3:30 7:00 10:40
3.我在你之前
11:45 AM 3:00 6:00 9:00
4.美国队长:内战
11:00 AM 2:25 6:20 9:40
5. Popstar:永不停止,永不停止
12:20 PM 2:45 5:30 8:30 11:15
6.邻居2:悲伤上升
1:15 4:00 7:30 10:05
如果您在这里看电影却喜欢却不能看电影:
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

因此,如果我们得到一些启发,并且看了我们真正想看的电影,但无法列出放映时间,则可以选择电影的编号,它会向我们显示同一电影在附近其他剧院的放映时间。 假设我真的很想去美国队长:内战,但我无法参加6:20的演出。 让我们输入“ 4”来查看它在哪里播放:

 美国队长:内战正在玩: 
AMC用餐剧院Marina 6
11:00 AM 2:25 6:20 9:40
Cinemark 18和XD
下午12:30 4:00 7:25 10:50
地标
10:00 AM 1:10 4:20 7:30 10:35
AMC百老汇4
11:20 AM 2:40 6:00 9:20
AMC圣莫尼卡7
下午12:20 7:00 10:20
AMC世纪城15
12:00 PM 3:25 6:50 10:15
选择一部电影(按编号)以列出附近的放映时间(键入“ home”以返回主提示):

啊,完美! 我喜欢那部Cinemark! 我将有足够的时间进行7:25的播放。

剧院

“剧院”命令的工作方式与“电影”和“流派”命令非常相似,可搜索与您输入的名称匹配的剧院。

下一步是什么?

希望您喜欢我的CLI项目。 在下一篇文章中,我将讨论gem的开发过程。