orbit_activities 0.0.1 → 0.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c26b382df27b22b7e81b7bea5245cf76057a6be007bade8477144edb19e21347
4
- data.tar.gz: a84f1efce2cc24565e5c7ed7b4f6aa18ee155ac483d1a8c05759df6c848fbddc
3
+ metadata.gz: f6d4b2a947aca843ad8d235f4aa45ec085ce630da23038b61158d814330c1eed
4
+ data.tar.gz: c55ab525549e1434fc11d655ba97bb9dbbcadca871233bb37fa6553d0a48b079
5
5
  SHA512:
6
- metadata.gz: af88365fa3a0d1ca59d0b1f54cb9204f9be397fe06394b4140f700e3b24ecc3711674cb8f4494e6bd2655dc92b6724b56e311bd577b295e64e30d40e0fb949e3
7
- data.tar.gz: 6cd5d2bfc5d0d8eaca37c4c0af8082e0008316d6fc5e67f1712274c998e13673105d07b8b0539a70af3b3955cf9b53ffb9e70bcd0ad0892ec55d4d765ac319ab
6
+ metadata.gz: c393d3604e519836588ddfdde415e3cf8663bf0b16c39de0fd703a634404d9acd06e7d5658e09e6bb454805feb63668916d364ebf0fd3bed86312b562c7087ab
7
+ data.tar.gz: 9f568b3ebc2b794a516066f78d1edda8501df96b2760cc109d1853f991b17e9500188418d4c0ba6e69c58b337bec54c9ce14c894c640d9eb70278713e8b84f30
@@ -0,0 +1,25 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ strategy:
12
+ matrix:
13
+ os: [ubuntu-latest, macos-latest]
14
+ ruby: [2.7, 3.0]
15
+ runs-on: ${{ matrix.os }}
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ - name: Install dependencies
23
+ run: bundle install
24
+ - name: Run tests
25
+ run: bundle exec rspec
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  .byebug_history
2
- .env
2
+ .env
3
+ *.gem
data/.rubocop.yml ADDED
@@ -0,0 +1,30 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.7
3
+ Exclude:
4
+ - 'spec/**/*'
5
+
6
+ Style/StringLiterals:
7
+ Enabled: true
8
+ EnforcedStyle: double_quotes
9
+
10
+ Style/StringLiteralsInInterpolation:
11
+ Enabled: true
12
+ EnforcedStyle: double_quotes
13
+
14
+ Layout/LineLength:
15
+ Max: 120
16
+
17
+ Metrics/MethodLength:
18
+ Enabled: false
19
+
20
+ Style/GuardClause:
21
+ Enabled: false
22
+
23
+ Style/Documentation:
24
+ Enabled: false
25
+
26
+ Metrics/AbcSize:
27
+ Enabled: false
28
+
29
+ Naming/AccessorMethodName:
30
+ Enabled: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- orbit_activities (0.0.1)
4
+ orbit_activities (0.2.2)
5
5
  http (~> 4.4)
6
6
  json (~> 2.5)
7
7
  rake (~> 13.0)
@@ -19,7 +19,7 @@ GEM
19
19
  diff-lcs (1.4.4)
20
20
  domain_name (0.5.20190701)
21
21
  unf (>= 0.0.5, < 1.0.0)
22
- ffi (1.15.0)
22
+ ffi (1.15.3)
23
23
  ffi-compiler (1.0.1)
24
24
  ffi (>= 1.0.0)
25
25
  rake
@@ -29,7 +29,7 @@ GEM
29
29
  http-cookie (~> 1.0)
30
30
  http-form_data (~> 2.2)
31
31
  http-parser (~> 1.2.0)
32
- http-cookie (1.0.3)
32
+ http-cookie (1.0.4)
33
33
  domain_name (~> 0.5)
34
34
  http-form_data (2.3.0)
35
35
  http-parser (1.2.3)
@@ -56,23 +56,23 @@ GEM
56
56
  diff-lcs (>= 1.2.0, < 2.0)
57
57
  rspec-support (~> 3.10.0)
58
58
  rspec-support (3.10.2)
59
- rubocop (1.14.0)
59
+ rubocop (1.17.0)
60
60
  parallel (~> 1.10)
61
61
  parser (>= 3.0.0.0)
62
62
  rainbow (>= 2.2.2, < 4.0)
63
63
  regexp_parser (>= 1.8, < 3.0)
64
64
  rexml
65
- rubocop-ast (>= 1.5.0, < 2.0)
65
+ rubocop-ast (>= 1.7.0, < 2.0)
66
66
  ruby-progressbar (~> 1.7)
