totter 0.3.6 → 0.3.7

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.
@@ -23,6 +23,17 @@ module Totter
23
23
  post("users/#{user_id}/decisions").body
24
24
  end
25
25
 
26
+ # Clone a decision
27
+ #
28
+ # @param decision_id [Numeric] A Seesaw decision id
29
+ # @param user_id [Numeric] A Seesaw user id
30
+ # @return [Hashie::Mash]
31
+ # @example
32
+ # Totter.clone_decision(1, 2)
33
+ def clone_decision(user_id, decision_id, question = nil)
34
+ post("users/#{user_id}/decisions/#{decision_id}/clone", question: question).body
35
+ end
36
+
26
37
  # Publish a decision
27
38
  #
28
39
  # @param user_id [Numeric] The decision's user id
@@ -1,4 +1,4 @@
1
1
  module Totter
2
2
  # Verion of the Totter gem
3
- VERSION = '0.3.6'
3
+ VERSION = '0.3.7'
4
4
  end
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:5000/v1/users/6/decisions/14/clone
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"question":null}'
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ Authorization:
15
+ - Bearer 9774e653f7b3c1de5f21b61adc08ba24
16
+ Content-Type:
17
+ - application/json
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ X-Ua-Compatible:
26
+ - IE=Edge
27
+ Etag:
28
+ - ! '"fbf422e3b4ad7a20deaa61f66a7e19ca"'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ X-Request-Id:
32
+ - 291075a3f0dd9d8547140b0ba345b72d
33
+ X-Runtime:
34
+ - '0.372199'
35
+ Connection:
36
+ - close
37
+ Server:
38
+ - thin 1.5.0 codename Knife
39
+ body:
40
+ encoding: US-ASCII
41
+ string: ! '{"created_at":"2013-04-11T16:47:16Z","final_vote_id":null,"flag_count":null,"id":16,"is_private":false,"meta":{"question_display_text":"what
42
+ time is it?","question_display_html":"what time is it?","question_entities":[]},"parent_id":14,"parent_user_id":6,"published_at":null,"question":"what
43
+ time is it?","updated_at":"2013-04-11T16:47:16Z","user_id":4,"pusher_channel":"decision-4-16","timeline_key":"4,16","analytics":{"views":0,"unique_viewers":0,"referrers":{},"votes":{},"total_votes":0},"user_vote":null,"composite_image_url":"https://recess-dev.s3.amazonaws.com/decisions/16/composite.jpg","cached_parent_decision":{"created_at":"2013-04-11T16:29:42Z","final_vote_id":null,"flag_count":null,"id":14,"is_private":false,"meta":{"question_display_text":"what
44
+ time is it?","question_display_html":"what time is it?","question_entities":[]},"parent_id":null,"parent_user_id":null,"published_at":"2013-04-11T16:29:41Z","question":"what
45
+ time is it?","updated_at":"2013-04-11T16:29:42Z","user_id":6,"pusher_channel":"decision-6-14","timeline_key":"6,14","analytics":{"views":0,"unique_viewers":0,"referrers":{},"votes":{},"total_votes":0},"user_vote":null,"composite_image_url":"https://recess-dev.s3.amazonaws.com/decisions/14/composite.jpg","cached_parent_decision":null,"choices":[],"invitations":[],"user":{"biography":null,"created_at":"2013-04-11T16:29:16Z","family_name":null,"given_name":null,"id":6,"location_name":null,"meta":null,"moderated_decisions_count":null,"phone_number_verified_at":null,"stickers":[],"updated_at":"2013-04-11T16:29:16Z","username":null,"website":null,"avatar_url":"https://recess-dev.s3.amazonaws.com/default_avatars/v1/photo_3.png","full_name":"6","short_name":"6","display_name":"6","short_display_name":"6","analytics":{"votes":0,"decisions":0,"followers":0,"following":0}},"slug":"d/3O3s1E"},"choices":[],"invitations":[],"user":{"biography":null,"created_at":"2013-04-11T00:05:00Z","family_name":"Soffes","given_name":"Sam","id":4,"location_name":null,"meta":null,"moderated_decisions_count":null,"phone_number_verified_at":null,"stickers":[],"updated_at":"2013-04-11T00:05:00Z","username":"soffes","website":null,"avatar_url":"https://recess-dev.s3.amazonaws.com/default_avatars/v1/photo_2.png","full_name":"Sam
46
+ Soffes","short_name":"Sam S","display_name":"soffes","short_display_name":"soffes","analytics":{"decisions":11,"updated_at":"2013-04-11T16:25:58Z","votes":0,"followers":0,"following":0}},"slug":"d/1o0H3r"}'
47
+ http_version:
48
+ recorded_at: Thu, 11 Apr 2013 16:47:16 GMT
49
+ recorded_with: VCR 2.4.0
@@ -18,6 +18,15 @@ class DecisionsTest < Totter::TestCase
18
18
  end
19
19
  end
20
20
 
21
+ def test_clone_decision
22
+ VCR.use_cassette 'decisions/clone' do
23
+ client = local_client
24
+ cloned_decision = client.clone_decision(6, 14)
25
+ assert_equal 14, cloned_decision.parent_id
26
+ assert_equal 6, cloned_decision.parent_user_id
27
+ end
28
+ end
29
+
21
30
  def test_publish_decision
22
31
  VCR.use_cassette 'decisions/publish' do
23
32
  client = local_client
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-04-04 00:00:00.000000000 Z
14
+ date: 2013-04-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: multi_json
@@ -94,6 +94,7 @@ files:
94
94
  - test/cassettes/configuration/configuration.yml
95
95
  - test/cassettes/configuration/explore.yml
96
96
  - test/cassettes/decisions/analytics.yml
97
+ - test/cassettes/decisions/clone.yml
97
98
  - test/cassettes/decisions/create.yml
98
99
  - test/cassettes/decisions/destroy.yml
99
100
  - test/cassettes/decisions/flag.yml
@@ -177,6 +178,7 @@ test_files:
177
178
  - test/cassettes/configuration/configuration.yml
178
179
  - test/cassettes/configuration/explore.yml
179
180
  - test/cassettes/decisions/analytics.yml
181
+ - test/cassettes/decisions/clone.yml
180
182
  - test/cassettes/decisions/create.yml
181
183
  - test/cassettes/decisions/destroy.yml
182
184
  - test/cassettes/decisions/flag.yml