edmodo-api 0.0.2 → 0.0.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.lock +1 -1
- data/README.markdown +2 -1
- data/lib/edmodo-api/client.rb +33 -28
- data/lib/edmodo-api/version.rb +1 -1
- data/spec/edmodo-api_spec.rb +171 -12
- data/spec/requests/get_requests.rb +379 -0
- data/spec/requests/post_requests.rb +65 -0
- data/spec/spec_helper.rb +3 -102
- metadata +4 -2
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.markdown
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 | 
            -
            Edmodo::API - Edmodo Ruby API client [](http://travis-ci.org/gabceb/edmodo-api) [](https://gemnasium.com/gabceb/edmodo-api)
         | 
| 1 | 
            +
            Edmodo::API - Edmodo Ruby API client [](http://travis-ci.org/gabceb/edmodo-api) [](https://gemnasium.com/gabceb/edmodo-api) [](https://codeclimate.com/github/gabceb/edmodo-api)
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            =======
         | 
| 3 4 |  | 
| 4 5 | 
             
            A Ruby wrapper for the Edmodo REST API.
         | 
    
        data/lib/edmodo-api/client.rb
    CHANGED
    
    | @@ -30,6 +30,9 @@ module Edmodo | |
| 30 30 |  | 
| 31 31 | 
             
                    raise_init_errors
         | 
| 32 32 |  | 
| 33 | 
            +
                    # Adding the api key as a default parameter to all requests
         | 
| 34 | 
            +
                    self.class.default_params :api_key => @api_key
         | 
| 35 | 
            +
             | 
| 33 36 | 
             
                    @endpoint = Edmodo::API::Config.endpoints[@mode]
         | 
| 34 37 |  | 
| 35 38 | 
             
                  end
         | 
| @@ -69,7 +72,7 @@ module Edmodo | |
| 69 72 | 
             
                  #
         | 
| 70 73 | 
             
                  # => user_token: User token
         | 
| 71 74 | 
             
                  def groups_for_user user_token
         | 
| 72 | 
            -
                     | 
| 75 | 
            +
                    request :get, resource_uri("groupsForUser", @format), {:user_token => user_token}
         | 
| 73 76 | 
             
                  end
         | 
| 74 77 |  | 
| 75 78 | 
             
                  # Returns an array of user data for members of a group, specified by group id.
         | 
| @@ -77,7 +80,7 @@ module Edmodo | |
| 77 80 | 
             
                  #
         | 
| 78 81 | 
             
                  # => group_id: integer Group ID
         | 
| 79 82 | 
             
                  def members group_id
         | 
| 80 | 
            -
                     | 
| 83 | 
            +
                    request :get, resource_uri("members", @format), {:group_id => group_id}
         | 
| 81 84 | 
             
                  end
         | 
| 82 85 |  | 
| 83 86 | 
             
                  # Returns an array of user data for all students that belong to at least one group with the student specified by user token.
         | 
| @@ -85,7 +88,7 @@ module Edmodo | |
| 85 88 | 
             
                  #
         | 
| 86 89 | 
             
                  # => user_token: User token of the student
         | 
| 87 90 | 
             
                  def classmates user_token
         | 
| 88 | 
            -
                     | 
| 91 | 
            +
                    request :get, resource_uri("classmates", @format), {:user_token => user_token}
         | 
| 89 92 | 
             
                  end
         | 
| 90 93 |  | 
| 91 94 | 
             
                  # Returns an array of user data for all teachers for a student specified by user token.
         | 
| @@ -93,7 +96,7 @@ module Edmodo | |
| 93 96 | 
             
                  #
         | 
| 94 97 | 
             
                  # => user_token: User token of the student
         | 
| 95 98 | 
             
                  def teachers user_token
         | 
| 96 | 
            -
                     | 
| 99 | 
            +
                    request :get, resource_uri("teachers", @format), {:user_token => user_token}
         | 
| 97 100 | 
             
                  end
         | 
| 98 101 |  | 
| 99 102 | 
             
                  # Returns an array of user data for all teachers that are connected to the teacher specified by user token.
         | 
| @@ -101,7 +104,7 @@ module Edmodo | |
| 101 104 | 
             
                  #
         | 
| 102 105 | 
             
                  # => user_token: User token of the teacher
         | 
| 103 106 | 
             
                  def teachermates user_token
         | 
| 104 | 
            -
                     | 
| 107 | 
            +
                    request :get, resource_uri("teachermates", @format), {:user_token => user_token}
         | 
| 105 108 | 
             
                  end
         | 
| 106 109 |  | 
| 107 110 | 
             
                  # Returns an array of assignments coming due (in the next 60 days) for the user specified by the token.
         | 
| @@ -109,7 +112,7 @@ module Edmodo | |
| 109 112 | 
             
                  #
         | 
| 110 113 | 
             
                  # => user_token: User token of the user
         | 
| 111 114 | 
             
                  def teacher_connections user_token
         | 
| 112 | 
            -
                     | 
| 115 | 
            +
                    request :get, resource_uri("teacherConnections", @format), {:user_token => user_token}
         | 
| 113 116 | 
             
                  end
         | 
| 114 117 |  | 
| 115 118 | 
             
                  # This call can be used in conjunction with turnInAssignment to allow a user to submit content from the app for a particular assignment in Edmodo.
         | 
| @@ -117,7 +120,7 @@ module Edmodo | |
| 117 120 | 
             
                  #
         | 
| 118 121 | 
             
                  # => user_token: User token of the user
         | 
| 119 122 | 
             
                  def assignments_coming_due user_token
         | 
| 120 | 
            -
                     | 
| 123 | 
            +
                    request :get, resource_uri("assignmentsComingDue", @format), {:user_token => user_token}
         | 
| 121 124 | 
             
                  end
         | 
| 122 125 |  | 
| 123 126 | 
             
                  # Returns an array of grades set by the app for the given user token.
         | 
| @@ -125,7 +128,7 @@ module Edmodo | |
| 125 128 | 
             
                  #
         | 
| 126 129 | 
             
                  # => user_token: User token of the user to get grades for
         | 
| 127 130 | 
             
                  def grades_set_by_app_for_user user_token
         | 
| 128 | 
            -
                     | 
| 131 | 
            +
                    request :get, resource_uri("gradesSetByAppForUser", @format), {:user_token => user_token}
         | 
| 129 132 | 
             
                  end
         | 
| 130 133 |  | 
| 131 134 | 
             
                  # Returns an array of grades set by the app for the given group.
         | 
| @@ -133,7 +136,7 @@ module Edmodo | |
| 133 136 | 
             
                  #
         | 
| 134 137 | 
             
                  # => group_id: The group to get grades for.
         | 
| 135 138 | 
             
                  def grades_set_by_app_for_group group_id
         | 
| 136 | 
            -
                     | 
| 139 | 
            +
                    request :get, resource_uri("gradesSetByAppForGroup", @format), {:group_id => group_id}
         | 
| 137 140 | 
             
                  end
         | 
| 138 141 |  | 
| 139 142 | 
             
                  # Returns an array of badges awarded by the app to the given user token.
         | 
| @@ -141,7 +144,7 @@ module Edmodo | |
| 141 144 | 
             
                  #
         | 
| 142 145 | 
             
                  # => user_token: The user_token to get badges awarded for.
         | 
| 143 146 | 
             
                  def badges_awarded user_token
         | 
| 144 | 
            -
                     | 
| 147 | 
            +
                    request :get, resource_uri("badgesAwarded", @format), {:user_token => user_token}
         | 
| 145 148 | 
             
                  end
         | 
| 146 149 |  | 
| 147 150 | 
             
                  # Returns an array of events set on behalf of the specified user by the app.
         | 
| @@ -149,7 +152,7 @@ module Edmodo | |
| 149 152 | 
             
                  #
         | 
| 150 153 | 
             
                  # => user_token: The user token for the user from which events were set for.
         | 
| 151 154 | 
             
                  def events_by_app user_token
         | 
| 152 | 
            -
                     | 
| 155 | 
            +
                    request :get, resource_uri("eventsByApp", @format), {:user_token => user_token}
         | 
| 153 156 | 
             
                  end
         | 
| 154 157 |  | 
| 155 158 | 
             
                  # Returns an array of parent user data, given a specified student user token.
         | 
| @@ -157,7 +160,7 @@ module Edmodo | |
| 157 160 | 
             
                  #
         | 
| 158 161 | 
             
                  # => user_token: User token of the student
         | 
| 159 162 | 
             
                  def parents user_token
         | 
| 160 | 
            -
                     | 
| 163 | 
            +
                    request :get, resource_uri("parents", @format), {:user_token => user_token}
         | 
| 161 164 | 
             
                  end
         | 
| 162 165 |  | 
| 163 166 | 
             
                  # Returns an array of data for students, given a specified parent user token.
         | 
| @@ -165,7 +168,7 @@ module Edmodo | |
| 165 168 | 
             
                  #
         | 
| 166 169 | 
             
                  # => user_token: User token of the parent
         | 
| 167 170 | 
             
                  def children user_token
         | 
| 168 | 
            -
                     | 
| 171 | 
            +
                    request :get, resource_uri("children", @format), {:user_token => user_token}
         | 
| 169 172 | 
             
                  end
         | 
| 170 173 |  | 
| 171 174 | 
             
                  # Fetches user profile information.
         | 
| @@ -190,7 +193,7 @@ module Edmodo | |
| 190 193 | 
             
                  # => recipients: Array of objects specifying the recipients of the post. These can be either users (specified by a user_token) or groups (specified by a group_id).
         | 
| 191 194 | 
             
                  # => attachments (Optional): array of objects specifying links/embed codes to include in the post message.
         | 
| 192 195 | 
             
                  def user_post user_token, content, recipients, attachments = nil
         | 
| 193 | 
            -
                     | 
| 196 | 
            +
                    request(:post, resource_uri("userPost"), {:user_token => user_token, :content => content, :recipients => recipients, :attachments => attachments}.delete_if{ |k,v| v.nil? })
         | 
| 194 197 | 
             
                  end
         | 
| 195 198 |  | 
| 196 199 | 
             
                  # Submits a response to the specified assignment for the given user. The id's for assignments coming due can be retrieved using the assignments_coming_due.
         | 
| @@ -201,7 +204,7 @@ module Edmodo | |
| 201 204 | 
             
                  # => content: Text of the submission
         | 
| 202 205 | 
             
                  # => attachments (Optional): Array of objects specifying links/embed codes to include in the assignment submission
         | 
| 203 206 | 
             
                  def turn_in_assignment user_token, assignment_id, content, attachments = nil
         | 
| 204 | 
            -
                     | 
| 207 | 
            +
                    request(:post, resource_uri("turnInAssignment"), {:user_token => user_token, :assignment_id => assignment_id, :content => content, :attachments => attachments}.delete_if{ |k,v| v.nil? } )
         | 
| 205 208 | 
             
                  end
         | 
| 206 209 |  | 
| 207 210 | 
             
                  # Registers a badge with Edmodo, returning a badge id that can be used to award a badge that will display on an Edmodo user's profile.
         | 
| @@ -211,7 +214,7 @@ module Edmodo | |
| 211 214 | 
             
                  # => description: limit 140 characters
         | 
| 212 215 | 
             
                  # => image_url: url to badge image, should be 114x114 pixels. Accepted image types: jpg, gif, png
         | 
| 213 216 | 
             
                  def register_badge badge_title, description, image_url 
         | 
| 214 | 
            -
                    request(:post, resource_uri("registerBadge"), {:badge_title => badge_title, :description => description, :image_url => image_url})
         | 
| 217 | 
            +
                    request(:post, resource_uri("registerBadge"), {:badge_title => badge_title, :description => description, :image_url => image_url}.delete_if { |k,v| v.nil? })
         | 
| 215 218 | 
             
                  end
         | 
| 216 219 |  | 
| 217 220 | 
             
                  # Returns an array of user data for all teachers for a student specified by user token.
         | 
| @@ -222,7 +225,7 @@ module Edmodo | |
| 222 225 | 
             
                  # => description: limit 140 characters
         | 
| 223 226 | 
             
                  # => image_url (Optional): If you wish to replace the image of the badge, specify the url of the new badge image. Otherwise, to keep the old badge image, you do not need to specify this parameter.
         | 
| 224 227 | 
             
                  def update_badge badge_id, badge_title, description, image_url = nil
         | 
| 225 | 
            -
                     | 
| 228 | 
            +
                    request(:post, resource_uri("updateBadge"), {:badge_id => badge_id, :badge_title => badge_title, :description => description, :image_url => image_url}. delete_if{ |k,v| v.nil? })
         | 
| 226 229 | 
             
                  end
         | 
| 227 230 |  | 
| 228 231 | 
             
                  # Awards a badge to a given user.
         | 
| @@ -231,7 +234,7 @@ module Edmodo | |
| 231 234 | 
             
                  # => badge_id: Badge ID of the badge being awarded
         | 
| 232 235 | 
             
                  # => user_token: User token of the user receiving the badge
         | 
| 233 236 | 
             
                  def award_badge user_token, badge_id
         | 
| 234 | 
            -
                     | 
| 237 | 
            +
                    request(:post, resource_uri("awardBadge"), {:user_token => user_token, :badge_id => badge_id})
         | 
| 235 238 | 
             
                  end
         | 
| 236 239 |  | 
| 237 240 | 
             
                  # Revokes a badge that has been awarded to a given user.
         | 
| @@ -239,8 +242,8 @@ module Edmodo | |
| 239 242 | 
             
                  #
         | 
| 240 243 | 
             
                  # => badge_id: Badge ID of the badge being revoked
         | 
| 241 244 | 
             
                  # => user_token: User token of the user who has been awarded the badge and whom it will be revoked from.
         | 
| 242 | 
            -
                  def revoke_badge  | 
| 243 | 
            -
                     | 
| 245 | 
            +
                  def revoke_badge user_token, badge_id
         | 
| 246 | 
            +
                    request(:post, resource_uri("revokeBadge"), {:user_token => user_token, :badge_id => badge_id})
         | 
| 244 247 | 
             
                  end
         | 
| 245 248 |  | 
| 246 249 | 
             
                  # Add a new grade to the gradebook for a given group.
         | 
| @@ -250,7 +253,7 @@ module Edmodo | |
| 250 253 | 
             
                  # => title: The title for this grade
         | 
| 251 254 | 
             
                  # => total: The total grade possible for this grade
         | 
| 252 255 | 
             
                  def new_grade group_id, title, total
         | 
| 253 | 
            -
                    
         | 
| 256 | 
            +
                    request(:post, resource_uri("newGrade"), {:group_id => group_id, :title => title, :total => total})
         | 
| 254 257 | 
             
                  end
         | 
| 255 258 |  | 
| 256 259 | 
             
                  # Set a score for a grade given a specific user token.
         | 
| @@ -259,8 +262,8 @@ module Edmodo | |
| 259 262 | 
             
                  # => grade_id: The grade the score is being set upon
         | 
| 260 263 | 
             
                  # => user_token: The user_token of the user to set the grade for
         | 
| 261 264 | 
             
                  # => score: The score to set for this grade
         | 
| 262 | 
            -
                  def set_grade  | 
| 263 | 
            -
                     | 
| 265 | 
            +
                  def set_grade user_token, grade_id, score
         | 
| 266 | 
            +
                    request(:post, resource_uri("setGrade"), {:user_token => user_token, :grade_id => grade_id, :score => score})
         | 
| 264 267 | 
             
                  end
         | 
| 265 268 |  | 
| 266 269 | 
             
                  # Set a new event on behalf of a user to specified recipients. Events will be seen on the calendar as well as notifications as the event approaches.
         | 
| @@ -272,7 +275,7 @@ module Edmodo | |
| 272 275 | 
             
                  # => end_date: The end date of the event (specified in the format YYYY-MM-DD). If this is a single day event, the end date should simply be the same as the start date.
         | 
| 273 276 | 
             
                  # => recipients: array of objects specifying the recipients of the post. These can be either users (specified by a user_token) or groups (specified by a group_id).
         | 
| 274 277 | 
             
                  def new_event user_token, description, start_date, end_date, recipients
         | 
| 275 | 
            -
                     | 
| 278 | 
            +
                    request(:post, resource_uri("newEvent"), {:user_token => user_token, :description => description, :start_date => start_date, :end_date => end_date, :recipients => recipients})
         | 
| 276 279 | 
             
                  end
         | 
| 277 280 |  | 
| 278 281 | 
             
                  # Adds a resource (url or embed code) to a user's Library
         | 
| @@ -282,7 +285,9 @@ module Edmodo | |
| 282 285 | 
             
                  # => publisher_owned:  If you want the resources's author to be the publisher account associated with the app, set this parameter. Set to '1' if you want the resource to be publisher owned
         | 
| 283 286 | 
             
                  # => resource: Object specifying the link or embed code to add to the user's library.
         | 
| 284 287 | 
             
                  def add_to_library user_token, publisher_owned, resource
         | 
| 285 | 
            -
                     | 
| 288 | 
            +
                    publisher_owned_int = publisher_owned ? 1 : 0
         | 
| 289 | 
            +
             | 
| 290 | 
            +
                    request(:post, resource_uri("addToLibrary"), {:user_token => user_token, :publisher_owned => publisher_owned_int, :resource => resource })
         | 
| 286 291 | 
             
                  end
         | 
| 287 292 |  | 
| 288 293 | 
             
                  # Sets a specified count of app notifications for the user.
         | 
| @@ -290,8 +295,8 @@ module Edmodo | |
| 290 295 | 
             
                  #
         | 
| 291 296 | 
             
                  # => user_token: The user_token of the user that will have the resource added to her/his library.
         | 
| 292 297 | 
             
                  # => notification_count: The number to add to the user's notification count for the app
         | 
| 293 | 
            -
                  def set_notification user_token,  | 
| 294 | 
            -
                     | 
| 298 | 
            +
                  def set_notification user_token, notification_count
         | 
| 299 | 
            +
                    request(:post, resource_uri("setNotification"), {:user_token => user_token, :notification_count => notification_count})
         | 
| 295 300 | 
             
                  end
         | 
| 296 301 |  | 
| 297 302 | 
             
                  private
         | 
| @@ -315,7 +320,7 @@ module Edmodo | |
| 315 320 |  | 
| 316 321 | 
             
                    format = ".#{format}" if format
         | 
| 317 322 |  | 
| 318 | 
            -
                    "#{@endpoint}/#{resource}#{format} | 
| 323 | 
            +
                    "#{@endpoint}/#{resource}#{format}"
         | 
| 319 324 | 
             
                  end
         | 
| 320 325 |  | 
| 321 326 | 
             
                end
         | 
    
        data/lib/edmodo-api/version.rb
    CHANGED
    
    
    
        data/spec/edmodo-api_spec.rb
    CHANGED
    
    | @@ -71,13 +71,6 @@ describe Edmodo::API::Client do | |
| 71 71 | 
             
                  response.should == {"user_type"=>"TEACHER", "user_token"=>"b020c42d1", "first_name"=>"Bob", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "groups"=>[{"group_id"=>379557, "is_owner"=>1}, {"group_id"=>379562, "is_owner"=>1}]}
         | 
| 72 72 | 
             
                end
         | 
| 73 73 |  | 
| 74 | 
            -
                it 'should get the correct hash back from the profiles request' do
         | 
| 75 | 
            -
                  
         | 
| 76 | 
            -
                  response = @client.profiles("b020c42d1")
         | 
| 77 | 
            -
             | 
| 78 | 
            -
                  response.should == [{"user_token"=>"b020c42d1", "school"=>{"edmodo_school_id"=>123456, "nces_school_id"=>"ABC987654", "name"=>"Edmodo High", "address"=>"60 E. 3rd Avenue, #390", "city"=>"San Mateo", "state"=>"CA", "zip_code"=>"94401", "country_code"=>"US"}}]
         | 
| 79 | 
            -
                end
         | 
| 80 | 
            -
             | 
| 81 74 | 
             
                it 'should get the correct hash back from the users request' do
         | 
| 82 75 |  | 
| 83 76 | 
             
                  users_ids = ["b020c42d1","jd3i1c0pl"]
         | 
| @@ -94,18 +87,127 @@ describe Edmodo::API::Client do | |
| 94 87 | 
             
                  response.should == [{"group_id"=>379557, "title"=>"Algebra", "member_count"=>20, "owners"=>["b020c42d1", "693d5c765"], "start_level"=>"9th", "end_level"=>"9th"}, {"group_id"=>379562, "title"=>"Geometry", "member_count"=>28, "owners"=>["b020c42d1"], "start_level"=>"3rd", "end_level"=>"3rd"}]
         | 
| 95 88 | 
             
                end
         | 
| 96 89 |  | 
| 97 | 
            -
                it 'should  | 
| 98 | 
            -
                   | 
| 90 | 
            +
                it 'should get the correct hash back from the groupsForUser request' do
         | 
| 91 | 
            +
                  
         | 
| 92 | 
            +
                  response = @client.groups_for_user("b020c42d1")
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                  response.should == [{"group_id"=>379557, "title"=>"Algebra", "member_count"=>20, "owners"=>["b020c42d1", "693d5c765"], "start_level"=>"9th", "end_level"=>"9th"}, {"group_id"=>379562, "title"=>"Geometry", "member_count"=>28, "owners"=>["b020c42d1"], "start_level"=>"3rd", "end_level"=>"3rd"}]
         | 
| 95 | 
            +
                end
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                it 'should get the correct hash back from the members request' do
         | 
| 98 | 
            +
                  
         | 
| 99 | 
            +
                  response = @client.members(379557)
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                  response.should == [{"user_type"=>"TEACHER", "user_token"=>"b020c42d1", "first_name"=>"Bob", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"}, {"user_type"=>"TEACHER", "user_token"=>"693d5c765", "first_name"=>"Tom", "last_name"=>"Jefferson", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"}, {"user_type"=>"STUDENT", "user_token"=>"jd3i1c0pl", "first_name"=>"Jane", "last_name"=>"Student", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"}]
         | 
| 102 | 
            +
                end
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                it 'should get the correct hash back from the classmates request' do
         | 
| 105 | 
            +
                  
         | 
| 106 | 
            +
                  response = @client.classmates("jd3i1c0pl")
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                  response.should == [{"user_type"=>"STUDENT", "user_token"=>"83a8e614d", "first_name"=>"Allison", "last_name"=>"Student", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "shared_groups"=>[379557, 379558]}, {"user_type"=>"STUDENT", "user_token"=>"7968c39b7", "first_name"=>"Mike", "last_name"=>"Student", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "shared_groups"=>[379558]}]
         | 
| 109 | 
            +
                end
         | 
| 110 | 
            +
             | 
| 111 | 
            +
                it 'should get the correct hash back from the teachers request' do
         | 
| 112 | 
            +
                  
         | 
| 113 | 
            +
                  response = @client.teachers("jd3i1c0pl")
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                  response.should == [{"user_type"=>"TEACHER", "user_token"=>"b020c42d1", "first_name"=>"Bob", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "title"=>"MR", "shared_groups"=>[379557]}, {"user_type"=>"TEACHER", "user_token"=>"693d5c765", "first_name"=>"Tom", "last_name"=>"Jefferson", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "title"=>"MR", "shared_groups"=>[379557, 379558]}]
         | 
| 116 | 
            +
                end
         | 
| 117 | 
            +
             | 
| 118 | 
            +
                it 'should get the correct hash back from the teachermates request' do
         | 
| 119 | 
            +
                  
         | 
| 120 | 
            +
                  response = @client.teachermates("jd3i1c0pl")
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                  response.should == [{"user_type"=>"TEACHER", "user_token"=>"b020c42d1", "first_name"=>"Bob", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "title"=>"MR", "shared_groups"=>[379557]}, {"user_type"=>"TEACHER", "user_token"=>"693d5c765", "first_name"=>"Tom", "last_name"=>"Jefferson", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "title"=>"MR", "shared_groups"=>[379557, 379558]}]
         | 
| 123 | 
            +
                end
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                it 'should get the correct hash back from the teacherConnections request' do
         | 
| 126 | 
            +
                  
         | 
| 127 | 
            +
                  response = @client.teacher_connections("jd3i1c0pl")
         | 
| 128 | 
            +
             | 
| 129 | 
            +
                  response.should == [{"user_type"=>"TEACHER", "user_token"=>"693d5c765", "first_name"=>"Tom", "last_name"=>"Jefferson", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "title"=>"MR"}]
         | 
| 130 | 
            +
                end
         | 
| 131 | 
            +
             | 
| 132 | 
            +
                it 'should get the correct hash back from the assignmentsComingDue request' do
         | 
| 133 | 
            +
                  
         | 
| 134 | 
            +
                  response = @client.assignments_coming_due("jd3i1c0pl")
         | 
| 135 | 
            +
             | 
| 136 | 
            +
                  response.should == [{"assignment_id"=>4738052, "assignment_title"=>"Chapter 6 Homework", "description"=>"Do lots of practice problems ", "due_date"=>"2011-10-11", "recipients"=>[{"user_token"=>"9ff85e278"}, {"group_id"=>379557}], "creator"=>{"user_type"=>"TEACHER", "title"=>"MR", "first_name"=>"Bob", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "user_token"=>"b020c42d1"}}]
         | 
| 137 | 
            +
                end
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                it 'should get the correct hash back from the gradesSetByAppForUser request' do
         | 
| 140 | 
            +
                  
         | 
| 141 | 
            +
                  response = @client.grades_set_by_app_for_user("jd3i1c0pl")
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                  response.should == [{"grade_id"=>3695, "title"=>"Super Project", "group_id"=>379557, "score"=>"8", "total"=>"10"}]
         | 
| 144 | 
            +
                end
         | 
| 145 | 
            +
             | 
| 146 | 
            +
                it 'should get the correct hash back from the gradesSetByAppForGroup request' do
         | 
| 147 | 
            +
                  
         | 
| 148 | 
            +
                  response = @client.grades_set_by_app_for_group(379557)
         | 
| 149 | 
            +
             | 
| 150 | 
            +
                  response.should == [{"grade_id"=>3695, "title"=>"Super Project", "group_id"=>379557, "average_score"=>7, "total"=>"10", "graded_count"=>15}]
         | 
| 151 | 
            +
                end
         | 
| 152 | 
            +
             | 
| 153 | 
            +
                it 'should get the correct hash back from the badgesAwarded request' do
         | 
| 154 | 
            +
                  
         | 
| 155 | 
            +
                  response = @client.badges_awarded("jd3i1c0pl")
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                  response.should == [{"badge_id"=>6580, "image_url"=>"http://edmodobadges.s3.amazonaws.com/1234.jpg", "title"=>"Good Job", "description"=>"You did a good job!", "times_awarded"=>1}]
         | 
| 158 | 
            +
                end
         | 
| 159 | 
            +
             | 
| 160 | 
            +
                it 'should get the correct hash back from the eventsByApp request' do
         | 
| 161 | 
            +
                  
         | 
| 162 | 
            +
                  response = @client.events_by_app("b020c42d1")
         | 
| 163 | 
            +
             | 
| 164 | 
            +
                  response.should == [{"event_id"=>621119, "description"=>"Pizza party tomorrow", "start_date"=>"2011-12-07", "end_date"=>"2011-12-07", "recipients"=>[{"user_token"=>"b020c42d1"}, {"group_id"=>379557}]}]
         | 
| 165 | 
            +
                end
         | 
| 166 | 
            +
             | 
| 167 | 
            +
                it 'should get the correct hash back from the parents request' do
         | 
| 168 | 
            +
                  
         | 
| 169 | 
            +
                  response = @client.parents("jd3i1c0pl")
         | 
| 99 170 |  | 
| 100 | 
            -
                   | 
| 171 | 
            +
                  response.should == [{"user_type"=>"PARENT", "user_token"=>"5e9c0e0f5", "first_name"=>"Mary", "last_name"=>"Smith", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png", "relation"=>"MOM"}]
         | 
| 172 | 
            +
                end
         | 
| 173 | 
            +
             | 
| 174 | 
            +
                it 'should get the correct hash back from the children request' do
         | 
| 175 | 
            +
                  
         | 
| 176 | 
            +
                  response = @client.children("5e9c0e0f5")
         | 
| 177 | 
            +
             | 
| 178 | 
            +
                  response.should == [{"user_type"=>"STUDENT", "user_token"=>"jd3i1c0pl", "first_name"=>"Jane", "last_name"=>"Student", "avatar_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar.png", "thumb_url"=>"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"}]
         | 
| 179 | 
            +
                end
         | 
| 180 | 
            +
             | 
| 181 | 
            +
                it 'should get the correct hash back from the profiles request' do
         | 
| 182 | 
            +
                  
         | 
| 183 | 
            +
                  response = @client.profiles("b020c42d1")
         | 
| 184 | 
            +
             | 
| 185 | 
            +
                  response.should == [{"user_token"=>"b020c42d1", "school"=>{"edmodo_school_id"=>123456, "nces_school_id"=>"ABC987654", "name"=>"Edmodo High", "address"=>"60 E. 3rd Avenue, #390", "city"=>"San Mateo", "state"=>"CA", "zip_code"=>"94401", "country_code"=>"US"}}]
         | 
| 101 186 | 
             
                end
         | 
| 102 187 |  | 
| 103 188 | 
             
              end
         | 
| 104 189 |  | 
| 105 190 | 
             
              describe 'POST Requests' do
         | 
| 106 191 | 
             
                before do
         | 
| 107 | 
            -
                   | 
| 108 | 
            -
             | 
| 192 | 
            +
                  @client = Edmodo::API::Client.new(@api_key)
         | 
| 193 | 
            +
                end
         | 
| 194 | 
            +
             | 
| 195 | 
            +
                it 'should get the correct response back from the userPost request' do
         | 
| 196 | 
            +
                  
         | 
| 197 | 
            +
                  pending("This call has to be fixed")
         | 
| 198 | 
            +
             | 
| 199 | 
            +
                  response = @client.user_post("b020c42d1", "This is my test message", {:user_token => "b020c42d1", :user_token => "693d5c765", :group_id => 379557}, [{:type => "link", :title => "A link", :url => "http://www.edmodo.com"}, {:type => "embed", :title => "An embed with an optional thumbnail url", :thumb_url => "http://images.edmodo.com/images/logos/edmodo_134x43.png"}])
         | 
| 200 | 
            +
             | 
| 201 | 
            +
                  response.should == {:status => "success"}
         | 
| 202 | 
            +
                end
         | 
| 203 | 
            +
             | 
| 204 | 
            +
                it 'should get the correct response back from the turnInAssignment request' do
         | 
| 205 | 
            +
                  
         | 
| 206 | 
            +
                  pending("This call has to be fixed")
         | 
| 207 | 
            +
             | 
| 208 | 
            +
                  response = @client.turn_in_assignment("83a8e614d", 4738052, "Here is my assignment submission", {:type => "link", :title => "A link", :url => "http://www.edmodo.com"})
         | 
| 209 | 
            +
             | 
| 210 | 
            +
                  response.should == {:status => "success"}
         | 
| 109 211 | 
             
                end
         | 
| 110 212 |  | 
| 111 213 | 
             
                it 'should get the correct hash response from the registerBadge request' do
         | 
| @@ -114,6 +216,63 @@ describe Edmodo::API::Client do | |
| 114 216 | 
             
                  response.should == {"badge_id" => 6580}
         | 
| 115 217 | 
             
                end
         | 
| 116 218 |  | 
| 219 | 
            +
                it 'should get the correct hash response from the updateBadge request' do
         | 
| 220 | 
            +
                  response = @client.update_badge(6580, "Very Good Job", "You did a very good job", "http://www.edmodo.com/new_badge_image.png")
         | 
| 221 | 
            +
                  
         | 
| 222 | 
            +
                  response.should == {"status" => "success"}
         | 
| 223 | 
            +
                end
         | 
| 224 | 
            +
             | 
| 225 | 
            +
                it 'should get the correct hash response from the awardBadge request' do
         | 
| 226 | 
            +
                  response = @client.award_badge("jd3i1c0pl", 6580)
         | 
| 227 | 
            +
                  
         | 
| 228 | 
            +
                  response.should == {"success"=>1, "times_awarded"=>1}
         | 
| 229 | 
            +
                end
         | 
| 230 | 
            +
             | 
| 231 | 
            +
                it 'should get the correct hash response from the revokeBadge request' do
         | 
| 232 | 
            +
                  response = @client.revoke_badge("jd3i1c0pl", 6580)
         | 
| 233 | 
            +
                  
         | 
| 234 | 
            +
                  response.should == {"success"=>1, "times_awarded"=>0}
         | 
| 235 | 
            +
                end
         | 
| 236 | 
            +
             | 
| 237 | 
            +
                it 'should get the correct hash response from the newGrade request' do
         | 
| 238 | 
            +
                  response = @client.new_grade(379557, "Super Project", 10)
         | 
| 239 | 
            +
                  
         | 
| 240 | 
            +
                  response.should == {"grade_id"=>3694}
         | 
| 241 | 
            +
                end
         | 
| 242 | 
            +
             | 
| 243 | 
            +
                it 'should get the correct hash response from the setGrade request' do
         | 
| 244 | 
            +
                  response = @client.set_grade("jd3i1c0pl", 3694, 3)
         | 
| 245 | 
            +
                  
         | 
| 246 | 
            +
                  response.should == {"user_token"=>"83a8e614d", "score"=>"3", "total" => "10"}
         | 
| 247 | 
            +
                end
         | 
| 248 | 
            +
             | 
| 249 | 
            +
                it 'should get the correct hash response from the newEvent request' do
         | 
| 250 | 
            +
             | 
| 251 | 
            +
                  pending("This call has to be fixed")
         | 
| 252 | 
            +
             | 
| 253 | 
            +
                  recipients = [{:user_token => "b020c42d1"},{:group_id => 379557}]
         | 
| 254 | 
            +
                  response = @client.new_event("b020c42d1", "Pizza party tomorrow", "2011-12-07", "2011-12-07", recipients)
         | 
| 255 | 
            +
                  
         | 
| 256 | 
            +
                  response.should == {"event_id" => 621119}
         | 
| 257 | 
            +
                end
         | 
| 258 | 
            +
             | 
| 259 | 
            +
                it 'should get the correct hash response from the addToLibrary request' do
         | 
| 260 | 
            +
             | 
| 261 | 
            +
                  pending("This call has to be fixed")
         | 
| 262 | 
            +
             | 
| 263 | 
            +
                  resource = {:type => "link", :title => "A link", :url => "http://www.edmodo.com", :thumb_url => "http://images.edmodo.com/images/logos/edmodo_134x43.png" }
         | 
| 264 | 
            +
                  response = @client.add_to_library("b020c42d1", true, resource)
         | 
| 265 | 
            +
                  
         | 
| 266 | 
            +
                  response.should == {"library_item_id" => "456"}
         | 
| 267 | 
            +
                end
         | 
| 268 | 
            +
             | 
| 269 | 
            +
                it 'should get the correct hash response from the setNotification request' do
         | 
| 270 | 
            +
             | 
| 271 | 
            +
                  response = @client.set_notification("b020c42d1", 1)
         | 
| 272 | 
            +
                  
         | 
| 273 | 
            +
                  response.should == {"updated_notification_count" => "3"}
         | 
| 274 | 
            +
                end
         | 
| 275 | 
            +
             | 
| 117 276 | 
             
              end
         | 
| 118 277 |  | 
| 119 278 | 
             
            end
         | 
| @@ -0,0 +1,379 @@ | |
| 1 | 
            +
            # Unauthorized request
         | 
| 2 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/launchRequests.json?api_key=#{@invalid_api_key}&launch_key=5c18c7"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            FakeWeb.register_uri(:get, uri, :body => '{"error":{"code":3000,"message":"Unauthorized API request"}}', :status => ["401", "Authorization Required"])
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            # launchRequest request uri
         | 
| 7 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/launchRequests.json?api_key=#{@api_key}&launch_key=5c18c7"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 10 | 
            +
            					 :body => '	{
         | 
| 11 | 
            +
            								    "user_type":"TEACHER",
         | 
| 12 | 
            +
            								    "user_token":"b020c42d1",
         | 
| 13 | 
            +
            								    "first_name":"Bob",
         | 
| 14 | 
            +
            								    "last_name":"Smith",
         | 
| 15 | 
            +
            								    "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 16 | 
            +
            								    "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 17 | 
            +
            								    "groups":[
         | 
| 18 | 
            +
            								        {
         | 
| 19 | 
            +
            								            "group_id":379557,
         | 
| 20 | 
            +
            								            "is_owner":1
         | 
| 21 | 
            +
            								        },
         | 
| 22 | 
            +
            								        {
         | 
| 23 | 
            +
            								            "group_id":379562,
         | 
| 24 | 
            +
            								            "is_owner":1
         | 
| 25 | 
            +
            								        }
         | 
| 26 | 
            +
            								    ]
         | 
| 27 | 
            +
            								}')
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            # Users request uri
         | 
| 30 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/users.json?api_key=#{@api_key}&user_tokens=%5B%22b020c42d1%22%2C%22jd3i1c0pl%22%5D"
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 33 | 
            +
            					 :body => '	[
         | 
| 34 | 
            +
            								   {
         | 
| 35 | 
            +
            								      "user_type":"TEACHER",
         | 
| 36 | 
            +
            								      "user_token":"b020c42d1",
         | 
| 37 | 
            +
            								      "first_name":"Bob",
         | 
| 38 | 
            +
            								      "last_name":"Smith",
         | 
| 39 | 
            +
            								      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 40 | 
            +
            								      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 41 | 
            +
            								   },
         | 
| 42 | 
            +
            								   {
         | 
| 43 | 
            +
            								      "user_type":"STUDENT",
         | 
| 44 | 
            +
            								      "user_token":"jd3i1c0pl",
         | 
| 45 | 
            +
            								      "first_name":"Jane",
         | 
| 46 | 
            +
            								      "last_name":"Student",
         | 
| 47 | 
            +
            								      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 48 | 
            +
            								      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 49 | 
            +
            								   }
         | 
| 50 | 
            +
            								]')
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            # Profiles request uri
         | 
| 53 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/profiles.json?api_key=#{@api_key}&user_tokens=%5B%22b020c42d1%22%5D"
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 56 | 
            +
            					 :body => '[
         | 
| 57 | 
            +
            								   {
         | 
| 58 | 
            +
            								      "user_token":"b020c42d1",
         | 
| 59 | 
            +
            								      "school":{
         | 
| 60 | 
            +
            								         "edmodo_school_id":123456,
         | 
| 61 | 
            +
            								         "nces_school_id":"ABC987654",
         | 
| 62 | 
            +
            								         "name":"Edmodo High",
         | 
| 63 | 
            +
            								         "address":"60 E. 3rd Avenue, #390",
         | 
| 64 | 
            +
            								         "city":"San Mateo",
         | 
| 65 | 
            +
            								         "state":"CA",
         | 
| 66 | 
            +
            								         "zip_code":"94401",
         | 
| 67 | 
            +
            								         "country_code":"US"
         | 
| 68 | 
            +
            								      }
         | 
| 69 | 
            +
            								   }
         | 
| 70 | 
            +
            								]')
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            # Groups request uri
         | 
| 73 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/groups.json?api_key=#{@api_key}&group_ids=%5B379557%2C379562%5D"
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 76 | 
            +
            					 :body => '[{
         | 
| 77 | 
            +
            							      "group_id":379557,
         | 
| 78 | 
            +
            							      "title":"Algebra",
         | 
| 79 | 
            +
            							      "member_count":20,
         | 
| 80 | 
            +
            							      "owners":[
         | 
| 81 | 
            +
            							         "b020c42d1",
         | 
| 82 | 
            +
            							         "693d5c765"
         | 
| 83 | 
            +
            							      ],
         | 
| 84 | 
            +
            							      "start_level":"9th",
         | 
| 85 | 
            +
            							      "end_level":"9th"
         | 
| 86 | 
            +
            							   },
         | 
| 87 | 
            +
            							   {
         | 
| 88 | 
            +
            							      "group_id":379562,
         | 
| 89 | 
            +
            							      "title":"Geometry",
         | 
| 90 | 
            +
            							      "member_count":28,
         | 
| 91 | 
            +
            							      "owners":[
         | 
| 92 | 
            +
            							         "b020c42d1"
         | 
| 93 | 
            +
            							      ],
         | 
| 94 | 
            +
            							      "start_level":"3rd",
         | 
| 95 | 
            +
            							      "end_level":"3rd"
         | 
| 96 | 
            +
            							   }
         | 
| 97 | 
            +
            							]')
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            # GroupsForUser request uri
         | 
| 100 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/groupsForUser.json?api_key=#{@api_key}&user_token=b020c42d1"
         | 
| 101 | 
            +
             | 
| 102 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 103 | 
            +
            					 :body => '[
         | 
| 104 | 
            +
            								   {
         | 
| 105 | 
            +
            								      "group_id":379557,
         | 
| 106 | 
            +
            								      "title":"Algebra",
         | 
| 107 | 
            +
            								      "member_count":20,
         | 
| 108 | 
            +
            								      "owners":[
         | 
| 109 | 
            +
            								         "b020c42d1",
         | 
| 110 | 
            +
            								         "693d5c765"
         | 
| 111 | 
            +
            								      ],
         | 
| 112 | 
            +
            								      "start_level":"9th",
         | 
| 113 | 
            +
            								      "end_level":"9th"
         | 
| 114 | 
            +
            								   },
         | 
| 115 | 
            +
            								   {
         | 
| 116 | 
            +
            								      "group_id":379562,
         | 
| 117 | 
            +
            								      "title":"Geometry",
         | 
| 118 | 
            +
            								      "member_count":28,
         | 
| 119 | 
            +
            								      "owners":[
         | 
| 120 | 
            +
            								         "b020c42d1"
         | 
| 121 | 
            +
            								      ],
         | 
| 122 | 
            +
            								      "start_level":"3rd",
         | 
| 123 | 
            +
            								      "end_level":"3rd"
         | 
| 124 | 
            +
            								   }
         | 
| 125 | 
            +
            								]')
         | 
