gigatools 0.0.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 +7 -0
- data/lib/gigatools.rb +73 -0
- metadata +44 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 55c2e96830a8a83d071a64809d105ef016ddc82a
|
|
4
|
+
data.tar.gz: 919a812ff40d039f6b454111a874b63ae784b547
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: a576b6097489fca8938765f1b7936f158d049b689ff1b0baade9553dc5688bdbba35e301f2a5a834c491c5422be8ee84644d564060a6702e786159657e5eb1bc
|
|
7
|
+
data.tar.gz: 7bfe704ea7a3bed428022e1fe08663fa9b2a2e9782f2a4e9435f4515c75f033002696047045ffe061183f5a1720a0d6d617b72f30e2befc9213117fccdbedfde
|
data/lib/gigatools.rb
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
class Gigatools
|
|
2
|
+
require 'net/http'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
def self.find_by_username(username)
|
|
6
|
+
uri = URI('http://gigs.gigatools.com/user/'+username+'.json')
|
|
7
|
+
response = Net::HTTP.get_response(uri)
|
|
8
|
+
if response.is_a?(Net::HTTPSuccess)
|
|
9
|
+
json_response = JSON.parse(response.body)
|
|
10
|
+
|
|
11
|
+
user_json = json_response[0]["user"]
|
|
12
|
+
events_json = json_response[1]
|
|
13
|
+
|
|
14
|
+
return GigatoolsUser.new(user_json, events_json)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class GigatoolsUser
|
|
20
|
+
attr_reader :id, :artistname, :bookingcontact, :mixcloud_url, :soundcloud_url,
|
|
21
|
+
:twittername, :url, :username, :widgetname, :events
|
|
22
|
+
|
|
23
|
+
def initialize(user_json, events_json)
|
|
24
|
+
user_json.each do |key,value|
|
|
25
|
+
value = (value.class == String) ? value.strip : value
|
|
26
|
+
instance_variable_set("@#{key}", value)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
@events = GigatoolsEvent.create_list(events_json)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class GigatoolsEvent
|
|
34
|
+
require 'time'
|
|
35
|
+
|
|
36
|
+
attr_reader :id, :artists, :city, :country, :eventdate, :image_url, :info,
|
|
37
|
+
:name, :showtime, :state, :url, :url_tix, :venue
|
|
38
|
+
|
|
39
|
+
def initialize(event_json)
|
|
40
|
+
event_json.each do |key,value|
|
|
41
|
+
if value.class == String
|
|
42
|
+
value = (value.strip.empty?)? nil : value.strip
|
|
43
|
+
end
|
|
44
|
+
instance_variable_set("@#{key}", value)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
@eventdate = Date.parse(event_json["eventdate"]) if event_json["eventdate"]
|
|
48
|
+
@showtime = Time.parse(event_json["showtime"]) if event_json["showtime"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def self.create_list(events_json)
|
|
52
|
+
events = []
|
|
53
|
+
events_json.each do |event|
|
|
54
|
+
events << GigatoolsEvent.new(event["event"])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
return events
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def event_venue
|
|
61
|
+
major_geo = self.state || self.country
|
|
62
|
+
[self.venue, self.city, major_geo].compact.join(", ")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def event_date(format = "%^a %d %^b")
|
|
66
|
+
date = self.eventdate || self.showtime
|
|
67
|
+
Time.parse(date).strftime(format) if date
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def event_time(format = "%l:%M %p")
|
|
71
|
+
Time.parse(self.showtime).strftime(format) if self.showtime
|
|
72
|
+
end
|
|
73
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: gigatools
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Joseph Hernandez
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-10-06 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: A simple gem for integrating basic Gigatools function
|
|
14
|
+
email: joe@imjoe.co
|
|
15
|
+
executables: []
|
|
16
|
+
extensions: []
|
|
17
|
+
extra_rdoc_files: []
|
|
18
|
+
files:
|
|
19
|
+
- lib/gigatools.rb
|
|
20
|
+
homepage: http://rubygems.org/gems/gigatools
|
|
21
|
+
licenses:
|
|
22
|
+
- MIT
|
|
23
|
+
metadata: {}
|
|
24
|
+
post_install_message:
|
|
25
|
+
rdoc_options: []
|
|
26
|
+
require_paths:
|
|
27
|
+
- lib
|
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
34
|
+
requirements:
|
|
35
|
+
- - ">="
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0'
|
|
38
|
+
requirements: []
|
|
39
|
+
rubyforge_project:
|
|
40
|
+
rubygems_version: 2.2.2
|
|
41
|
+
signing_key:
|
|
42
|
+
specification_version: 4
|
|
43
|
+
summary: Unofficial Gigatools Gem
|
|
44
|
+
test_files: []
|