Module: Totter::Client::Decisions

Included in:
Totter::Client
Defined in:
lib/totter/client/decisions.rb

Overview

Client methods for working with decisions.

Instance Method Summary collapse

Instance Method Details

#clone_decision(user_id, decision_id, question = nil) ⇒ Hashie::Mash

Clone a decision

Examples:

Totter.clone_decision(1, 2)

Parameters:

  • decision_id (Numeric)

    A Seesaw decision id

  • user_id (Numeric)

    A Seesaw user id

Returns:

  • (Hashie::Mash)


33
34
35
# File 'lib/totter/client/decisions.rb', line 33

def clone_decision(user_id, decision_id, question = nil)
  post("users/#{user_id}/decisions/#{decision_id}/clone", :question => question).body
end

#create_decision(user_id) ⇒ Hashie::Mash

Create a decision

Examples:

Totter.create_decision(1)

Parameters:

  • user_id (Numeric)

    A Seesaw user id

Returns:

  • (Hashie::Mash)


22
23
24
# File 'lib/totter/client/decisions.rb', line 22

def create_decision(user_id)
  post("users/#{user_id}/decisions").body
end

#decision(user_id, decision_id) ⇒ Hashie::Mash

Get a single decision

Examples:

Totter.decision(1, 1)

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

Returns:

  • (Hashie::Mash)


12
13
14
# File 'lib/totter/client/decisions.rb', line 12

def decision(user_id, decision_id)
  get("users/#{user_id}/decisions/#{decision_id}").body
end

#decision_analytics(user_id, decision_id) ⇒ Hashie::Mash

Get decision analytics

Examples:

Totter.decision_analytics(1, 1)

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

Returns:

  • (Hashie::Mash)


75
76
77
# File 'lib/totter/client/decisions.rb', line 75

def decision_analytics(user_id, decision_id)
  get("users/#{user_id}/decisions/#{decision_id}/analytics").body
end

#destroy_decision(user_id, decision_id) ⇒ Boolean

Destroy a decision

Examples:

Totter.destroy_decision(1, 1)

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

Returns:

  • (Boolean)

    True if follow was successful, false otherwise.



64
65
66
# File 'lib/totter/client/decisions.rb', line 64

def destroy_decision(user_id, decision_id)
  boolean_from_response(:delete, "users/#{user_id}/decisions/#{decision_id}")
end

#flag_decision(user_id, decision_id) ⇒ Boolean

Flag a decision for content review

Examples:

Totter.flag_decision(1, 1)

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

Returns:

  • (Boolean)

    True if follow was successful, false otherwise.



86
87
88
# File 'lib/totter/client/decisions.rb', line 86

def flag_decision(user_id, decision_id)
  boolean_from_response(:post, "users/#{user_id}/decisions/#{decision_id}/flag")
end

#publish_decision(user_id, decision_id, options = {}) ⇒ Hashie::Mash

Publish a decision

Examples:

Totter.publish_decision(1, 1, question: 'Why is the sky blue?')

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

  • options (Hash) (defaults to: {})

    Decision options

Options Hash (options):

  • :question (String)

    The question for the decision

  • :latitude (Numeric)

    Latitude

  • :longitude (Numeric)

    Longitude

  • :choice_attributes (Hash)

    Additional attributes for decision choices

Returns:

  • (Hashie::Mash)


49
50
51
52
53
54
55
# File 'lib/totter/client/decisions.rb', line 49

def publish_decision(user_id, decision_id, options = {})
  decision_options = {
    :decision => options
  }

  post("users/#{user_id}/decisions/#{decision_id}/publish", decision_options).body
end

#unflag_decision(user_id, decision_id) ⇒ Boolean

Unflag a decision for content review

Examples:

Totter.unflag_decision(1, 1)

Parameters:

  • user_id (Numeric)

    The decision’s user id

  • decision_id (Numeric)

    The decision’s id

Returns:

  • (Boolean)

    True if follow was successful, false otherwise.



97
98
99
# File 'lib/totter/client/decisions.rb', line 97

def unflag_decision(user_id, decision_id)
  boolean_from_response(:post, "users/#{user_id}/decisions/#{decision_id}/unflag")
end