rubykhan 0.0.1 → 0.0.2

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.
@@ -1,11 +1,40 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Rubykhan do
3
+ describe 'RubyKhan' do
4
+ describe '.new' do
5
+ before do
6
+ stub_request(:get, 'http://www.KhanAcademy.org/api/v1/topic/probability').
7
+ to_return(body: fixture('probability.json'))
8
+ end
4
9
 
5
- describe ".new" do
10
+ it "returns a KhanAcademy::Topic" do
11
+ expect(KhanAcademy::Topic.new('probability')).to be_a KhanAcademy::Topic
12
+ end
6
13
  end
7
14
 
8
- describe ".configure" do
15
+ describe 'TopicTree' do
16
+ before do
17
+ stub_request(:get, 'http://www.KhanAcademy.org/api/v1/topictree').
18
+ to_return(body: fixture('topictree.json'))
19
+ end
20
+
21
+ it "returns a hash of topics" do
22
+ all = KhanAcademy::TopicTree.new
23
+ expect(a_request(:get, 'http://www.KhanAcademy.org/api/v1/topictree')).to have_been_made
24
+ expect(all.topics['cs']).to eq "programming"
25
+ end
26
+ end
27
+
28
+ describe 'new topic' do
29
+ before do
30
+ stub_request(:get, 'http://www.KhanAcademy.org/api/v1/topic/probability').
31
+ to_return(body: fixture('probability.json'))
32
+ end
33
+
34
+ it 'fetches a hash about the topic' do
35
+ probability = KhanAcademy::Topic.new('probability')
36
+ expect(a_request(:get, 'http://www.KhanAcademy.org/api/v1/topic/probability')).to have_been_made
37
+ expect(probability.title).to eq "Probability and statistics"
38
+ end
9
39
  end
10
-
11
40
  end
data/spec/spec_helper.rb CHANGED
@@ -13,12 +13,20 @@ require 'webmock/rspec'
13
13
 
14
14
  WebMock.disable_net_connect!(:allow => 'coveralls.io')
15
15
 
16
+ RSpec.configure do |config|
17
+ config.order = 'random'
18
+ config.expect_with :rspec do |c|
19
+ c.syntax = :expect
20
+ end
21
+ end
22
+
16
23
  def a_get(path)
17
24
  a_request(:get, 'http://www.khanacademy.org/api/v1/' + path)
18
25
  end
19
26
 
20
27
  def stub_get(path)
21
28
  stub_request(:get, 'http://www.khanacademy.org/api/v1/' + path)
29
+ require 'json'
22
30
  end
23
31
 
24
32
  def fixture_path
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubykhan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Crews
8
+ - Abby Howell
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-25 00:00:00.000000000 Z
12
+ date: 2013-11-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rspec
@@ -52,23 +53,112 @@ dependencies:
52
53
  - - '>='
53
54
  - !ruby/object:Gem::Version
54
55
  version: '0'
55
- description: spec description
56
+ - !ruby/object:Gem::Dependency
57
+ name: faraday
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 0.8.7
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 0.8.7
70
+ - !ruby/object:Gem::Dependency
71
+ name: faraday_middleware
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.0
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ version: 0.9.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: hashie
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ version: '2.0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: json
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ version: '1.8'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: '1.8'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rash
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: '0.4'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '0.4'
126
+ description: A Ruby wrapper for the Khan Academy API
56
127
  email:
128
+ - abbyghowell@gmail.com
57
129
  - dancrews@me.com
58
130
  executables: []
59
131
  extensions: []
60
132
  extra_rdoc_files: []
61
133
  files:
134
+ - .document
62
135
  - .gitignore
136
+ - .rspec
137
+ - .travis.yml
63
138
  - Gemfile
139
+ - Gemfile.lock
64
140
  - LICENSE.txt
65
141
  - README.md
66
142
  - Rakefile
143
+ - config.ru
144
+ - khan_academy.gemspec
67
145
  - lib/rubykhan.rb
68
146
  - lib/rubykhan/client.rb
69
147
  - lib/rubykhan/connection.rb
70
148
  - lib/rubykhan/version.rb
149
+ - lib/topics.rb
71
150
  - rubykhan.gemspec
151
+ - rubykhan/.gitignore
152
+ - rubykhan/Gemfile
153
+ - rubykhan/LICENSE.txt
154
+ - rubykhan/README.md
155
+ - rubykhan/Rakefile
156
+ - rubykhan/lib/rubykhan.rb
157
+ - rubykhan/lib/rubykhan/version.rb
158
+ - rubykhan/rubykhan.gemspec
159
+ - spec/.document
160
+ - spec/fixtures/probability.json
161
+ - spec/fixtures/topictree.json
72
162
  - spec/rubykhan_spec.rb
73
163
  - spec/spec_helper.rb
74
164
  homepage: ''
@@ -94,7 +184,10 @@ rubyforge_project:
94
184
  rubygems_version: 2.0.6
95
185
  signing_key:
96
186
  specification_version: 4
97
- summary: spec summary
187
+ summary: Simplififies API requests
98
188
  test_files:
189
+ - spec/.document
190
+ - spec/fixtures/probability.json
191
+ - spec/fixtures/topictree.json
99
192
  - spec/rubykhan_spec.rb
100
193
  - spec/spec_helper.rb