Class: OrbitActivities::Request
- Inherits:
-
Object
- Object
- OrbitActivities::Request
- Defined in:
- lib/orbit_activities/request.rb
Instance Attribute Summary collapse
-
#action ⇒ Object
readonly
Returns the value of attribute action.
-
#activity_id ⇒ Object
readonly
Returns the value of attribute activity_id.
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
-
#body ⇒ Object
readonly
Returns the value of attribute body.
-
#filters ⇒ Object
readonly
Returns the value of attribute filters.
-
#member_id ⇒ Object
readonly
Returns the value of attribute member_id.
-
#response ⇒ Object
Returns the value of attribute response.
-
#user_agent ⇒ Object
readonly
Returns the value of attribute user_agent.
-
#workspace_id ⇒ Object
readonly
Returns the value of attribute workspace_id.
Instance Method Summary collapse
- #after_initialize! ⇒ Object
- #create_post ⇒ Object
- #delete_post ⇒ Object
- #get_activity ⇒ Object
-
#initialize(params = {}) ⇒ Request
constructor
A new instance of Request.
- #latest_activity_timestamp ⇒ Object
- #list_activities ⇒ Object
- #list_member_activities ⇒ Object
- #new_activity ⇒ Object
- #update_activity ⇒ Object
Constructor Details
#initialize(params = {}) ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/orbit_activities/request.rb', line 10 def initialize(params = {}) @action = params.fetch(:action) @api_key = params.fetch(:api_key) @workspace_id = params.fetch(:workspace_id) @user_agent = params.fetch(:user_agent, "ruby-orbit-activities/#{OrbitActivities::VERSION}") @body = params.fetch(:body, nil) @filters = params.fetch(:filters, nil) @member_id = params.fetch(:member_id, nil) @activity_id = params.fetch(:activity_id, nil) @response = nil after_initialize! end |
Instance Attribute Details
#action ⇒ Object (readonly)
Returns the value of attribute action.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def action @action end |
#activity_id ⇒ Object (readonly)
Returns the value of attribute activity_id.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def activity_id @activity_id end |
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def api_key @api_key end |
#body ⇒ Object (readonly)
Returns the value of attribute body.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def body @body end |
#filters ⇒ Object (readonly)
Returns the value of attribute filters.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def filters @filters end |
#member_id ⇒ Object (readonly)
Returns the value of attribute member_id.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def member_id @member_id end |
#response ⇒ Object
Returns the value of attribute response.
8 9 10 |
# File 'lib/orbit_activities/request.rb', line 8 def response @response end |
#user_agent ⇒ Object (readonly)
Returns the value of attribute user_agent.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def user_agent @user_agent end |
#workspace_id ⇒ Object (readonly)
Returns the value of attribute workspace_id.
7 8 9 |
# File 'lib/orbit_activities/request.rb', line 7 def workspace_id @workspace_id end |
Instance Method Details
#after_initialize! ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/orbit_activities/request.rb', line 24 def after_initialize! case @action when "new_activity" new_activity when "list_activities" list_activities when "get_activity" get_activity when "list_member_activities" list_member_activities when "create_post" create_post when "delete_post" delete_post when "update_activity" update_activity when "latest_activity_timestamp" else raise ArgumentError, "Activity type is unrecognized. Must be one of: new_activity, list_activities, get_activity, list_member_activities, create_post, delete_post, update_activity" end end |
#create_post ⇒ Object
102 103 104 105 106 107 108 109 |
# File 'lib/orbit_activities/request.rb', line 102 def create_post @response = OrbitActivities::HTTP.post( url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities", user_agent: @user_agent, api_key: @api_key, body: @body ) end |
#delete_post ⇒ Object
111 112 113 114 115 116 117 |
# File 'lib/orbit_activities/request.rb', line 111 def delete_post @response = OrbitActivities::HTTP.delete( url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities/#{@activity_id}", user_agent: @user_agent, api_key: @api_key ) end |
#get_activity ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/orbit_activities/request.rb', line 85 def get_activity @response = OrbitActivities::HTTP.get( url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities/#{@activity_id}", user_agent: @user_agent, api_key: @api_key ) end |
#latest_activity_timestamp ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/orbit_activities/request.rb', line 66 def filters = { items: 10, direction: "DESC" } filters.merge!(@filters) response = OrbitActivities::HTTP.get( url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities", user_agent: @user_agent, api_key: @api_key, filters: filters ) return nil if response["data"].nil? || response["data"].empty? @response = response["data"][0]["attributes"]["created_at"] end |
#list_activities ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/orbit_activities/request.rb', line 57 def list_activities @response = OrbitActivities::HTTP.get( url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities", user_agent: @user_agent, api_key: @api_key, filters: @filters ) end |
#list_member_activities ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'lib/orbit_activities/request.rb', line 93 def list_member_activities @response = OrbitActivities::HTTP.get( url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities", user_agent: @user_agent, api_key: @api_key, filters: @filters ) end |
#new_activity ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/orbit_activities/request.rb', line 48 def new_activity @response = OrbitActivities::HTTP.post( url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities", user_agent: @user_agent, api_key: @api_key, body: @body ) end |
#update_activity ⇒ Object
119 120 121 122 123 124 125 126 |
# File 'lib/orbit_activities/request.rb', line 119 def update_activity @response = OrbitActivities::HTTP.put( url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities/#{@activity_id}", user_agent: @user_agent, api_key: @api_key, body: @body ) end |