snafu 0.1.2 → 0.2.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.
- data/.gitignore +1 -0
- data/CHANGELOG.textile +12 -1
- data/README.textile +68 -7
- data/lib/snafu.rb +9 -2
- data/lib/snafu/achievements.rb +17 -0
- data/lib/snafu/client.rb +33 -23
- data/lib/snafu/giants.rb +35 -0
- data/lib/snafu/models.rb +4 -1
- data/lib/snafu/models/achievement.rb +24 -0
- data/lib/snafu/models/giant.rb +21 -0
- data/lib/snafu/models/glitch_time.rb +116 -0
- data/lib/snafu/models/hub.rb +5 -2
- data/lib/snafu/models/location.rb +3 -3
- data/lib/snafu/models/street.rb +13 -5
- data/lib/snafu/util.rb +12 -0
- data/lib/snafu/version.rb +1 -1
- data/snafu.gemspec +2 -2
- data/spec/snafu/achievements_spec.rb +51 -0
- data/spec/snafu/client_spec.rb +37 -15
- data/spec/snafu/giants_spec.rb +60 -0
- data/spec/snafu/locations_spec.rb +33 -32
- data/spec/snafu/models/achievement_spec.rb +31 -0
- data/spec/snafu/models/giant_spec.rb +38 -0
- data/spec/snafu/models/glitch_image_spec.rb +7 -17
- data/spec/snafu/models/glitch_time_spec.rb +176 -0
- data/spec/snafu/models/hub_spec.rb +2 -2
- data/spec/snafu/models/street_spec.rb +1 -1
- data/spec/snafu/models/util_spec.rb +22 -0
- data/spec/snafu_spec.rb +4 -3
- data/spec/spec_helper.rb +17 -16
- metadata +46 -54
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_accept_a_hash_of_POST_arguments.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate_called_with_true.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate_true.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_true.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Client/call_should_raise_a_GlitchAPIError_if_receiving_an_unsucessful_response_from_the_Glitch_API.yml +0 -36
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_a_valid_hub_if_given_a_valid_Hub_ID.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_an_array_of_valid_street_information_if_given_a_valid_Hub_ID.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_populated_the_returned_Hub_objects_with_an_id_and_name.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_Hub_objects.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_all_hubs.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Locations/get_street_should_return_a_complete_street_if_given_a_valid_street_ID.yml +0 -40
- data/spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_response_from_Glitch.yml +0 -39
- data/spec/fixtures/vcr_cassettes/Snafu_Models_Street/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml +0 -40
- data/spec/fixtures/vcr_cassettes/Snafu_Models_Street_new/should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml +0 -40
- data/spec/fixtures/vcr_cassettes/calendar_getHoldays/valid_calendar.yml +0 -39
@@ -2,32 +2,22 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Snafu
|
4
4
|
module Models
|
5
|
-
describe
|
6
|
-
|
7
|
-
@valid_image = GlitchImage.new(
|
8
|
-
:url => "http://example.com",
|
9
|
-
:width => 100,
|
10
|
-
:height => 100
|
11
|
-
)
|
12
|
-
end
|
5
|
+
describe GlitchImage do
|
6
|
+
let(:valid_image) { GlitchImage.new(:url => "http://example.com", :width => 100, :height => 100) }
|
13
7
|
context "initialize()" do
|
14
8
|
it "should retain all parameters" do
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
valid_image.url.should_not be_nil
|
10
|
+
valid_image.height.should be > 0
|
11
|
+
valid_image.width.should be > 0
|
18
12
|
end
|
19
13
|
|
20
14
|
it "should convert a string width argument into an integer" do
|
21
|
-
glitch_image = GlitchImage.new(
|
22
|
-
:width => "100"
|
23
|
-
)
|
15
|
+
glitch_image = GlitchImage.new(:width => "100")
|
24
16
|
glitch_image.width.should be_a Integer
|
25
17
|
end
|
26
18
|
|
27
19
|
it "should convert a string height argument into an integer" do
|
28
|
-
glitch_image = GlitchImage.new(
|
29
|
-
:height => "100"
|
30
|
-
)
|
20
|
+
glitch_image = GlitchImage.new(:height => "100")
|
31
21
|
glitch_image.height.should be_a Integer
|
32
22
|
end
|
33
23
|
end
|
@@ -0,0 +1,176 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Snafu
|
4
|
+
module Models
|
5
|
+
describe GlitchTime do
|
6
|
+
let(:glitch_epoch) { 1238562000 }
|
7
|
+
let(:secs_in_game_year) { 4435200 }
|
8
|
+
let(:secs_in_game_week) { 115200 }
|
9
|
+
let(:secs_in_game_day) { 14400 }
|
10
|
+
let(:secs_in_game_hour) { 600 }
|
11
|
+
let(:secs_in_game_minute) { 10 }
|
12
|
+
let(:days_in_month) { [29, 3, 53, 17, 73, 19, 13, 37, 5, 47, 11, 1] }
|
13
|
+
let(:names_of_months) { %w(Primuary Spork Bruise Candy Fever Junuary Septa Remember Doom Widdershins Eleventy Recurse) }
|
14
|
+
let(:names_of_days) { %w(Hairday Moonday Twoday Weddingday Theday Fryday Standday Fabday Recurse) }
|
15
|
+
|
16
|
+
describe "#new" do
|
17
|
+
it "should retain the timestamp that is passed" do
|
18
|
+
time = GlitchTime.new(glitch_epoch)
|
19
|
+
time.timestamp.should eql(glitch_epoch)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should raise an error when given a time before the glitch epoch" do
|
23
|
+
lambda { GlitchTime.new(glitch_epoch - 1) }.should raise_error(GlitchTime::InvalidTimestampError)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should set the correct timestamp if given a valid Time object" do
|
27
|
+
GlitchTime.new(Time.at(glitch_epoch)).timestamp.should eql(glitch_epoch)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should set the timestamp to the current time if no time is specified" do
|
31
|
+
Timecop.freeze(Time.now)
|
32
|
+
time = GlitchTime.new
|
33
|
+
time.timestamp.should eql(Time.now.to_i)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#seconds_since_epoch" do
|
38
|
+
it "should return the seconds since the glitch epoch" do
|
39
|
+
time = GlitchTime.new(glitch_epoch + 12345)
|
40
|
+
time.seconds_since_epoch.should eql(12345)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "#year" do
|
45
|
+
it "should return 0 if timestamp is the Glitch epoch" do
|
46
|
+
time = GlitchTime.new(glitch_epoch)
|
47
|
+
time.year.should eql(0)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should return 1 for a timestamp one game year from the Glitch epoch" do
|
51
|
+
time = GlitchTime.new(glitch_epoch + secs_in_game_year)
|
52
|
+
time.year.should eql(1)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "#day_of_year" do
|
57
|
+
it "should return the day of the year" do
|
58
|
+
5.times { |day| GlitchTime.new(glitch_epoch + secs_in_game_day * day).day_of_year.should eql(day) }
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should roll back to 0 at the end of a game year" do
|
62
|
+
GlitchTime.new(glitch_epoch + secs_in_game_year).day_of_year.should eql(0)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe "#month" do
|
67
|
+
it "should return the month of the year" do
|
68
|
+
12.times do |month|
|
69
|
+
time = GlitchTime.new(glitch_epoch + day_of_year_for_first_day_of_month(month) * secs_in_game_day)
|
70
|
+
time.month.should eql(month)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe "#day_of_month" do
|
76
|
+
it "should return the day of the month" do
|
77
|
+
12.times do |n|
|
78
|
+
time = GlitchTime.new(beginning_of_first_day_of_month(n))
|
79
|
+
time.day_of_month.should eql(0)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe "#name_of_month" do
|
85
|
+
it "should return the name of the month" do
|
86
|
+
12.times do |n|
|
87
|
+
GlitchTime.new(glitch_epoch + day_of_year_for_first_day_of_month(n) * secs_in_game_day).name_of_month.should eql(names_of_months[n])
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe "#day_of_week" do
|
93
|
+
it "should return the correct day of week" do
|
94
|
+
8.times { |day| GlitchTime.new(glitch_epoch + secs_in_game_day * (day + 1) - 1).day_of_week.should == day}
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should return 3 for the day we wrote this code" do
|
98
|
+
time = GlitchTime.new(1327359466)
|
99
|
+
time.day_of_week.should == 2
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should return Twoday for the day we wrote this code" do
|
103
|
+
time = GlitchTime.new(1327359466)
|
104
|
+
time.name_of_day.should eql("Twoday")
|
105
|
+
end
|
106
|
+
|
107
|
+
it "should return -1 for the day if it is Recurse day" do
|
108
|
+
5.times { |year| GlitchTime.new(glitch_epoch + secs_in_game_year * (year + 1) - 1).day_of_week.should == -1 }
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe "#name_of_day" do
|
113
|
+
it "should return the name of the day" do
|
114
|
+
8.times { |day| GlitchTime.new(glitch_epoch + (secs_in_game_day * day)).name_of_day.should eql(names_of_days[day])}
|
115
|
+
end
|
116
|
+
it "should return 'Recurse' if it is Recurse day" do
|
117
|
+
5.times { |year| GlitchTime.new(glitch_epoch + secs_in_game_year * (year + 1) - 1).name_of_day.should eql("Recurse")}
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
describe "#hour" do
|
122
|
+
it "should return the hour of the day" do
|
123
|
+
24.times { |hour| GlitchTime.new(glitch_epoch + (hour * secs_in_game_hour)).hour.should == hour}
|
124
|
+
24.times { |hour| GlitchTime.new(glitch_epoch + secs_in_game_day + (hour * secs_in_game_hour)).hour.should == hour}
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "#minute" do
|
129
|
+
it "should return the minute of the hour" do
|
130
|
+
60.times do |minute|
|
131
|
+
time = GlitchTime.new(glitch_epoch + secs_in_game_day + (minute * secs_in_game_minute))
|
132
|
+
time.minute.should == minute
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should pad the minute if passed the :padded => true option" do
|
137
|
+
10.times do
|
138
|
+
time = random_time
|
139
|
+
while time.minute >= 10 do
|
140
|
+
time = random_time
|
141
|
+
end
|
142
|
+
time.minute(padded: true).to_s.should match(/\A0\d\z/)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
describe "#to_s" do
|
148
|
+
it "should display the full time" do
|
149
|
+
time = GlitchTime.new
|
150
|
+
pattern_string = "#{time.hour}:#{time.minute(padded: true)}, #{time.name_of_day} #{time.day_of_month + 1} of #{time.name_of_month}, year #{time.year}"
|
151
|
+
time.to_s.should match(pattern_string)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
def day_of_year_for_first_day_of_month(month_number)
|
156
|
+
result = 0
|
157
|
+
result = days_in_month[0..month_number-1].inject(:+) if month_number > 0
|
158
|
+
result
|
159
|
+
end
|
160
|
+
|
161
|
+
def beginning_of_first_day_of_month(month_number)
|
162
|
+
seconds_in_previous_days = 0
|
163
|
+
if month_number == 0
|
164
|
+
seconds_in_previous_days = 0
|
165
|
+
else
|
166
|
+
seconds_in_previous_days = (days_in_month[0..month_number-1].inject(:+)) * secs_in_game_day
|
167
|
+
end
|
168
|
+
glitch_epoch + seconds_in_previous_days
|
169
|
+
end
|
170
|
+
|
171
|
+
def random_time(seed = 1000)
|
172
|
+
GlitchTime.new(glitch_epoch + rand(1000))
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module Snafu
|
4
4
|
module Models
|
5
5
|
describe Snafu::Models::Hub do
|
6
|
-
|
6
|
+
describe "#initialize" do
|
7
7
|
it "should populate values if given an options hash" do
|
8
8
|
expected_id = "1"
|
9
9
|
expected_name = "Some Hub"
|
@@ -19,7 +19,7 @@ module Snafu
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should populate values if given the raw JSON response from HTTParty", :vcr do
|
22
|
-
glitch_client = Snafu.new
|
22
|
+
glitch_client = Snafu.new
|
23
23
|
glitch_response = glitch_client.call("locations.getStreets", :hub_id => 27)
|
24
24
|
new_hub = Hub.new(glitch_response)
|
25
25
|
new_hub.streets.should_not be_nil
|
@@ -4,7 +4,7 @@ module Snafu
|
|
4
4
|
module Models
|
5
5
|
describe Snafu::Models::Street do
|
6
6
|
before(:each) do
|
7
|
-
@snafu = Snafu.new
|
7
|
+
@snafu = Snafu.new
|
8
8
|
@test_hub_id = "27"
|
9
9
|
@test_hub_name = "Ix"
|
10
10
|
@test_street_id = "LM416LNIKVLM1"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Snafu::Util do
|
4
|
+
let(:glitch_epoch) { 1238562000 }
|
5
|
+
let(:snafu) { Snafu.new }
|
6
|
+
|
7
|
+
describe "#glitch_time" do
|
8
|
+
it "should return the current GlitchTime if given no arguments" do
|
9
|
+
Timecop.freeze(Time.now)
|
10
|
+
glitch_time = snafu.glitch_time
|
11
|
+
direct_time = Snafu::Models::GlitchTime.new
|
12
|
+
glitch_time.timestamp.should eql(direct_time.timestamp)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should return the same GlitchTime if given a Glitch timestamp" do
|
16
|
+
timestamp = glitch_epoch + rand(1000)
|
17
|
+
glitch_time = snafu.glitch_time(timestamp)
|
18
|
+
direct_time = Snafu::Models::GlitchTime.new(timestamp)
|
19
|
+
glitch_time.timestamp.should eql(direct_time.timestamp)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/spec/snafu_spec.rb
CHANGED
@@ -3,12 +3,13 @@ require 'spec_helper'
|
|
3
3
|
describe Snafu do
|
4
4
|
|
5
5
|
it "should return a Snafu::Client object if supplied with valid parameters" do
|
6
|
-
glitch_client = Snafu.new(
|
6
|
+
glitch_client = Snafu.new()
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should retain the Oauth Token" do
|
10
|
-
test_oauth_token =
|
11
|
-
glitch_client = Snafu.new(:api_key => GLITCH_API_KEY, :oauth_token =>
|
10
|
+
test_oauth_token = rand(100000).to_s
|
11
|
+
glitch_client = Snafu.new(:api_key => GLITCH_API_KEY, :oauth_token => test_oauth_token)
|
12
12
|
glitch_client.oauth_token.should eql(test_oauth_token)
|
13
13
|
end
|
14
|
+
|
14
15
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,28 +1,29 @@
|
|
1
1
|
require 'snafu'
|
2
2
|
require 'vcr'
|
3
|
+
require 'timecop'
|
3
4
|
require 'api_key' if File.exists?(File.dirname(__FILE__) + "/api_key.rb")
|
4
5
|
|
5
|
-
VCR.
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#
|
6
|
+
VCR.configure do |c|
|
7
|
+
c.allow_http_connections_when_no_cassette = false
|
8
|
+
c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
|
9
|
+
c.hook_into :fakeweb
|
10
|
+
c.configure_rspec_metadata!
|
11
|
+
#TWO_WEEKS = 14 * 24 * 60 * 60
|
12
|
+
#c.default_cassette_options = { :re_record_interval => TWO_WEEKS }
|
11
13
|
end
|
12
14
|
|
13
15
|
RSpec.configure do |config|
|
14
16
|
config.filter_run_excluding :broken => true
|
15
17
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
16
|
-
config.
|
17
|
-
name = example.metadata[:full_description].split(/\s+/, 2).join("/").gsub(/[^\w\/]+/, "_")
|
18
|
-
VCR.use_cassette(name) { example.call }
|
19
|
-
end
|
18
|
+
config.extend VCR::RSpec::Macros
|
20
19
|
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
# Handy time and date calculations
|
22
|
+
class Numeric
|
23
|
+
def milliseconds; self/1000.0; end
|
24
|
+
def seconds; self; end
|
25
|
+
def minutes; self*60; end
|
26
|
+
def hours; self*60*60; end
|
27
|
+
def days; self*60*60*24; end
|
28
|
+
def weeks; self*60*60*24*7; end
|
28
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snafu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-06-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70111835294180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70111835294180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard-rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70111835293720 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70111835293720
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: vcr
|
38
|
-
requirement: &
|
38
|
+
requirement: &70111835293260 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70111835293260
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: fakeweb
|
49
|
-
requirement: &
|
49
|
+
requirement: &70111835292820 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70111835292820
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &70111835292320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,21 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70111835292320
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: timecop
|
71
|
+
requirement: &70111835291660 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70111835291660
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: httparty
|
71
|
-
requirement: &
|
82
|
+
requirement: &70111835290820 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ~>
|
@@ -76,9 +87,9 @@ dependencies:
|
|
76
87
|
version: '0.8'
|
77
88
|
type: :runtime
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
80
|
-
description:
|
81
|
-
|
90
|
+
version_requirements: *70111835290820
|
91
|
+
description: Snafu is a Ruby gem that provides an interface to the API for Glitch,
|
92
|
+
a browser-based MMO created by Tiny Speck.
|
82
93
|
email:
|
83
94
|
- jeff@jkbrowning.com
|
84
95
|
executables: []
|
@@ -93,39 +104,32 @@ files:
|
|
93
104
|
- README.textile
|
94
105
|
- Rakefile
|
95
106
|
- lib/snafu.rb
|
107
|
+
- lib/snafu/achievements.rb
|
96
108
|
- lib/snafu/client.rb
|
109
|
+
- lib/snafu/giants.rb
|
97
110
|
- lib/snafu/locations.rb
|
98
111
|
- lib/snafu/models.rb
|
112
|
+
- lib/snafu/models/achievement.rb
|
113
|
+
- lib/snafu/models/giant.rb
|
99
114
|
- lib/snafu/models/glitch_image.rb
|
115
|
+
- lib/snafu/models/glitch_time.rb
|
100
116
|
- lib/snafu/models/hub.rb
|
101
117
|
- lib/snafu/models/location.rb
|
102
118
|
- lib/snafu/models/street.rb
|
119
|
+
- lib/snafu/util.rb
|
103
120
|
- lib/snafu/version.rb
|
104
121
|
- snafu.gemspec
|
105
|
-
- spec/
|
106
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if.yml
|
107
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate.yml
|
108
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate_called_with_true.yml
|
109
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate.yml
|
110
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate_true.yml
|
111
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_true.yml
|
112
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_raise_a_GlitchAPIError_if_receiving_an_unsucessful_response_from_the_Glitch_API.yml
|
113
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_a_valid_hub_if_given_a_valid_Hub_ID.yml
|
114
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_an_array_of_valid_street_information_if_given_a_valid_Hub_ID.yml
|
115
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_populated_the_returned_Hub_objects_with_an_id_and_name.yml
|
116
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_Hub_objects.yml
|
117
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_all_hubs.yml
|
118
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_street_should_return_a_complete_street_if_given_a_valid_street_ID.yml
|
119
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
120
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_response_from_Glitch.yml
|
121
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Street/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
122
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Street_new/should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
123
|
-
- spec/fixtures/vcr_cassettes/calendar_getHoldays/valid_calendar.yml
|
122
|
+
- spec/snafu/achievements_spec.rb
|
124
123
|
- spec/snafu/client_spec.rb
|
124
|
+
- spec/snafu/giants_spec.rb
|
125
125
|
- spec/snafu/locations_spec.rb
|
126
|
+
- spec/snafu/models/achievement_spec.rb
|
127
|
+
- spec/snafu/models/giant_spec.rb
|
126
128
|
- spec/snafu/models/glitch_image_spec.rb
|
129
|
+
- spec/snafu/models/glitch_time_spec.rb
|
127
130
|
- spec/snafu/models/hub_spec.rb
|
128
131
|
- spec/snafu/models/street_spec.rb
|
132
|
+
- spec/snafu/models/util_spec.rb
|
129
133
|
- spec/snafu/models_spec.rb
|
130
134
|
- spec/snafu_spec.rb
|
131
135
|
- spec/spec_helper.rb
|
@@ -155,30 +159,18 @@ signing_key:
|
|
155
159
|
specification_version: 3
|
156
160
|
summary: A library for the Glitch API
|
157
161
|
test_files:
|
158
|
-
- spec/
|
159
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if.yml
|
160
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate.yml
|
161
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_authenticate_called_with_true.yml
|
162
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate.yml
|
163
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_authenticate_true.yml
|
164
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_automatically_pass_in_the_oauth_token_if_called_with_true.yml
|
165
|
-
- spec/fixtures/vcr_cassettes/Snafu_Client/call_should_raise_a_GlitchAPIError_if_receiving_an_unsucessful_response_from_the_Glitch_API.yml
|
166
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_a_valid_hub_if_given_a_valid_Hub_ID.yml
|
167
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hub_should_return_an_array_of_valid_street_information_if_given_a_valid_Hub_ID.yml
|
168
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_populated_the_returned_Hub_objects_with_an_id_and_name.yml
|
169
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_Hub_objects.yml
|
170
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_hubs_should_return_an_array_of_all_hubs.yml
|
171
|
-
- spec/fixtures/vcr_cassettes/Snafu_Locations/get_street_should_return_a_complete_street_if_given_a_valid_street_ID.yml
|
172
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
173
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Hub/initialize_should_populate_values_if_given_the_raw_response_from_Glitch.yml
|
174
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Street/initialize_should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
175
|
-
- spec/fixtures/vcr_cassettes/Snafu_Models_Street_new/should_populate_values_if_given_the_raw_JSON_response_from_HTTParty.yml
|
176
|
-
- spec/fixtures/vcr_cassettes/calendar_getHoldays/valid_calendar.yml
|
162
|
+
- spec/snafu/achievements_spec.rb
|
177
163
|
- spec/snafu/client_spec.rb
|
164
|
+
- spec/snafu/giants_spec.rb
|
178
165
|
- spec/snafu/locations_spec.rb
|
166
|
+
- spec/snafu/models/achievement_spec.rb
|
167
|
+
- spec/snafu/models/giant_spec.rb
|
179
168
|
- spec/snafu/models/glitch_image_spec.rb
|
169
|
+
- spec/snafu/models/glitch_time_spec.rb
|
180
170
|
- spec/snafu/models/hub_spec.rb
|
181
171
|
- spec/snafu/models/street_spec.rb
|
172
|
+
- spec/snafu/models/util_spec.rb
|
182
173
|
- spec/snafu/models_spec.rb
|
183
174
|
- spec/snafu_spec.rb
|
184
175
|
- spec/spec_helper.rb
|
176
|
+
has_rdoc:
|