| 126 | 
            +
             | 
| 127 | 
            +
            # Members request uri
         | 
| 128 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/members.json?api_key=#{@api_key}&group_id=379557"
         | 
| 129 | 
            +
             | 
| 130 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 131 | 
            +
            					 :body => '[{
         | 
| 132 | 
            +
            							      "user_type":"TEACHER",
         | 
| 133 | 
            +
            							      "user_token":"b020c42d1",
         | 
| 134 | 
            +
            							      "first_name":"Bob",
         | 
| 135 | 
            +
            							      "last_name":"Smith",
         | 
| 136 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 137 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 138 | 
            +
            							   },
         | 
| 139 | 
            +
            							   {
         | 
| 140 | 
            +
            							      "user_type":"TEACHER",
         | 
| 141 | 
            +
            							      "user_token":"693d5c765",
         | 
| 142 | 
            +
            							      "first_name":"Tom",
         | 
| 143 | 
            +
            							      "last_name":"Jefferson",
         | 
| 144 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 145 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 146 | 
            +
            							   },
         | 
| 147 | 
            +
            							   {
         | 
| 148 | 
            +
            							      "user_type":"STUDENT",
         | 
| 149 | 
            +
            							      "user_token":"jd3i1c0pl",
         | 
| 150 | 
            +
            							      "first_name":"Jane",
         | 
| 151 | 
            +
            							      "last_name":"Student",
         | 
| 152 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 153 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 154 | 
            +
            							   }
         | 
