hypem 0.0.1

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.
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hypem::Response do
4
+
5
+ context "at initialization" do
6
+ let(:response) do
7
+ VCR.use_cassette('fresh_playlist') do
8
+ Hypem::Request.new('/playlist/latest/fresh/json/1').get.response
9
+ end
10
+ end
11
+
12
+ it "uses a raw response parameter" do
13
+ response.body.should_not be_nil
14
+ end
15
+
16
+ it "assigns the body attribute" do
17
+ response.body.should be_a Hash
18
+ end
19
+ end
20
+
21
+
22
+ end
@@ -0,0 +1,13 @@
1
+ require 'hypem'
2
+ require 'vcr'
3
+
4
+ VCR.configure do |c|
5
+ c.cassette_library_dir = 'fixtures/vcr_cassettes'
6
+ c.hook_into :faraday
7
+ end
8
+
9
+ RSpec.configure do |config|
10
+ config.treat_symbols_as_metadata_keys_with_true_values = true
11
+ config.run_all_when_everything_filtered = true
12
+ config.filter_run :focus
13
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hypem::Track do
4
+ let(:track_hash) do
5
+ VCR.use_cassette('latest_playlist') do
6
+ Hypem::Playlist.latest.tracks.first
7
+ end
8
+ end
9
+
10
+ let(:track) { Hypem::Track.new(track_hash) }
11
+
12
+ it "is reformats variable names" do
13
+ track.media_id.should_not be_nil
14
+ end
15
+
16
+ end
data/spec/user_spec.rb ADDED
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hypem::User do
4
+ let(:user) { Hypem::User.new('jackca') }
5
+
6
+ it "initializes with a name parameter" do
7
+ user.instance_variable_get(:@name).should_not be_nil
8
+ end
9
+
10
+ it "throws an error with an invalid username argument" do
11
+ expect { Hypem::User.new(:not_a_string) }.to raise_error(ArgumentError)
12
+ end
13
+
14
+ it "gets a loved playlist" do
15
+ VCR.use_cassette('loved_playlist') do
16
+ user.loved_playlist.should be_a Hypem::Playlist
17
+ end
18
+ end
19
+
20
+ it "gets an obsessed playlist" do
21
+ VCR.use_cassette('obsessed_playlist') do
22
+ user.obsessed_playlist.should be_a Hypem::Playlist
23
+ end
24
+ end
25
+
26
+ it "gets a feed playlist" do
27
+ VCR.use_cassette('feed_playlist') do
28
+ user.feed_playlist.should be_a Hypem::Playlist
29
+ end
30
+ end
31
+
32
+ it "gets friends' playlist" do
33
+ VCR.use_cassette('friends_playlist') do
34
+ user.friends_favorites_playlist.should be_a Hypem::Playlist
35
+ end
36
+ end
37
+
38
+ it "gets a friends' history playlist" do
39
+ VCR.use_cassette('friends_history') do
40
+ user.friends_history_playlist.should be_a Hypem::Playlist
41
+ end
42
+ end
43
+
44
+ describe ".get_profile" do
45
+ let(:user_with_profile) do
46
+ VCR.use_cassette('user_profile') {Hypem::User.new('jackca').get_profile}
47
+ end
48
+
49
+ subject {user_with_profile}
50
+
51
+ its(:full_name) {should == "Jack Anderson"}
52
+ its(:joined_at) {should == Time.parse('2009-03-29 17:06:55 -0700')}
53
+ its(:location) {should == 'San Francisco, CA, US'}
54
+ its(:twitter_username) {should == 'janderson'}
55
+ its(:image_url) {should == 'http://faces-s3.hypem.com/123376863051420_75.png'}
56
+ its(:followed_users_count) {should == 4}
57
+ its(:followed_items_count) {should == 430}
58
+ its(:followed_sites_count) {should == 32}
59
+ its(:followed_queries_count) {should == 15}
60
+ end
61
+
62
+ end
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hypem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jack Anderson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70253643657760 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.6'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70253643657760
25
+ - !ruby/object:Gem::Dependency
26
+ name: vcr
27
+ requirement: &70253643657260 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70253643657260
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &70253643656880 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70253643656880
47
+ - !ruby/object:Gem::Dependency
48
+ name: faraday
49
+ requirement: &70253643656340 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.7'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70253643656340
58
+ - !ruby/object:Gem::Dependency
59
+ name: multi_json
60
+ requirement: &70253643655840 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '1.1'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70253643655840
69
+ - !ruby/object:Gem::Dependency
70
+ name: hashie
71
+ requirement: &70253643655380 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '1.2'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *70253643655380
80
+ description:
81
+ email:
82
+ - jackcanderson@gmail.com
83
+ executables: []
84
+ extensions: []
85
+ extra_rdoc_files: []
86
+ files:
87
+ - .gitignore
88
+ - .rspec
89
+ - .travis.yml
90
+ - Gemfile
91
+ - README.md
92
+ - Rakefile
93
+ - fixtures/vcr_cassettes/blog_playlist.yml
94
+ - fixtures/vcr_cassettes/feed_playlist.yml
95
+ - fixtures/vcr_cassettes/fresh_playlist.yml
96
+ - fixtures/vcr_cassettes/friends_history.yml
97
+ - fixtures/vcr_cassettes/friends_playlist.yml
98
+ - fixtures/vcr_cassettes/latest_playlist.yml
99
+ - fixtures/vcr_cassettes/loved_playlist.yml
100
+ - fixtures/vcr_cassettes/obsessed_playlist.yml
101
+ - fixtures/vcr_cassettes/popular_playlist.yml
102
+ - fixtures/vcr_cassettes/user_profile.yml
103
+ - hypem.gemspec
104
+ - lib/hypem.rb
105
+ - lib/hypem/playlist.rb
106
+ - lib/hypem/request.rb
107
+ - lib/hypem/response.rb
108
+ - lib/hypem/track.rb
109
+ - lib/hypem/user.rb
110
+ - lib/hypem/version.rb
111
+ - spec/hypem_spec.rb
112
+ - spec/playlist_spec.rb
113
+ - spec/request_spec.rb
114
+ - spec/response_spec.rb
115
+ - spec/spec_helper.rb
116
+ - spec/track_spec.rb
117
+ - spec/user_spec.rb
118
+ homepage: ''
119
+ licenses: []
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ segments:
131
+ - 0
132
+ hash: -349130193381970777
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ segments:
140
+ - 0
141
+ hash: -349130193381970777
142
+ requirements: []
143
+ rubyforge_project: hypem
144
+ rubygems_version: 1.8.10
145
+ signing_key:
146
+ specification_version: 3
147
+ summary: a light Ruby wrapper for the Hype Machine public API
148
+ test_files:
149
+ - spec/hypem_spec.rb
150
+ - spec/playlist_spec.rb
151
+ - spec/request_spec.rb
152
+ - spec/response_spec.rb
153
+ - spec/spec_helper.rb
154
+ - spec/track_spec.rb
155
+ - spec/user_spec.rb