jambase 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/jambase.rb +66 -0
  3. metadata +86 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 54caccb754775065e16e0410a8ef4074fe10105a
4
+ data.tar.gz: 851405b7df89ff281e564b2aab14828063899d92
5
+ SHA512:
6
+ metadata.gz: 3180e51e2edf51c0b8c92b6e876b89d7822c0481603be63a62f4cf3e354e974a54839322b4e5a4819b36a25ae03736e75ee65322c5dd372c20cd533aa224b1b4
7
+ data.tar.gz: 7d37f5678d39a72d4c5b3c38966c879ae851848df905cc0bfc8b99c2cf5f1629e9b755afad8a441711e740aff723faf6aaa7582678ff024a3e02b06b0a102a3f
@@ -0,0 +1,66 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ class Jambase
5
+
6
+ API_URL = "http://api.jambase.com/"
7
+
8
+ class << self
9
+ def configure(&block)
10
+ block.call(self) if block_given?
11
+ end
12
+
13
+ def api_key=(api_key)
14
+ @@api_key = api_key
15
+ end
16
+ end
17
+
18
+ def get_events(zip_code:nil, radius:nil, start_date:nil, end_date:nil, artist_id:nil, venue_id:nil)
19
+ params = []
20
+ params << "page=0"
21
+ params << "zipCode=#{zip_code}" if zip_code
22
+ params << "radius=#{radius}" if radius
23
+ params << "startDate=#{start_date}" if start_date
24
+ params << "end_date=#{end_date}" if end_date
25
+ params << "artistId=#{artist_id}" if artist_id
26
+ params << "venueId=#{venue_id}" if venue_id
27
+ params << "api_key=#{@@api_key}"
28
+
29
+ url = URI.parse("#{API_URL}events?#{params.join("&")}")
30
+ get(url)
31
+ end
32
+
33
+ def get_artists(name:nil, id:nil)
34
+ params = []
35
+ params << "page=0"
36
+ params << "name=#{name}" if name
37
+ params << "id=#{id}" if id
38
+ params << "api_key=#{@@api_key}"
39
+
40
+ url = URI.parse("#{API_URL}artists?#{params.join("&")}")
41
+ get(url)
42
+ end
43
+
44
+
45
+ def get_venues(name:nil, id:nil, zip_code:nil)
46
+ params = []
47
+ params << "page=0"
48
+ params << "name=#{name}" if name
49
+ params << "id=#{id}" if id
50
+ params << "zipCode=#{zip_code}" if zip_code
51
+ params << "api_key=#{@@api_key}"
52
+
53
+ url = URI.parse("#{API_URL}venues?#{params.join("&")}")
54
+ get(url)
55
+ end
56
+ end
57
+
58
+
59
+ private
60
+
61
+ def get(url)
62
+ request = Net::HTTP::Get.new(url.to_s)
63
+ response = Net::HTTP.start(url.host, url.port) {|http|http.request(request)}
64
+ response.body
65
+ JSON.parse(response.body)
66
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jambase
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yanik J
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.4'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec-mocks
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.4'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.10'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.10'
55
+ description: A ruby wrapper for the JamBase api
56
+ email: yanikjay@gmail.com
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/jambase.rb
62
+ homepage: https://github.com/modernlegend/jambase
63
+ licenses:
64
+ - MIT
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 2.4.5
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: Jambase
86
+ test_files: []