| 155 | 
            +
            							]')
         | 
| 156 | 
            +
             | 
| 157 | 
            +
            # Classmates request uri
         | 
| 158 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/classmates.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 159 | 
            +
             | 
| 160 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 161 | 
            +
            					 :body => '[{
         | 
| 162 | 
            +
            							      "user_type":"STUDENT",
         | 
| 163 | 
            +
            							      "user_token":"83a8e614d",
         | 
| 164 | 
            +
            							      "first_name":"Allison",
         | 
| 165 | 
            +
            							      "last_name":"Student",
         | 
| 166 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 167 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 168 | 
            +
            							      "shared_groups":[
         | 
| 169 | 
            +
            							         379557,
         | 
| 170 | 
            +
            							         379558
         | 
| 171 | 
            +
            							      ]
         | 
| 172 | 
            +
            							   },
         | 
| 173 | 
            +
            							   {
         | 
| 174 | 
            +
            							      "user_type":"STUDENT",
         | 
| 175 | 
            +
            							      "user_token":"7968c39b7",
         | 
| 176 | 
            +
            							      "first_name":"Mike",
         | 
| 177 | 
            +
            							      "last_name":"Student",
         | 
| 178 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 179 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 180 | 
            +
            							      "shared_groups":[
         | 
| 181 | 
            +
            							         379558
         | 
| 182 | 
            +
            							      ]
         | 
| 183 | 
            +
            							   }
         | 
