teleflow 2.0.0
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 +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +19 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +20 -0
- data/LICENSE.txt +21 -0
- data/README.md +952 -0
- data/Rakefile +13 -0
- data/lib/teleflow/api/blueprints.rb +29 -0
- data/lib/teleflow/api/changes.rb +58 -0
- data/lib/teleflow/api/connection.rb +62 -0
- data/lib/teleflow/api/environments.rb +91 -0
- data/lib/teleflow/api/events.rb +88 -0
- data/lib/teleflow/api/execution_details.rb +25 -0
- data/lib/teleflow/api/feeds.rb +44 -0
- data/lib/teleflow/api/inbound_parse.rb +17 -0
- data/lib/teleflow/api/integrations.rb +116 -0
- data/lib/teleflow/api/layouts.rb +106 -0
- data/lib/teleflow/api/messages.rb +40 -0
- data/lib/teleflow/api/notification.rb +63 -0
- data/lib/teleflow/api/notification_groups.rb +32 -0
- data/lib/teleflow/api/notification_templates.rb +125 -0
- data/lib/teleflow/api/organizations.rb +81 -0
- data/lib/teleflow/api/subscribers.rb +301 -0
- data/lib/teleflow/api/tenants.rb +82 -0
- data/lib/teleflow/api/topics.rb +115 -0
- data/lib/teleflow/client.rb +97 -0
- data/lib/teleflow/version.rb +5 -0
- data/lib/teleflow.rb +13 -0
- data/sig/teleflow.rbs +4 -0
- data/techstack.md +125 -0
- data/techstack.yml +152 -0
- metadata +140 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teleflow
|
4
|
+
class Api
|
5
|
+
# Module Teleflow::Api::Tenants provides an API for managing tenants in the Teleflow application.
|
6
|
+
#
|
7
|
+
# This module includes methods for creating, retrieving, updating and deleting tenant.
|
8
|
+
#
|
9
|
+
# For more information on the tenants feature (https://docs.teleflow.khulnasoft.com/tenants/introduction),
|
10
|
+
# for API documentation see https://docs.teleflow.khulnasoft.com/api-reference/tenants/get-tenants.
|
11
|
+
module Tenants
|
12
|
+
# Create a tenant
|
13
|
+
#
|
14
|
+
# @bodyparams:
|
15
|
+
# @param `identifier` [String] - A unique value, and can be used later when pointing to this tenant during trigger calls.
|
16
|
+
# @param `name` [String] - A human-readable name of the tenant.
|
17
|
+
# @param `data` [Hash] - A custom data object that can store information about the tenant.
|
18
|
+
#
|
19
|
+
# @return [Hash] data - The list of information with respect to the created tenant are successfully returned.
|
20
|
+
# @return [number] status - The status code. Returns 200 if the tenant has been successfully created.
|
21
|
+
def create_tenant(body)
|
22
|
+
post("/tenants", body: body)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Returns a list of tenant that can be paginated using the `page` query parameter and
|
26
|
+
# set the number of tenants to be with the `limit` query parameter
|
27
|
+
#
|
28
|
+
# @queryparams:
|
29
|
+
# @param `page` [Integer(optional)] - Number of page for the pagination.
|
30
|
+
# @param `limit` [Integer(optional)] - Size of page for the pagination.
|
31
|
+
#
|
32
|
+
# @return [Hash] data - The list of tenants that match the criteria of the query params are successfully returned.
|
33
|
+
# @return [Boolean] hasMore - To specify if the list have more items to fetch
|
34
|
+
# @return [number] page - The current page of the paginated response
|
35
|
+
# @return [number] pageSize - The number of size of each page
|
36
|
+
# @return [number] status
|
37
|
+
# - Returns 200 if successful
|
38
|
+
def tenants(query = {})
|
39
|
+
get("/tenants", query: query)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Get a tenant by the tenant identifier
|
43
|
+
#
|
44
|
+
# @pathparams
|
45
|
+
# @param `identifier` [String]
|
46
|
+
#
|
47
|
+
# @return [Hash] data -The retrieved topic.
|
48
|
+
# @return [number] status
|
49
|
+
# - Returns 200 if successful
|
50
|
+
def tenant(identifier)
|
51
|
+
get("/tenants/#{identifier}")
|
52
|
+
end
|
53
|
+
|
54
|
+
# Update a tenant
|
55
|
+
#
|
56
|
+
# @pathparams
|
57
|
+
# @param `identifier` [String]
|
58
|
+
#
|
59
|
+
# @bodyparams:
|
60
|
+
# @param `identifier` [String] - A unique value, and can be used later when pointing to this tenant during trigger calls.
|
61
|
+
# @param `name` [String] - A human-readable name of the tenant.
|
62
|
+
# @param `data` [Hash] - A custom data object that can store information about the tenant. This data can be later accessed inside workflows.
|
63
|
+
#
|
64
|
+
# @return [Hash] data - The list of information with respect to the created tenant are successfully returned.
|
65
|
+
# @return [number] status - The status code. Returns 200 if the tenant has been successfully created.
|
66
|
+
def update_tenant(identifier, body)
|
67
|
+
patch("/tenants/#{identifier}", body: body)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Using a previously create identifier during the tenant ceation, will cancel any active or pending workflows.
|
71
|
+
# This is useful to cancel active digests, delays etc...
|
72
|
+
#
|
73
|
+
# @pathparams:
|
74
|
+
# @param `identifier` [String] - identifier of the tenant
|
75
|
+
#
|
76
|
+
# @return [number] status - The status code. Returns 200 if the event has been successfully cancelled.
|
77
|
+
def delete_tenant(identifier)
|
78
|
+
delete("/tenants/#{identifier}")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teleflow
|
4
|
+
class Api
|
5
|
+
# Module Teleflow::Api::Topics provides an API for managing topics in the Teleflow application.
|
6
|
+
#
|
7
|
+
# This module includes methods for creating and retrieving and updating topic.
|
8
|
+
# It also includes methods for subscriber addition and removal.
|
9
|
+
#
|
10
|
+
# For more information on the Teleflow API(https://api-teleflow.khulnasoft.com/api#/Topics), see https://docs.teleflow.khulnasoft.com/api/topic-creation/.
|
11
|
+
module Topics
|
12
|
+
# Create a topic
|
13
|
+
#
|
14
|
+
# @bodyparams:
|
15
|
+
# @param `key` [String] User defined custom key and provided by the user that will be an unique identifier for the Topic created.
|
16
|
+
# @param `name` [String] User defined custom name and provided by the user that will name the Topic created.
|
17
|
+
#
|
18
|
+
# @return [number] status - The status code. Returns 201 if the topic has been successfully created.
|
19
|
+
def create_topic(body)
|
20
|
+
post("/topics", body: body)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Returns a list of topics that can be paginated using the `page` query parameter and
|
24
|
+
# filtered by the topic key with the `key` query parameter
|
25
|
+
#
|
26
|
+
# @queryparams:
|
27
|
+
# @param `page` [Integer(optional)] Number of page for the pagination.
|
28
|
+
# @param `pageSize` [Integer(optional)] Size of page for the pagination.
|
29
|
+
# @param `key` [String(optional)] Topic key.
|
30
|
+
#
|
31
|
+
# @return [Hash] The list of topics that match the criteria of the query params are successfully returned.
|
32
|
+
# @return [number] status
|
33
|
+
# - Returns 200 if successful
|
34
|
+
def topics(query = {})
|
35
|
+
get("/topics", query: query)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Add subscribers to a topic by key
|
39
|
+
#
|
40
|
+
# @pathparams
|
41
|
+
# @param `topic_key` [String]
|
42
|
+
|
43
|
+
# @bodyparams:
|
44
|
+
# @param `subscribers` [Array] List of subscriber identifiers that will be associated to the topic
|
45
|
+
#
|
46
|
+
# @return [number] status - The status code. Returns 204 if successfully add subscribers to a topic by key.
|
47
|
+
def add_subscribers(topic_key, body)
|
48
|
+
post("/topics/#{topic_key}/subscribers", body: body)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Remove subscribers from a topic
|
52
|
+
#
|
53
|
+
# @pathparams
|
54
|
+
# @param `topic_key` [String]
|
55
|
+
|
56
|
+
# @bodyparams:
|
57
|
+
# @param `subscribers` [Array] List of subscriber identifiers that will be removed to the topic
|
58
|
+
#
|
59
|
+
# @return [number] status - The status code. Returns 204 if successfully remove subscribers to a topic by key.
|
60
|
+
def remove_subscribers(topic_key, body)
|
61
|
+
post("/topics/#{topic_key}/subscribers/removal", body: body)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Check topic subsriber
|
65
|
+
# Check if a subscriber belongs to a certain topic
|
66
|
+
#
|
67
|
+
# @pathparams
|
68
|
+
# @param `topic_key` [String]
|
69
|
+
# @param `externalSubscriberId` [String] The id of the subscriber created on `/subscribers` endpoint
|
70
|
+
#
|
71
|
+
# @return [number] status - The status code. Returns 200 if subscriber was added to the topic.
|
72
|
+
def subscriber_topic(topic_key, externalSubscriberId)
|
73
|
+
get("/topics/#{topic_key}/subscribers/#{externalSubscriberId}")
|
74
|
+
end
|
75
|
+
|
76
|
+
# Get a topic by its topic key
|
77
|
+
#
|
78
|
+
# @pathparams
|
79
|
+
# @param `topic_key` [String]
|
80
|
+
#
|
81
|
+
# @return [Hash] The retrieved topic.
|
82
|
+
# @return [number] status
|
83
|
+
# - Returns 200 if successful
|
84
|
+
def topic(topic_key)
|
85
|
+
get("/topics/#{topic_key}")
|
86
|
+
end
|
87
|
+
|
88
|
+
# Rename a topic by providing a new name
|
89
|
+
#
|
90
|
+
# @pathparams
|
91
|
+
# @param `topic_key` [String]
|
92
|
+
#
|
93
|
+
# @bodyparams:
|
94
|
+
# @param `name` [String] User defined custom name and provided by the user to rename the topic.
|
95
|
+
#
|
96
|
+
# @return [Hash] Updated topic enitiy.
|
97
|
+
# @return [number] status
|
98
|
+
# - Returns 200 if successful
|
99
|
+
def rename_topic(topic_key, body)
|
100
|
+
patch("/topics/#{topic_key}", body: body)
|
101
|
+
end
|
102
|
+
|
103
|
+
# Delete topic
|
104
|
+
# Delete a topic by its topic key if it has no subscribers
|
105
|
+
#
|
106
|
+
# @pathparams
|
107
|
+
# @param `topic_key` [String]
|
108
|
+
#
|
109
|
+
# @return [number] status - The status code. Returns 204 if successfully deleted topic.
|
110
|
+
def delete_topic(topic_key)
|
111
|
+
delete("/topics/#{topic_key}")
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "teleflow/api/blueprints"
|
4
|
+
require "teleflow/api/changes"
|
5
|
+
require "teleflow/api/connection"
|
6
|
+
require "teleflow/api/environments"
|
7
|
+
require "teleflow/api/events"
|
8
|
+
require "teleflow/api/execution_details"
|
9
|
+
require "teleflow/api/feeds"
|
10
|
+
require "teleflow/api/inbound_parse"
|
11
|
+
require "teleflow/api/integrations"
|
12
|
+
require "teleflow/api/layouts"
|
13
|
+
require "teleflow/api/messages"
|
14
|
+
require "teleflow/api/notification_groups"
|
15
|
+
require "teleflow/api/notification_templates"
|
16
|
+
require "teleflow/api/notification"
|
17
|
+
require "teleflow/api/organizations"
|
18
|
+
require "teleflow/api/subscribers"
|
19
|
+
require "teleflow/api/tenants"
|
20
|
+
require "teleflow/api/topics"
|
21
|
+
require_relative "version"
|
22
|
+
|
23
|
+
module Teleflow
|
24
|
+
class Client
|
25
|
+
include HTTParty
|
26
|
+
include Teleflow::Api::Blueprints
|
27
|
+
include Teleflow::Api::Changes
|
28
|
+
include Teleflow::Api::Connection
|
29
|
+
include Teleflow::Api::Environments
|
30
|
+
include Teleflow::Api::Events
|
31
|
+
include Teleflow::Api::ExecutionDetails
|
32
|
+
include Teleflow::Api::Feeds
|
33
|
+
include Teleflow::Api::InboundParse
|
34
|
+
include Teleflow::Api::Integrations
|
35
|
+
include Teleflow::Api::Layouts
|
36
|
+
include Teleflow::Api::Messages
|
37
|
+
include Teleflow::Api::NotificationGroups
|
38
|
+
include Teleflow::Api::NotificationTemplates
|
39
|
+
include Teleflow::Api::Notification
|
40
|
+
include Teleflow::Api::Organizations
|
41
|
+
include Teleflow::Api::Subscribers
|
42
|
+
include Teleflow::Api::Tenants
|
43
|
+
include Teleflow::Api::Topics
|
44
|
+
|
45
|
+
format :json
|
46
|
+
|
47
|
+
attr_accessor :enable_retry, :max_retries, :initial_delay, :max_delay, :idempotency_key
|
48
|
+
|
49
|
+
# @param `access_token` [String]
|
50
|
+
# @param `idempotency_key` [String]
|
51
|
+
# @param `enable_retry` [Boolean]
|
52
|
+
# @param `retry_config` [Hash]
|
53
|
+
# - max_retries [Integer]
|
54
|
+
# - initial_delay [Integer]
|
55
|
+
# - max_delay [Integer]
|
56
|
+
def initialize(access_token: nil, idempotency_key: nil, enable_retry: false, retry_config: {}, backend_url: "https://api-teleflow.khulnasoft.com/v1")
|
57
|
+
raise ArgumentError, "Api Key cannot be blank or nil" if access_token.blank?
|
58
|
+
|
59
|
+
@idempotency_key = idempotency_key.blank? ? UUID.new.generate : idempotency_key
|
60
|
+
|
61
|
+
@enable_retry = enable_retry
|
62
|
+
@access_token = access_token.to_s.strip
|
63
|
+
@retry_attempts = 0
|
64
|
+
|
65
|
+
retry_config = defaults_retry_config.merge(retry_config)
|
66
|
+
@max_retries = retry_config[:max_retries]
|
67
|
+
@initial_delay = retry_config[:initial_delay]
|
68
|
+
@max_delay = retry_config[:max_delay]
|
69
|
+
|
70
|
+
self.class.base_uri(backend_url)
|
71
|
+
|
72
|
+
self.class.default_options.merge!(headers: {
|
73
|
+
"Authorization" => "ApiKey #{@access_token}",
|
74
|
+
"User-Agent" => "teleflow/ruby/#{Teleflow::VERSION}"
|
75
|
+
}
|
76
|
+
)
|
77
|
+
|
78
|
+
# Configure the exponential backoff - specifying initial and maximal delays, default is 4s and 60s respectively
|
79
|
+
if @enable_retry
|
80
|
+
@retry_config = retry_config
|
81
|
+
@backoff = ExponentialBackoff.new(@initial_delay, @max_delay)
|
82
|
+
end
|
83
|
+
rescue ArgumentError => e
|
84
|
+
puts "Error initializing Teleflow client: #{e.message}"
|
85
|
+
end
|
86
|
+
|
87
|
+
private
|
88
|
+
|
89
|
+
# @retun [Hash]
|
90
|
+
# - max_retries [Integer]
|
91
|
+
# - initial_delay [Integer]
|
92
|
+
# - max_delay [Integer]
|
93
|
+
def defaults_retry_config
|
94
|
+
{ max_retries: 1, initial_delay: 4, max_delay: 60 }
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
data/lib/teleflow.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "active_support/core_ext/hash"
|
4
|
+
require "exponential_backoff"
|
5
|
+
require "httparty"
|
6
|
+
require_relative "teleflow/version"
|
7
|
+
require_relative "teleflow/client"
|
8
|
+
require "uuid"
|
9
|
+
|
10
|
+
module Teleflow
|
11
|
+
# class Error < StandardError; end
|
12
|
+
# Your code goes here...
|
13
|
+
end
|
data/sig/teleflow.rbs
ADDED
data/techstack.md
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
<!--
|
2
|
+
<--- Readme.md Snippet without images Start --->
|
3
|
+
## Tech Stack
|
4
|
+
nxpkg/teleflow-ruby is built on the following main stack:
|
5
|
+
|
6
|
+
- [Ruby](https://www.ruby-lang.org) – Languages
|
7
|
+
- [RSpec](https://rspec.info/) – Testing Frameworks
|
8
|
+
- [RuboCop](http://batsov.com/rubocop/) – Code Review
|
9
|
+
- [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells
|
10
|
+
- [GitHub Actions](https://github.com/features/actions) – Continuous Integration
|
11
|
+
|
12
|
+
Full tech stack [here](/techstack.md)
|
13
|
+
|
14
|
+
<--- Readme.md Snippet without images End --->
|
15
|
+
|
16
|
+
<--- Readme.md Snippet with images Start --->
|
17
|
+
## Tech Stack
|
18
|
+
nxpkg/teleflow-ruby is built on the following main stack:
|
19
|
+
|
20
|
+
- <img width='25' height='25' src='https://img.stackshare.io/service/989/ruby.png' alt='Ruby'/> [Ruby](https://www.ruby-lang.org) – Languages
|
21
|
+
- <img width='25' height='25' src='https://img.stackshare.io/service/2539/logo.png' alt='RSpec'/> [RSpec](https://rspec.info/) – Testing Frameworks
|
22
|
+
- <img width='25' height='25' src='https://img.stackshare.io/service/2643/rubocop.png' alt='RuboCop'/> [RuboCop](http://batsov.com/rubocop/) – Code Review
|
23
|
+
- <img width='25' height='25' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'/> [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells
|
24
|
+
- <img width='25' height='25' src='https://img.stackshare.io/service/11563/actions.png' alt='GitHub Actions'/> [GitHub Actions](https://github.com/features/actions) – Continuous Integration
|
25
|
+
|
26
|
+
Full tech stack [here](/techstack.md)
|
27
|
+
|
28
|
+
<--- Readme.md Snippet with images End --->
|
29
|
+
-->
|
30
|
+
<div align="center">
|
31
|
+
|
32
|
+
# Tech Stack File
|
33
|
+
 [nxpkg/teleflow-ruby](https://github.com/nxpkg/teleflow-ruby)
|
34
|
+
<br/><br/>
|
35
|
+
|11<br/>Tools used|01/05/24 <br/>Report generated|
|
36
|
+
|------|------|
|
37
|
+
</div>
|
38
|
+
|
39
|
+
## <img src='https://img.stackshare.io/languages.svg'/> Languages (1)
|
40
|
+
<table><tr>
|
41
|
+
<td align='center'>
|
42
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/989/ruby.png' alt='Ruby'>
|
43
|
+
<br>
|
44
|
+
<sub><a href="https://www.ruby-lang.org">Ruby</a></sub>
|
45
|
+
<br>
|
46
|
+
<sub></sub>
|
47
|
+
</td>
|
48
|
+
|
49
|
+
</tr>
|
50
|
+
</table>
|
51
|
+
|
52
|
+
## <img src='https://img.stackshare.io/devops.svg'/> DevOps (5)
|
53
|
+
<table><tr>
|
54
|
+
<td align='center'>
|
55
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/1046/git.png' alt='Git'>
|
56
|
+
<br>
|
57
|
+
<sub><a href="http://git-scm.com/">Git</a></sub>
|
58
|
+
<br>
|
59
|
+
<sub></sub>
|
60
|
+
</td>
|
61
|
+
|
62
|
+
<td align='center'>
|
63
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/11563/actions.png' alt='GitHub Actions'>
|
64
|
+
<br>
|
65
|
+
<sub><a href="https://github.com/features/actions">GitHub Actions</a></sub>
|
66
|
+
<br>
|
67
|
+
<sub></sub>
|
68
|
+
</td>
|
69
|
+
|
70
|
+
<td align='center'>
|
71
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/2539/logo.png' alt='RSpec'>
|
72
|
+
<br>
|
73
|
+
<sub><a href="https://rspec.info/">RSpec</a></sub>
|
74
|
+
<br>
|
75
|
+
<sub>v3.12.0</sub>
|
76
|
+
</td>
|
77
|
+
|
78
|
+
<td align='center'>
|
79
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/2643/rubocop.png' alt='RuboCop'>
|
80
|
+
<br>
|
81
|
+
<sub><a href="http://batsov.com/rubocop/">RuboCop</a></sub>
|
82
|
+
<br>
|
83
|
+
<sub>v1.46.0</sub>
|
84
|
+
</td>
|
85
|
+
|
86
|
+
<td align='center'>
|
87
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/12795/5jL6-BA5_400x400.jpeg' alt='RubyGems'>
|
88
|
+
<br>
|
89
|
+
<sub><a href="https://rubygems.org/">RubyGems</a></sub>
|
90
|
+
<br>
|
91
|
+
<sub></sub>
|
92
|
+
</td>
|
93
|
+
|
94
|
+
</tr>
|
95
|
+
</table>
|
96
|
+
|
97
|
+
## Other (1)
|
98
|
+
<table><tr>
|
99
|
+
<td align='center'>
|
100
|
+
<img width='36' height='36' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'>
|
101
|
+
<br>
|
102
|
+
<sub><a href="https://en.wikipedia.org/wiki/Shell_script">Shell</a></sub>
|
103
|
+
<br>
|
104
|
+
<sub></sub>
|
105
|
+
</td>
|
106
|
+
|
107
|
+
</tr>
|
108
|
+
</table>
|
109
|
+
|
110
|
+
|
111
|
+
## <img src='https://img.stackshare.io/group.svg' /> Open source packages (4)</h2>
|
112
|
+
|
113
|
+
## <img width='24' height='24' src='https://img.stackshare.io/service/12795/5jL6-BA5_400x400.jpeg'/> RubyGems (4)
|
114
|
+
|
115
|
+
|NAME|VERSION|LAST UPDATED|LAST UPDATED BY|LICENSE|VULNERABILITIES|
|
116
|
+
|:------|:------|:------|:------|:------|:------|
|
117
|
+
|[activesupport](https://rubygems.org/activesupport)|v6.1.7|10/12/23|unicodeveloper |MIT|N/A|
|
118
|
+
|[httparty](https://rubygems.org/httparty)|v0.21.0|10/12/23|unicodeveloper |MIT|N/A|
|
119
|
+
|[rake](https://rubygems.org/rake)|v13.0.6|02/28/23|Aman Saini |MIT|N/A|
|
120
|
+
|[webmock](https://rubygems.org/webmock)|v3.18.1|03/10/23|Aman Saini |MIT|N/A|
|
121
|
+
|
122
|
+
<br/>
|
123
|
+
<div align='center'>
|
124
|
+
|
125
|
+
Generated via [Stack File](https://github.com/marketplace/stack-file)
|
data/techstack.yml
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
repo_name: nxpkg/teleflow-ruby
|
2
|
+
report_id: 64174126c2978ebffd866b5b5a64f248
|
3
|
+
version: 0.1
|
4
|
+
repo_type: Public
|
5
|
+
timestamp: '2024-01-05T09:22:44+00:00'
|
6
|
+
requested_by: sumitsaurabh927
|
7
|
+
provider: github
|
8
|
+
branch: main
|
9
|
+
detected_tools_count: 11
|
10
|
+
tools:
|
11
|
+
- name: Ruby
|
12
|
+
description: A dynamic, interpreted, open source programming language with a focus
|
13
|
+
on simplicity and productivity
|
14
|
+
website_url: https://www.ruby-lang.org
|
15
|
+
open_source: true
|
16
|
+
hosted_saas: false
|
17
|
+
category: Languages & Frameworks
|
18
|
+
sub_category: Languages
|
19
|
+
image_url: https://img.stackshare.io/service/989/ruby.png
|
20
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby
|
21
|
+
detection_source: Repo Metadata
|
22
|
+
- name: Git
|
23
|
+
description: Fast, scalable, distributed revision control system
|
24
|
+
website_url: http://git-scm.com/
|
25
|
+
open_source: true
|
26
|
+
hosted_saas: false
|
27
|
+
category: Build, Test, Deploy
|
28
|
+
sub_category: Version Control System
|
29
|
+
image_url: https://img.stackshare.io/service/1046/git.png
|
30
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby
|
31
|
+
detection_source: Repo Metadata
|
32
|
+
- name: GitHub Actions
|
33
|
+
description: Automate your workflow from idea to production
|
34
|
+
website_url: https://github.com/features/actions
|
35
|
+
open_source: false
|
36
|
+
hosted_saas: true
|
37
|
+
category: Build, Test, Deploy
|
38
|
+
sub_category: Continuous Integration
|
39
|
+
image_url: https://img.stackshare.io/service/11563/actions.png
|
40
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/.github/workflows/release.yml
|
41
|
+
detection_source: ".github/workflows/release.yml"
|
42
|
+
last_updated_by: Kolawole Ezekiel
|
43
|
+
last_updated_on: 2023-10-09 13:30:34.000000000 Z
|
44
|
+
- name: RSpec
|
45
|
+
description: Behaviour Driven Development for Ruby
|
46
|
+
website_url: https://rspec.info/
|
47
|
+
version: 3.12.0
|
48
|
+
license: MIT
|
49
|
+
open_source: true
|
50
|
+
hosted_saas: false
|
51
|
+
category: Build, Test, Deploy
|
52
|
+
sub_category: Testing Frameworks
|
53
|
+
image_url: https://img.stackshare.io/service/2539/logo.png
|
54
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
55
|
+
detection_source: Gemfile
|
56
|
+
last_updated_by: Aman Saini
|
57
|
+
last_updated_on: 2023-02-28 06:58:36.000000000 Z
|
58
|
+
- name: RuboCop
|
59
|
+
description: A Ruby static code analyzer, based on the community Ruby style guide
|
60
|
+
website_url: http://batsov.com/rubocop/
|
61
|
+
version: 1.46.0
|
62
|
+
license: MIT
|
63
|
+
open_source: true
|
64
|
+
hosted_saas: false
|
65
|
+
category: Build, Test, Deploy
|
66
|
+
sub_category: Code Review
|
67
|
+
image_url: https://img.stackshare.io/service/2643/rubocop.png
|
68
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
69
|
+
detection_source: Gemfile
|
70
|
+
last_updated_by: Aman Saini
|
71
|
+
last_updated_on: 2023-02-28 06:58:36.000000000 Z
|
72
|
+
- name: RubyGems
|
73
|
+
description: Easily download, install, and use ruby software packages on your system
|
74
|
+
website_url: https://rubygems.org/
|
75
|
+
open_source: false
|
76
|
+
hosted_saas: false
|
77
|
+
category: Build, Test, Deploy
|
78
|
+
sub_category: Package Managers
|
79
|
+
image_url: https://img.stackshare.io/service/12795/5jL6-BA5_400x400.jpeg
|
80
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/teleflow.gemspec
|
81
|
+
detection_source: teleflow.gemspec
|
82
|
+
last_updated_by: Aman Saini
|
83
|
+
last_updated_on: 2023-02-28 06:58:36.000000000 Z
|
84
|
+
- name: Shell
|
85
|
+
description: A shell is a text-based terminal, used for manipulating programs and
|
86
|
+
files. Shell scripts typically manage program execution.
|
87
|
+
website_url: https://en.wikipedia.org/wiki/Shell_script
|
88
|
+
open_source: false
|
89
|
+
hosted_saas: false
|
90
|
+
category: Languages & Frameworks
|
91
|
+
sub_category: Languages
|
92
|
+
image_url: https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png
|
93
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby
|
94
|
+
detection_source: Repo Metadata
|
95
|
+
- name: activesupport
|
96
|
+
description: A toolkit of support libraries and Ruby core extensions extracted from
|
97
|
+
the Rails framework
|
98
|
+
package_url: https://rubygems.org/activesupport
|
99
|
+
version: 6.1.7
|
100
|
+
license: MIT
|
101
|
+
open_source: true
|
102
|
+
hosted_saas: false
|
103
|
+
category: Libraries
|
104
|
+
sub_category: RubyGems Packages
|
105
|
+
image_url: https://img.stackshare.io/package/18817/default_b17f14dbef6c1275120b34d9ec2eff5942499bd5.png
|
106
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
107
|
+
detection_source: teleflow.gemspec
|
108
|
+
last_updated_by: unicodeveloper
|
109
|
+
last_updated_on: 2023-10-12 04:34:34.000000000 Z
|
110
|
+
- name: httparty
|
111
|
+
description: Makes http fun! Also
|
112
|
+
package_url: https://rubygems.org/httparty
|
113
|
+
version: 0.21.0
|
114
|
+
license: MIT
|
115
|
+
open_source: true
|
116
|
+
hosted_saas: false
|
117
|
+
category: Libraries
|
118
|
+
sub_category: RubyGems Packages
|
119
|
+
image_url: https://img.stackshare.io/package/18832/default_8c2fa81d8b8e48c679685199823ce30d598d3e87.png
|
120
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
121
|
+
detection_source: teleflow.gemspec
|
122
|
+
last_updated_by: unicodeveloper
|
123
|
+
last_updated_on: 2023-10-12 04:34:34.000000000 Z
|
124
|
+
- name: rake
|
125
|
+
description: Rake is a Make-like program implemented in Ruby
|
126
|
+
package_url: https://rubygems.org/rake
|
127
|
+
version: 13.0.6
|
128
|
+
license: MIT
|
129
|
+
open_source: true
|
130
|
+
hosted_saas: false
|
131
|
+
category: Libraries
|
132
|
+
sub_category: RubyGems Packages
|
133
|
+
image_url: https://img.stackshare.io/package/18812/default_f582e4648f4682adb72d2b201218cda7f8e894ac.png
|
134
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
135
|
+
detection_source: Gemfile
|
136
|
+
last_updated_by: Aman Saini
|
137
|
+
last_updated_on: 2023-02-28 06:58:36.000000000 Z
|
138
|
+
- name: webmock
|
139
|
+
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP
|
140
|
+
requests
|
141
|
+
package_url: https://rubygems.org/webmock
|
142
|
+
version: 3.18.1
|
143
|
+
license: MIT
|
144
|
+
open_source: true
|
145
|
+
hosted_saas: false
|
146
|
+
category: Libraries
|
147
|
+
sub_category: RubyGems Packages
|
148
|
+
image_url: https://img.stackshare.io/package/18824/default_6564ae059af6c4ea7065fd2329370c7a05341cf8.png
|
149
|
+
detection_source_url: https://github.com/nxpkg/teleflow-ruby/blob/main/Gemfile.lock
|
150
|
+
detection_source: Gemfile
|
151
|
+
last_updated_by: Aman Saini
|
152
|
+
last_updated_on: 2023-03-10 06:01:34.000000000 Z
|