67
67
  unicode-display_width (>= 1.4.0, < 3.0)
68
- rubocop-ast (1.5.0)
68
+ rubocop-ast (1.7.0)
69
69
  parser (>= 3.0.1.1)
70
70
  ruby-progressbar (1.11.0)
71
71
  unf (0.1.4)
72
72
  unf_ext
73
73
  unf_ext (0.0.7.7)
74
74
  unicode-display_width (2.0.0)
75
- webmock (3.12.2)
75
+ webmock (3.13.0)
76
76
  addressable (>= 2.3.6)
77
77
  crack (>= 0.3.2)
78
78
  hashdiff (>= 0.4.0, < 2.0.0)
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
- # Orbit API Create Custom Activities Helper
1
+ # Orbit Activities Helper Library for Ruby
2
2
 
3
- ![Build Status](https://github.com/orbit-love/ruby-create-activities/workflows/CI/badge.svg)
3
+ ![Build Status](https://github.com/orbit-love/ruby-orbit-activities/workflows/CI/badge.svg)
4
4
  [![Gem Version](https://badge.fury.io/rb/orbit_activities.svg)](https://badge.fury.io/rb/orbit_activities)
5
5
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)
6
6
 
7
- > This is a Ruby gem that can be included in any Ruby application to take care of the logic of interacting with the Orbit API to create custom activities.
7
+ > Orbit API helper library for Ruby. <br>This client can create, read, update and delete activities in your Orbit workspace.
8
8
 
9
- <hr />
9
+ <img src="https://github.com/orbit-love/js-orbit-activities/blob/bc4ce38a34af95e40b2c3e54ba44d3df6b3d3aac/.github/logo.png" alt="Orbit" style="max-width: 300px; margin: 2em 0;">
10
10
 
11
11
  ## Package Usage
12
12
 
@@ -20,19 +20,105 @@ gem "orbit_activities"
20
20
 
21
21
  Then, run `bundle install` from your terminal.
22
22
 
23
- ### Send Custom Activity
23
+ ### Usage
24
24
 
25
- To send a custom activity to Orbit using the gem, instantiate a new instance of the `Request` class:
25
+ #### Create an Activity
26
+
27
+ To create an activity:
28
+
29
+ ```ruby
30
+ OrbitActivities::Request.new(
31
+ api_key: # Your Orbit API key,
32
+ workspace_id: # Your Orbit workspace ID,
33
+ action: "new_activity",
34
+ body: # The custom activity object in JSON format, see Orbit API docs for reference
35
+ )
36
+ ```
37
+
38
+ You can inspect the Orbit API response by appending `.response` to the end of the initialization method.
39
+ #### Update an Activity
40
+
41
+ To update an activity:
42
+
43
+ ```ruby
44
+ OrbitActivities::Request.new(
45
+ api_key: # Your Orbit API key,
46
+ workspace_id: # Your Orbit workspace ID,
47
+ action: "update_activity",
48
+ activity_id: # The ID of the activity to be updated,
49
+ member_id: # The ID of the member the activity is attached to,
50
+ body: # The custom activity object in JSON format, see Orbit API docs for reference
51
+ )
52
+ ```
53
+
54
+ You can inspect the Orbit API response by appending `.response` to the end of the initialization method.
55
+ #### Delete an Activity
56
+
57
+ To delete an activity:
26
58
 
27
59
  ```ruby
28
60
  OrbitActivities::Request.new(
29
61
  api_key: # Your Orbit API key,
30
62
  workspace_id: # Your Orbit workspace ID,
31
- body: # The custom activity object
63
+ action: "delete_activity",
64
+ activity_id: # The ID of the activity to be updated,
65
+ member_id: # The ID of the member the activity is attached to
32
66
  )
33
67
  ```
34
68
 
35
- For details on the data structure the Orbit API expects for a custom activity object, refer to the [Orbit API Documentation](https://docs.orbit.love/reference#post_-workspace-id-activities).
69
+ You can inspect the Orbit API response by appending `.response` to the end of the initialization method.
70
+ #### List Activities
71
+
72
+ To list activities:
73
+
74
+ ```ruby
75
+ OrbitActivities::Request.new(
76
+ api_key: # Your Orbit API key,
77
+ workspace_id: # Your Orbit workspace ID,
78
+ action: "list_activities",
79
+ filters: # Any filters on the request in JSON format, see Orbit API docs for reference
80
+ ).response
81
+ ```
82
+ #### Get Specific Activity
83
+
84
+ To get a specific activity:
85
+
86
+ ```ruby
87
+ OrbitActivities::Request.new(
88
+ api_key: # Your Orbit API key,
89
+ workspace_id: # Your Orbit workspace ID,
90
+ action: "get_activity",
91
+ activity_id: # The ID of the actiivity
92
+ ).response
93
+ ```
94
+ #### Get Member Activities
95
+
96
+ To get activities associated with a specific member:
97
+
98
+ ```ruby
99
+ OrbitActivities::Request.new(
100
+ api_key: # Your Orbit API key,
101
+ workspace_id: # Your Orbit workspace ID,
102
+ action: "list_member_activities",
103
+ activity_id: # The ID of the actiivity,
104
+ member_id: # The ID of the member,
105
+ filters: # Any filters on the request in JSON format, see Orbit API docs for reference
106
+ ).response
107
+ ```
108
+ #### Get Latest Activity Timestamp for Activity Type
109
+
110
+ To get the latest activity timestamp for a specific activity type:
111
+
112
+ ```ruby
113
+ OrbitActivities::Request.new(
114
+ api_key: # Your Orbit API key,
115
+ workspace_id: # Your Orbit workspace ID,
116
+ action: "latest_activity_timestamp",
117
+ filters: { activity_type: # Activity type to search for, e.g. "custom:linkedin:comment" }
118
+ ).response
119
+ ```
120
+
121
+ For details on the data structures the Orbit API expects, refer to the [Orbit API Documentation](https://docs.orbit.love/reference).
36
122
 
37
123
  ## Contributing
38
124
 
@@ -44,4 +130,4 @@ This is available as open source under the terms of the [MIT License](LICENSE).
44
130
 
45
131
  ## Code of Conduct
46
132
 
47
- This project uses the [Contributor Code of Conduct](CODE_OF_CONDUCT.md). We ask everyone to please adhere by its guidelines.
133
+ This project uses the [Contributor Code of Conduct](CODE_OF_CONDUCT.md). We ask everyone to please adhere by its guidelines.
@@ -8,4 +8,4 @@ module OrbitActivities
8
8
  loader.tag = File.basename(__FILE__, ".rb")
9
9
  loader.push_dir(__dir__)
10
10
  loader.setup
11
- end
11
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "net/http"
4
+ require "json"
5
+ require_relative "utils"
6
+
7
+ module OrbitActivities
8
+ class HTTP
9
+ def self.post(url:, user_agent:, api_key:, body:)
10
+ url = URI(url)
11
+
12
+ http = Net::HTTP.new(url.host, url.port)
13
+ http.use_ssl = true
14
+ req = Net::HTTP::Post.new(url)
15
+ req["Accept"] = "application/json"
16
+ req["Content-Type"] = "application/json"
17
+ req["Authorization"] = "Bearer #{api_key}"
18
+ req["User-Agent"] = user_agent
19
+
20
+ req.body = body
21
+
22
+ response = http.request(req)
23
+
24
+ validate_payload(response.body)
25
+ end
26
+
27
+ def self.get(url:, user_agent:, api_key:, filters: nil)
28
+ url = URI(url)
29
+ url.query = URI.encode_www_form(filters) if filters
30
+
31
+ http = Net::HTTP.new(url.host, url.port)
32
+ http.use_ssl = true
33
+ req = Net::HTTP::Get.new(url)
34
+ req["Accept"] = "application/json"
35
+ req["Authorization"] = "Bearer #{api_key}"
36
+ req["User-Agent"] = user_agent
37
+
38
+ response = http.request(req)
39
+
40
+ validate_payload(response.body)
41
+ end
42
+
43
+ def self.delete(url:, user_agent:, api_key:)
44
+ url = URI(url)
45
+
46
+ http = Net::HTTP.new(url.host, url.port)
47
+ http.use_ssl = true
48
+
49
+ req = Net::HTTP::Delete.new(url)
50
+ req["Authorization"] = "Bearer #{api_key}"
51
+ req["User-Agent"] = user_agent
52
+
53
+ response = http.request(req)
54
+
55
+ return "Deletion successful" if response.code == "204" || response.code == "200"
56
+
57
+ raise ArgumentError, response.message if response.code != "204" || response.code != "200"
58
+ end
59
+
60
+ def self.put(url:, user_agent:, api_key:, body:)
61
+ url = URI(url)
62
+
63
+ http = Net::HTTP.new(url.host, url.port)
64
+ http.use_ssl = true
65
+ req = Net::HTTP::Put.new(url)
66
+ req["Accept"] = "application/json"
67
+ req["Content-Type"] = "application/json"
68
+ req["Authorization"] = "Bearer #{api_key}"
69
+ req["User-Agent"] = user_agent
70
+
71
+ req.body = body
72
+
73
+ response = http.request(req)
74
+
75
+ return "Update successful" if response.code == "204" || response.code == "200"
76
+
77
+ raise ArgumentError, response.message if response.code != "204" || response.code != "200"
78
+ end
79
+
80
+ def self.validate_payload(payload)
81
+ JSON.parse(payload) if OrbitActivities::Utils.valid_json?(payload)
82
+ end
83
+ end
84
+ end
@@ -1,53 +1,128 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "net/http"
4
- require "json"
5
- require_relative "utils"
3
+ require_relative "http"
6
4
 
7
5
  module OrbitActivities
8
- class Request
9
- attr_reader :api_key, :workspace_id, :user_agent, :body
6
+ class Request
7
+ attr_reader :api_key, :workspace_id, :user_agent, :action, :body, :filters, :member_id, :activity_id
8
+ attr_accessor :response
10
9
 
11
- def initialize(params = {})
12
- @api_key = params.fetch(:api_key)
13
- @workspace_id = params.fetch(:workspace_id)
14
- @user_agent = params.fetch(:user_agent, "ruby-orbit-activities/#{OrbitActivities::VERSION}")
15
- @body = params.fetch(:body)
10
+ def initialize(params = {})
11
+ @action = params.fetch(:action)
12
+ @api_key = params.fetch(:api_key)
13
+ @workspace_id = params.fetch(:workspace_id)
14
+ @user_agent = params.fetch(:user_agent, "ruby-orbit-activities/#{OrbitActivities::VERSION}")
15
+ @body = params.fetch(:body, nil)
16
+ @filters = params.fetch(:filters, nil)
17
+ @member_id = params.fetch(:member_id, nil)
18
+ @activity_id = params.fetch(:activity_id, nil)
19
+ @response = nil
16
20
 
17
- after_initialize!
18
- end
21
+ after_initialize!
22
+ end
23
+
24
+ def after_initialize!
25
+ case @action
26
+ when "new_activity"
27
+ new_activity
28
+ when "list_activities"
29
+ list_activities
30
+ when "get_activity"
31
+ get_activity
32
+ when "list_member_activities"
33
+ list_member_activities
34
+ when "create_post"
35
+ create_post
36
+ when "delete_post"
37
+ delete_post
38
+ when "update_activity"
39
+ update_activity
40
+ when "latest_activity_timestamp"
41
+ latest_activity_timestamp
42
+ else
43
+ raise ArgumentError,
44
+ "Activity type is unrecognized. Must be one of: new_activity, list_activities, get_activity, list_member_activities, create_post, delete_post, update_activity"
45
+ end
46
+ end
47
+
48
+ def new_activity
49
+ @response = OrbitActivities::HTTP.post(
50
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities",
51
+ user_agent: @user_agent,
52
+ api_key: @api_key,
53
+ body: @body
54
+ )
55
+ end
56
+
57
+ def list_activities
58
+ @response = OrbitActivities::HTTP.get(
59
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities",
60
+ user_agent: @user_agent,
61
+ api_key: @api_key,
62
+ filters: @filters
63
+ )
64
+ end
19
65
 
20
- def after_initialize!
21
- call
22
- end
66
+ def latest_activity_timestamp
67
+ filters = {
68
+ items: 10,
69
+ direction: "DESC"
70
+ }
71
+ filters.merge!(@filters)
23
72
 
24
- def call
25
- payload = make_request
26
- validate_payload(payload)
27
- end
73
+ response = OrbitActivities::HTTP.get(
74
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities",
75
+ user_agent: @user_agent,
76
+ api_key: @api_key,
77
+ filters: filters
78
+ )
28
79
 
29
- def make_request
30
- url = URI("https://app.orbit.love/api/v1/#{@workspace_id}/activities")
80
+ return nil if response["data"].nil? || response["data"].empty?
31
81
 
32
- http = Net::HTTP.new(url.host, url.port)
33
- http.use_ssl = true
34
- req = Net::HTTP::Post.new(url)
35
- req["Accept"] = "application/json"
36
- req["Content-Type"] = "application/json"
37
- req["Authorization"] = "Bearer #{@api_key}"
38
- req["User-Agent"] = @user_agent
82
+ @response = response["data"][0]["attributes"]["created_at"]
83
+ end
39
84
 
40
- req.body = @body
85
+ def get_activity
86
+ @response = OrbitActivities::HTTP.get(
87
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/activities/#{@activity_id}",
88
+ user_agent: @user_agent,
89
+ api_key: @api_key
90
+ )
91
+ end
41
92
 
42
- req.body = @body.to_json
93
+ def list_member_activities
94
+ @response = OrbitActivities::HTTP.get(
95
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities",
96
+ user_agent: @user_agent,
97
+ api_key: @api_key,
98
+ filters: @filters
99
+ )
100
+ end
43
101
 
44
- response = http.request(req)
102
+ def create_post
103
+ @response = OrbitActivities::HTTP.post(
104
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities",
105
+ user_agent: @user_agent,
106
+ api_key: @api_key,
107
+ body: @body
108
+ )
109
+ end
45
110
 
46
- response.body
47
- end
111
+ def delete_post
112
+ @response = OrbitActivities::HTTP.delete(
113
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities/#{@activity_id}",
114
+ user_agent: @user_agent,
115
+ api_key: @api_key
116
+ )
117
+ end
48
118
 
49
- def validate_payload(payload)
50
- JSON.parse(payload) if OrbitActivities::Utils.valid_json?(payload)
51
- end
119
+ def update_activity
120
+ @response = OrbitActivities::HTTP.put(
121
+ url: "https://app.orbit.love/api/v1/#{@workspace_id}/members/#{@member_id}/activities/#{@activity_id}",
122
+ user_agent: @user_agent,
123
+ api_key: @api_key,
124
+ body: @body
125
+ )
52
126
  end
53
- end
127
+ end
128
+ end
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OrbitActivities
4
- class Utils
5
- def self.valid_json?(string)
6
- !JSON.parse(string).nil?
7
- rescue JSON::ParserError
8
- raise ArgumentError, "Expected confirmation from the Orbit API, but received nothing. Please check your logs and try again."
9
- end
4
+ class Utils
5
+ def self.valid_json?(string)
6
+ !JSON.parse(string).nil?
7
+ rescue JSON::ParserError
8
+ raise ArgumentError,
9
+ "Expected confirmation from the Orbit API, but received nothing. Please check your logs and try again."
10
10
  end
11
- end
11
+ end
12
+ end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OrbitActivities
4
- VERSION = "0.0.1"
5
- end
6
-
4
+ VERSION = "0.2.2"
5
+ end
@@ -28,10 +28,10 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_dependency "http", "~> 4.4"
30
30
  spec.add_dependency "json", "~> 2.5"
31
- spec.add_dependency "zeitwerk", "~> 2.4"
32
31
  spec.add_dependency "rake", "~> 13.0"
32
+ spec.add_dependency "zeitwerk", "~> 2.4"
33
+ spec.add_development_dependency "byebug"
33
34
  spec.add_development_dependency "rspec", "~> 3.4"
34
- spec.add_development_dependency "webmock", "~> 3.12"
35
35
  spec.add_development_dependency "rubocop", "~> 1.7"
36
- spec.add_development_dependency "byebug"
37
- end
36
+ spec.add_development_dependency "webmock", "~> 3.12"
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orbit_activities
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Orbit DevRel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-13 00:00:00.000000000 Z
12
+ date: 2021-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: http
@@ -40,61 +40,61 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '2.5'
42
42
  - !ruby/object:Gem::Dependency
43
- name: zeitwerk
43
+ name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.4'
48
+ version: '13.0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.4'
55
+ version: '13.0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: rake
57
+ name: zeitwerk
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '13.0'
62
+ version: '2.4'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '13.0'
69
+ version: '2.4'
70
70
  - !ruby/object:Gem::Dependency
71
- name: rspec
71
+ name: byebug
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '3.4'
76
+ version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '3.4'
83
+ version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: webmock
85
+ name: rspec
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '3.12'
90
+ version: '3.4'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '3.12'
97
+ version: '3.4'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rubocop
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -110,19 +110,19 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '1.7'
112
112
  - !ruby/object:Gem::Dependency
113
- name: byebug
113
+ name: webmock
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: '3.12'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '3.12'
126
126
  description: This gem helps you build custom activities for Orbit workspaces using
127
127
  the Orbit API
128
128
  email:
@@ -133,7 +133,9 @@ executables:
133
133
  extensions: []
134
134
  extra_rdoc_files: []
135
135
  files:
136
+ - ".github/workflows/ci.yml"
136
137
  - ".gitignore"
138
+ - ".rubocop.yml"
137
139
  - CODE_OF_CONDUCT.md
138
140
  - CONTRIBUTING.md
139
141
  - Gemfile
@@ -143,6 +145,7 @@ files:
143
145
  - bin/console
144
146
  - bin/setup
145
147
  - lib/orbit_activities.rb
148
+ - lib/orbit_activities/http.rb
146
149
  - lib/orbit_activities/request.rb
147
150
  - lib/orbit_activities/utils.rb
148
151
  - lib/orbit_activities/version.rb