| 184 | 
            +
            							]')
         | 
| 185 | 
            +
             | 
| 186 | 
            +
            # Teachers request uri
         | 
| 187 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/teachers.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 188 | 
            +
             | 
| 189 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 190 | 
            +
            					 :body => '[{
         | 
| 191 | 
            +
            							      "user_type":"TEACHER",
         | 
| 192 | 
            +
            							      "user_token":"b020c42d1",
         | 
| 193 | 
            +
            							      "first_name":"Bob",
         | 
| 194 | 
            +
            							      "last_name":"Smith",
         | 
| 195 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 196 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 197 | 
            +
            							      "title":"MR",
         | 
| 198 | 
            +
            							      "shared_groups":[
         | 
| 199 | 
            +
            							         379557
         | 
| 200 | 
            +
            							      ]
         | 
| 201 | 
            +
            							   },
         | 
| 202 | 
            +
            							   {
         | 
| 203 | 
            +
            							      "user_type":"TEACHER",
         | 
| 204 | 
            +
            							      "user_token":"693d5c765",
         | 
| 205 | 
            +
            							      "first_name":"Tom",
         | 
| 206 | 
            +
            							      "last_name":"Jefferson",
         | 
| 207 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 208 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 209 | 
            +
            							      "title":"MR",
         | 
| 210 | 
            +
            							      "shared_groups":[
         | 
| 211 | 
            +
            							         379557,
         | 
| 212 | 
            +
            							         379558
         | 
| 213 | 
            +
            							      ]
         | 
| 214 | 
            +
            							   }
         | 
