desmos 0.1.2 → 0.1.3

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/Gemfile CHANGED
@@ -2,7 +2,6 @@ source "http://rubygems.org"
2
2
 
3
3
  gem 'yajl-ruby', '~>0.8.2'
4
4
  gem 'oauth', '~>0.4.5'
5
- gem 'activesupport', '~>3.0'
6
5
 
7
6
  group :development, :test do
8
7
  gem 'rspec'
@@ -2,8 +2,6 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  ZenTest (4.6.2)
5
- activesupport (3.1.0)
6
- multi_json (~> 1.0)
7
5
  addressable (2.2.6)
8
6
  autotest (4.4.6)
9
7
  ZenTest (>= 4.4.1)
@@ -15,7 +13,6 @@ GEM
15
13
  bundler (~> 1.0.0)
16
14
  git (>= 1.2.5)
17
15
  rake
18
- multi_json (1.0.3)
19
16
  oauth (0.4.5)
20
17
  rake (0.9.2)
21
18
  rspec (2.6.0)
@@ -35,7 +32,6 @@ PLATFORMS
35
32
  ruby
36
33
 
37
34
  DEPENDENCIES
38
- activesupport (~> 3.0)
39
35
  autotest
40
36
  awesome_print
41
37
  jeweler
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{desmos}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Ryan Moran}]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/desmos/configuration.rb",
31
31
  "lib/desmos/debug_mode.rb",
32
32
  "lib/desmos/errors.rb",
33
+ "lib/desmos/recursive_symbolize_keys.rb",
33
34
  "lib/desmos/request_support.rb",
34
35
  "lib/desmos/student.rb",
35
36
  "lib/desmos/tutor.rb",
@@ -58,7 +59,6 @@ Gem::Specification.new do |s|
58
59
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
60
  s.add_runtime_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
60
61
  s.add_runtime_dependency(%q<oauth>, ["~> 0.4.5"])
61
- s.add_runtime_dependency(%q<activesupport>, ["~> 3.0"])
62
62
  s.add_development_dependency(%q<rspec>, [">= 0"])
63
63
  s.add_development_dependency(%q<jeweler>, [">= 0"])
64
64
  s.add_development_dependency(%q<autotest>, [">= 0"])
@@ -68,7 +68,6 @@ Gem::Specification.new do |s|
68
68
  else
69
69
  s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
70
70
  s.add_dependency(%q<oauth>, ["~> 0.4.5"])
71
- s.add_dependency(%q<activesupport>, ["~> 3.0"])
72
71
  s.add_dependency(%q<rspec>, [">= 0"])
73
72
  s.add_dependency(%q<jeweler>, [">= 0"])
74
73
  s.add_dependency(%q<autotest>, [">= 0"])
@@ -79,7 +78,6 @@ Gem::Specification.new do |s|
79
78
  else
80
79
  s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
81
80
  s.add_dependency(%q<oauth>, ["~> 0.4.5"])
82
- s.add_dependency(%q<activesupport>, ["~> 3.0"])
83
81
  s.add_dependency(%q<rspec>, [">= 0"])
84
82
  s.add_dependency(%q<jeweler>, [">= 0"])
85
83
  s.add_dependency(%q<autotest>, [">= 0"])
@@ -1,4 +1,3 @@
1
- require 'active_support/core_ext/hash/keys'
2
1
  require 'oauth'
3
2
  require 'yajl'
4
3
 
@@ -16,4 +15,6 @@ module Desmos
16
15
  autoload :ConfigurationError, 'desmos/errors'
17
16
  autoload :RequestError, 'desmos/errors'
18
17
  autoload :WhiteboardNotFound, 'desmos/errors'
19
- end
18
+ end
19
+
20
+ require 'desmos/recursive_symbolize_keys'
@@ -0,0 +1,19 @@
1
+ class Hash
2
+
3
+ def recursive_symbolize_keys
4
+ hash = {}
5
+ each_pair do |k,v|
6
+ if v.is_a?(Hash)
7
+ hash.store(k.to_sym,v.recursive_symbolize_keys)
8
+ else
9
+ hash.store(k.to_sym,v)
10
+ end
11
+ end
12
+ hash
13
+ end
14
+
15
+ def recursive_symbolize_keys!
16
+ self.replace(recursive_symbolize_keys)
17
+ end
18
+
19
+ end
@@ -37,7 +37,7 @@ module Desmos
37
37
  def parse_response(response)