| 215 | 
            +
            							]')
         | 
| 216 | 
            +
             | 
| 217 | 
            +
            # Teachermatess request uri
         | 
| 218 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/teachermates.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 219 | 
            +
             | 
| 220 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 221 | 
            +
            					 :body => '[{
         | 
| 222 | 
            +
            							      "user_type":"TEACHER",
         | 
| 223 | 
            +
            							      "user_token":"b020c42d1",
         | 
| 224 | 
            +
            							      "first_name":"Bob",
         | 
| 225 | 
            +
            							      "last_name":"Smith",
         | 
| 226 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 227 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 228 | 
            +
            							      "title":"MR",
         | 
| 229 | 
            +
            							      "shared_groups":[
         | 
| 230 | 
            +
            							         379557
         | 
| 231 | 
            +
            							      ]
         | 
| 232 | 
            +
            							   },
         | 
| 233 | 
            +
            							   {
         | 
| 234 | 
            +
            							      "user_type":"TEACHER",
         | 
| 235 | 
            +
            							      "user_token":"693d5c765",
         | 
| 236 | 
            +
            							      "first_name":"Tom",
         | 
| 237 | 
            +
            							      "last_name":"Jefferson",
         | 
| 238 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 239 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 240 | 
            +
            							      "title":"MR",
         | 
| 241 | 
            +
            							      "shared_groups":[
         | 
| 242 | 
            +
            							         379557,
         | 
| 243 | 
            +
            							         379558
         | 
| 244 | 
            +
            							      ]
         | 
| 245 | 
            +
            							   }
         | 
| 246 | 
            +
            							]')
         | 
| 247 | 
            +
             | 
| 248 | 
            +
            # Teacher Connections request uri
         | 
| 249 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/teacherConnections.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 250 | 
            +
             | 
| 251 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 252 | 
            +
            					 :body => '[{
         | 
| 253 | 
            +
            							      "user_type":"TEACHER",
         | 
| 254 | 
            +
            							      "user_token":"693d5c765",
         | 
| 255 | 
            +
            							      "first_name":"Tom",
         | 
| 256 | 
            +
            							      "last_name":"Jefferson",
         | 
| 257 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 258 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 259 | 
            +
            							      "title":"MR"
         | 
| 260 | 
            +
            							   }
         | 
| 261 | 
            +
            							]')
         | 
| 262 | 
            +
             | 
| 263 | 
            +
            # AssignmentsComingDue request uri
         | 
| 264 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/assignmentsComingDue.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 265 | 
            +
             | 
| 266 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 267 | 
            +
            					 :body => '[{
         | 
| 268 | 
            +
            							      "assignment_id":4738052,
         | 
| 269 | 
            +
            							      "assignment_title":"Chapter 6 Homework",
         | 
| 270 | 
            +
            							      "description":"Do lots of practice problems ",
         | 
| 271 | 
            +
            							      "due_date":"2011-10-11",
         | 
| 272 | 
            +
            							      "recipients":[
         | 
| 273 | 
            +
            							         {
         | 
| 274 | 
            +
            							            "user_token":"9ff85e278"
         | 
| 275 | 
            +
            							         },
         | 
| 276 | 
            +
            							         {
         | 
| 277 | 
            +
            							            "group_id":379557
         | 
| 278 | 
            +
            							         }
         | 
| 279 | 
            +
            							      ],
         | 
| 280 | 
            +
            							      "creator":{
         | 
| 281 | 
            +
            							         "user_type":"TEACHER",
         | 
| 282 | 
            +
            							         "title":"MR",
         | 
| 283 | 
            +
            							         "first_name":"Bob",
         | 
| 284 | 
            +
            							         "last_name":"Smith",
         | 
| 285 | 
            +
            							         "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 286 | 
            +
            							         "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 287 | 
            +
            							         "user_token":"b020c42d1"
         | 
| 288 | 
            +
            							      }
         | 