38
38
  debug "\n[RequestSupport.parse_response] (#{response.inspect})"
39
39
  debug "response.body:\n#{response.body}"
40
- parsed_response = Yajl::Parser.parse(response.body).symbolize_keys
40
+ parsed_response = Yajl::Parser.parse(response.body).recursive_symbolize_keys
41
41
  end
42
42
 
43
43
  end
@@ -3,7 +3,7 @@ module Desmos
3
3
  attr_accessor :id, :hash, :type, :name
4
4
 
5
5
  def initialize(options = {})
6
- options.symbolize_keys!
6
+ options.recursive_symbolize_keys!
7
7
  @type = 'user'
8
8
  @hash = options[:hash]
9
9
 
@@ -15,7 +15,7 @@ module Desmos
15
15
  end
16
16
 
17
17
  def self.build_from_hash(options = {})
18
- options.symbolize_keys!
18
+ options.recursive_symbolize_keys!
19
19
  return if options[:id].blank?
20
20
  return if options[:name].blank?
21
21
  new(options)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desmos
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Moran
@@ -53,17 +53,16 @@ dependencies:
53
53
  requirement: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
- - - ~>
56
+ - - ">="
57
57
  - !ruby/object:Gem::Version
58
- hash: 7
58
+ hash: 3
59
59
  segments:
60
- - 3
61
60
  - 0
62
- version: "3.0"
61
+ version: "0"
63
62
  version_requirements: *id003
64
- name: activesupport
63
+ name: rspec
65
64
  prerelease: false
66
- type: :runtime
65
+ type: :development
67
66
  - !ruby/object:Gem::Dependency
68
67
  requirement: &id004 !ruby/object:Gem::Requirement
69
68
  none: false
@@ -75,7 +74,7 @@ dependencies:
75
74
  - 0
76
75
  version: "0"
77
76
  version_requirements: *id004
78
- name: rspec
77
+ name: jeweler
79
78
  prerelease: false
80
79
  type: :development
81
80
  - !ruby/object:Gem::Dependency
@@ -89,7 +88,7 @@ dependencies:
89
88
  - 0
90
89
  version: "0"
91
90
  version_requirements: *id005
92
- name: jeweler
91
+ name: autotest
93
92
  prerelease: false
94
93
  type: :development
95
94
  - !ruby/object:Gem::Dependency
@@ -103,7 +102,7 @@ dependencies:
103
102
  - 0
104
103
  version: "0"
105
104
  version_requirements: *id006
106
- name: autotest
105
+ name: awesome_print
107
106
  prerelease: false
108
107
  type: :development
109
108
  - !ruby/object:Gem::Dependency
@@ -117,25 +116,11 @@ dependencies:
117
116
  - 0
118
117
  version: "0"
119
118
  version_requirements: *id007
120
- name: awesome_print
121
- prerelease: false
122
- type: :development
123
- - !ruby/object:Gem::Dependency
124
- requirement: &id008 !ruby/object:Gem::Requirement
125
- none: false
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- hash: 3
130
- segments:
131
- - 0
132
- version: "0"
133
- version_requirements: *id008
134
119
  name: webmock
135
120
  prerelease: false
136
121
  type: :development
137
122
  - !ruby/object:Gem::Dependency
138
- requirement: &id009 !ruby/object:Gem::Requirement
123
+ requirement: &id008 !ruby/object:Gem::Requirement
139
124
  none: false
140
125
  requirements:
141
126
  - - ">="
@@ -146,7 +131,7 @@ dependencies:
146
131
  - 2
147
132
  - 9
148
133
  version: 1.2.9
149
- version_requirements: *id009
134
+ version_requirements: *id008
150
135
  name: rspec
151
136
  prerelease: false
152
137
  type: :development
@@ -173,6 +158,7 @@ files:
173
158
  - lib/desmos/configuration.rb
174
159
  - lib/desmos/debug_mode.rb
175
160
  - lib/desmos/errors.rb
161
+ - lib/desmos/recursive_symbolize_keys.rb
176
162
  - lib/desmos/request_support.rb
177
163
  - lib/desmos/student.rb
178
164
  - lib/desmos/tutor.rb