| 289 | 
            +
            							   }
         | 
| 290 | 
            +
            							  ]')
         | 
| 291 | 
            +
             | 
| 292 | 
            +
            # gradesSetByAppForUser request uri
         | 
| 293 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/gradesSetByAppForUser.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 294 | 
            +
             | 
| 295 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 296 | 
            +
            					 :body => '[{
         | 
| 297 | 
            +
            							      "grade_id":3695,
         | 
| 298 | 
            +
            							      "title":"Super Project",
         | 
| 299 | 
            +
            							      "group_id":379557,
         | 
| 300 | 
            +
            							      "score":"8",
         | 
| 301 | 
            +
            							      "total":"10"
         | 
| 302 | 
            +
            							   }
         | 
| 303 | 
            +
            							]')
         | 
| 304 | 
            +
             | 
| 305 | 
            +
            # gradesSetByAppForGroup request uri
         | 
| 306 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/gradesSetByAppForGroup.json?api_key=#{@api_key}&group_id=379557"
         | 
| 307 | 
            +
             | 
| 308 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 309 | 
            +
            					 :body => '[{
         | 
| 310 | 
            +
            							      "grade_id":3695,
         | 
| 311 | 
            +
            							      "title":"Super Project",
         | 
| 312 | 
            +
            							      "group_id":379557,
         | 
| 313 | 
            +
            							      "average_score":7,
         | 
| 314 | 
            +
            							      "total":"10",
         | 
| 315 | 
            +
            							      "graded_count":15
         | 
| 316 | 
            +
            							   }
         | 
| 317 | 
            +
            							]')
         | 
| 318 | 
            +
             | 
| 319 | 
            +
            # badgesAwarded request uri
         | 
| 320 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/badgesAwarded.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 321 | 
            +
             | 
| 322 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 323 | 
            +
            					 :body => '[{
         | 
| 324 | 
            +
            							      "badge_id":6580,
         | 
| 325 | 
            +
            							      "image_url":"http://edmodobadges.s3.amazonaws.com/1234.jpg",
         | 
| 326 | 
            +
            							      "title":"Good Job",
         | 
| 327 | 
            +
            							      "description":"You did a good job!",
         | 
| 328 | 
            +
            							      "times_awarded":1
         | 
| 329 | 
            +
            							   }
         | 
| 330 | 
            +
            							]')
         | 
| 331 | 
            +
             | 
| 332 | 
            +
            # eventsByApp request uri
         | 
| 333 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/eventsByApp.json?api_key=#{@api_key}&user_token=b020c42d1"
         | 
| 334 | 
            +
             | 
| 335 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 336 | 
            +
            					 :body => '[{
         | 
| 337 | 
            +
            							      "event_id":621119,
         | 
| 338 | 
            +
            							      "description":"Pizza party tomorrow",
         | 
| 339 | 
            +
            							      "start_date":"2011-12-07",
         | 
| 340 | 
            +
            							      "end_date":"2011-12-07",
         | 
| 341 | 
            +
            							      "recipients":[
         | 
| 342 | 
            +
            							         {
         | 
| 343 | 
            +
            							            "user_token":"b020c42d1"
         | 
| 344 | 
            +
            							         },
         | 
| 345 | 
            +
            							         {
         | 
| 346 | 
            +
            							            "group_id":379557
         | 
| 347 | 
            +
            							         }
         | 
| 348 | 
            +
            							      ]
         | 
| 349 | 
            +
            							   }
         | 
| 350 | 
            +
            							]')
         | 
| 351 | 
            +
             | 
| 352 | 
            +
            # parents request uri
         | 
| 353 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/parents.json?api_key=#{@api_key}&user_token=jd3i1c0pl"
         | 
| 354 | 
            +
             | 
| 355 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 356 | 
            +
            					 :body => '[{
         | 
| 357 | 
            +
            							      "user_type":"PARENT",
         | 
| 358 | 
            +
            							      "user_token":"5e9c0e0f5",
         | 
| 359 | 
            +
            							      "first_name":"Mary",
         | 
| 360 | 
            +
            							      "last_name":"Smith",
         | 
| 361 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 362 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 363 | 
            +
            							      "relation":"MOM"
         | 
| 364 | 
            +
            							   }
         | 
| 365 | 
            +
            							]')
         | 
| 366 | 
            +
             | 
| 367 | 
            +
            # children request uri
         | 
| 368 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/children.json?api_key=#{@api_key}&user_token=5e9c0e0f5"
         | 
| 369 | 
            +
             | 
| 370 | 
            +
            FakeWeb.register_uri(:get, uri,
         | 
| 371 | 
            +
            					 :body => '[{
         | 
| 372 | 
            +
            							      "user_type":"STUDENT",
         | 
| 373 | 
            +
            							      "user_token":"jd3i1c0pl",
         | 
| 374 | 
            +
            							      "first_name":"Jane",
         | 
| 375 | 
            +
            							      "last_name":"Student",
         | 
| 376 | 
            +
            							      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 377 | 
            +
            							      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 378 | 
            +
            							   }
         | 
| 379 | 
            +
            							]')
         | 
| @@ -0,0 +1,65 @@ | |
| 1 | 
            +
            # -- POST REQUESTS ---
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # userPost request uri
         | 
| 4 | 
            +
            recipients = "[{'user_token':'b020c42d1'},{'user_token':'693d5c765'},{'group_id':379557}]"
         | 
| 5 | 
            +
            attachments = "[{'type':'link','title':'A link','url':'http://www.edmodo.com'},{'type':'embed','title':'An embed with an optional thumbnail url','thumb_url':'http://images.edmodo.com/images/logos/edmodo_134x43.png'}]"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            uri = URI.encode "#{Edmodo::API::Config.endpoints[:sandbox]}/userPost?api_key=#{@api_key}&user_token=b020c42d1&content=This%20is%20my%20test%20message&recipients=#{recipients}&attachments=#{attachments}"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"status":"success"}')
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            # turnInAssignment request uri
         | 
| 12 | 
            +
            attachments = "[{'type':'link','title':'A link','url':'http://www.edmodo.com'}]"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            uri = URI.encode "#{Edmodo::API::Config.endpoints[:sandbox]}/turnInAssignment?api_key=#{@api_key}&user_token=b020c42d1&assignment_id=4738052&content=Here%20is%20my%20assignment%20submission&attachments=#{attachments}"
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"status":"success"}')
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            # RegisterBadge request uri
         | 
| 19 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/registerBadge?api_key=#{@api_key}&badge_title=Good%20Job&description=You%20did%20a%20good%20job&image_url=http%3A%2F%2Fwww.edmodo.com%2Fbadge_image.png"
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"badge_id":6580}')
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            # UpdateBadge request uri
         | 
| 24 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/updateBadge?api_key=#{@api_key}&badge_id=6580&badge_title=Very%20Good%20Job&description=You%20did%20a%20very%20good%20job&image_url=http%3A%2F%2Fwww.edmodo.com%2Fnew_badge_image.png"
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"status":"success"}')
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            # awardBadge request uri
         | 
| 29 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/awardBadge?api_key=#{@api_key}&user_token=jd3i1c0pl&badge_id=6580"
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"success":1, "times_awarded":1}')
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            # revokeBadge request uri
         | 
| 34 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/revokeBadge?api_key=#{@api_key}&user_token=jd3i1c0pl&badge_id=6580"
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"success":1, "times_awarded":0}')
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            # newGrade request uri
         | 
| 39 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/newGrade?api_key=#{@api_key}&group_id=379557&title=Super%20Project&total=10"
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"grade_id":3694}')
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            # setGrade request uri
         | 
| 44 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/setGrade?api_key=#{@api_key}&grade_id=3694&user_token=jd3i1c0pl&score=3"
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"user_token":"83a8e614d", "score":"3", "total":"10"}')
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            # newEvent request uri
         | 
| 49 | 
            +
            receipients = URI.encode '[{"user_token":"b020c42d1"},{"group_id":379557}]'
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/newEvent?api_key=#{@api_key}&user_token=b020c42d1&description=Pizza+party+tomorrow&start_date=2011-12-07&end_date=2011-12-07&recipients=#{receipients}"
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"event_id":621119}')
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            # addToLibrary request uri
         | 
| 56 | 
            +
            resource = URI.encode '{"type":"link","title":"A link","url":"http://www.edmodo.com","thumb_url":"http://images.edmodo.com/images/logos/edmodo_134x43.png"}'
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/addToLibrary?api_key=#{@api_key}&user_token=b020c42d1&publisher_owned=1&resource=#{resource}"
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"library_item_id":"456"}')
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            # setNotification request uri
         | 
| 63 | 
            +
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/setNotification?api_key=#{@api_key}&user_token=b020c42d1¬ification_count=1"
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            FakeWeb.register_uri(:post, uri, :body => '{"updated_notification_count":"3"}')
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -3,111 +3,12 @@ | |
| 3 3 | 
             
            $: << File.join(File.dirname(__FILE__), "/../lib")
         | 
| 4 4 | 
             
            require 'edmodo-api'
         | 
| 5 5 | 
             
            require 'fakeweb'
         | 
| 6 | 
            +
            require 'uri'
         | 
| 6 7 |  | 
| 7 8 | 
             
            @api_key = "1234567890abcdefghijklmn"
         | 
| 8 9 | 
             
            @invalid_api_key = "invalid_key"
         | 
| 9 10 |  | 
| 10 11 | 
             
            FakeWeb.allow_net_connect = false
         | 
| 11 12 |  | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
            FakeWeb.register_uri(:get, uri, :body => '{"error":{"code":3000,"message":"Unauthorized API request"}}', :status => ["401", "Authorization Required"])
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            # launchRequest request uri
         | 
| 18 | 
            -
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/launchRequests.json?api_key=#{@api_key}&launch_key=5c18c7"
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            FakeWeb.register_uri(:get, uri,
         | 
| 21 | 
            -
            					 :body => '	{
         | 
| 22 | 
            -
            								    "user_type":"TEACHER",
         | 
| 23 | 
            -
            								    "user_token":"b020c42d1",
         | 
| 24 | 
            -
            								    "first_name":"Bob",
         | 
| 25 | 
            -
            								    "last_name":"Smith",
         | 
| 26 | 
            -
            								    "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 27 | 
            -
            								    "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png",
         | 
| 28 | 
            -
            								    "groups":[
         | 
| 29 | 
            -
            								        {
         | 
| 30 | 
            -
            								            "group_id":379557,
         | 
| 31 | 
            -
            								            "is_owner":1
         | 
| 32 | 
            -
            								        },
         | 
| 33 | 
            -
            								        {
         | 
| 34 | 
            -
            								            "group_id":379562,
         | 
| 35 | 
            -
            								            "is_owner":1
         | 
| 36 | 
            -
            								        }
         | 
| 37 | 
            -
            								    ]
         | 
| 38 | 
            -
            								}')
         | 
| 39 | 
            -
             | 
| 40 | 
            -
            # Users request uri
         | 
| 41 | 
            -
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/users.json?api_key=#{@api_key}&user_tokens=%5B%22b020c42d1%22%2C%22jd3i1c0pl%22%5D"
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            FakeWeb.register_uri(:get, uri,
         | 
| 44 | 
            -
            					 :body => '	[
         | 
| 45 | 
            -
            								   {
         | 
| 46 | 
            -
            								      "user_type":"TEACHER",
         | 
| 47 | 
            -
            								      "user_token":"b020c42d1",
         | 
| 48 | 
            -
            								      "first_name":"Bob",
         | 
| 49 | 
            -
            								      "last_name":"Smith",
         | 
| 50 | 
            -
            								      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 51 | 
            -
            								      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 52 | 
            -
            								   },
         | 
| 53 | 
            -
            								   {
         | 
| 54 | 
            -
            								      "user_type":"STUDENT",
         | 
| 55 | 
            -
            								      "user_token":"jd3i1c0pl",
         | 
| 56 | 
            -
            								      "first_name":"Jane",
         | 
| 57 | 
            -
            								      "last_name":"Student",
         | 
| 58 | 
            -
            								      "avatar_url":"http://edmodoimages.s3.amazonaws.com/default_avatar.png",
         | 
| 59 | 
            -
            								      "thumb_url":"http://edmodoimages.s3.amazonaws.com/default_avatar_t.png"
         | 
| 60 | 
            -
            								   }
         | 
| 61 | 
            -
            								]')
         | 
| 62 | 
            -
             | 
| 63 | 
            -
            # Profiles request uri
         | 
| 64 | 
            -
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/profiles.json?api_key=#{@api_key}&user_tokens=%5B%22b020c42d1%22%5D"
         | 
| 65 | 
            -
             | 
| 66 | 
            -
            FakeWeb.register_uri(:get, uri,
         | 
| 67 | 
            -
            					 :body => '[
         | 
| 68 | 
            -
            								   {
         | 
| 69 | 
            -
            								      "user_token":"b020c42d1",
         | 
| 70 | 
            -
            								      "school":{
         | 
| 71 | 
            -
            								         "edmodo_school_id":123456,
         | 
| 72 | 
            -
            								         "nces_school_id":"ABC987654",
         | 
| 73 | 
            -
            								         "name":"Edmodo High",
         | 
| 74 | 
            -
            								         "address":"60 E. 3rd Avenue, #390",
         | 
| 75 | 
            -
            								         "city":"San Mateo",
         | 
| 76 | 
            -
            								         "state":"CA",
         | 
| 77 | 
            -
            								         "zip_code":"94401",
         | 
| 78 | 
            -
            								         "country_code":"US"
         | 
| 79 | 
            -
            								      }
         | 
| 80 | 
            -
            								   }
         | 
| 81 | 
            -
            								]')
         | 
| 82 | 
            -
             | 
| 83 | 
            -
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/groups.json?api_key=#{@api_key}&group_ids=%5B379557%2C379562%5D"
         | 
| 84 | 
            -
             | 
| 85 | 
            -
            FakeWeb.register_uri(:get, uri,
         | 
| 86 | 
            -
            					 :body => '[{
         | 
| 87 | 
            -
            							      "group_id":379557,
         | 
| 88 | 
            -
            							      "title":"Algebra",
         | 
| 89 | 
            -
            							      "member_count":20,
         | 
| 90 | 
            -
            							      "owners":[
         | 
| 91 | 
            -
            							         "b020c42d1",
         | 
| 92 | 
            -
            							         "693d5c765"
         | 
| 93 | 
            -
            							      ],
         | 
| 94 | 
            -
            							      "start_level":"9th",
         | 
| 95 | 
            -
            							      "end_level":"9th"
         | 
| 96 | 
            -
            							   },
         | 
| 97 | 
            -
            							   {
         | 
| 98 | 
            -
            							      "group_id":379562,
         | 
| 99 | 
            -
            							      "title":"Geometry",
         | 
| 100 | 
            -
            							      "member_count":28,
         | 
| 101 | 
            -
            							      "owners":[
         | 
| 102 | 
            -
            							         "b020c42d1"
         | 
| 103 | 
            -
            							      ],
         | 
| 104 | 
            -
            							      "start_level":"3rd",
         | 
| 105 | 
            -
            							      "end_level":"3rd"
         | 
| 106 | 
            -
            							   }
         | 
| 107 | 
            -
            							]')
         | 
| 108 | 
            -
             | 
| 109 | 
            -
            # RegisterBadge request uri
         | 
| 110 | 
            -
            uri = "#{Edmodo::API::Config.endpoints[:sandbox]}/registerBadge?api_key=#{@api_key}&badge_title=Good%20Job&description=You%20did%20a%20good%20job&image_url=http%3A%2F%2Fwww.edmodo.com%2Fbadge_image.png"
         | 
| 111 | 
            -
             | 
| 112 | 
            -
            FakeWeb.register_uri(:post, uri, :body => '{"badge_id":6580}')
         | 
| 113 | 
            -
             | 
| 13 | 
            +
            require 'requests/get_requests'
         | 
| 14 | 
            +
            require 'requests/post_requests'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: edmodo-api
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2013-01-05 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: httparty
         | 
| @@ -128,6 +128,8 @@ files: | |
| 128 128 | 
             
            - lib/edmodo-api/request.rb
         | 
| 129 129 | 
             
            - lib/edmodo-api/version.rb
         | 
| 130 130 | 
             
            - spec/edmodo-api_spec.rb
         | 
| 131 | 
            +
            - spec/requests/get_requests.rb
         | 
| 132 | 
            +
            - spec/requests/post_requests.rb
         | 
| 131 133 | 
             
            - spec/spec_helper.rb
         | 
| 132 134 | 
             
            homepage: https://github.com/gabceb/edmodo-api
         | 
| 133 135 | 
             
            licenses:
         |