Class: Forem::Client
- Inherits:
-
Object
- Object
- Forem::Client
- Defined in:
- lib/forem/client.rb
Overview
Client for making authenticated requests to the Forem API.
Use this when you need per-instance configuration (e.g., different API keys for different Forem instances). For simple single-instance use, configure the global api_key instead.
Instance Attribute Summary collapse
-
#config ⇒ Configuration
readonly
The configuration object for this client.
-
#requestor ⇒ APIRequestor
readonly
The requestor used to make HTTP calls.
Instance Method Summary collapse
-
#admin_concepts ⇒ Services::AdminConceptService
Access the Admin Concepts API.
-
#admin_users ⇒ Services::AdminUserService
Access the Admin Users API.
-
#agent_sessions ⇒ Services::AgentSessionService
Access the Agent Sessions API.
-
#analytics ⇒ Services::AnalyticsService
Access the Analytics API.
-
#articles ⇒ Services::ArticleService
Access the Articles API.
-
#billboards ⇒ Services::BillboardService
Access the Billboards API.
-
#comments ⇒ Services::CommentService
Access the Comments API.
-
#concepts ⇒ Services::ConceptService
Access the Concepts API.
-
#followers ⇒ Services::FollowerService
Access the Followers API.
-
#follows ⇒ Services::FollowService
Access the Follows API.
-
#health_checks ⇒ Services::HealthCheckService
Access the Health Checks API.
-
#initialize(api_key, api_base: "https://dev.to", **opts) ⇒ Client
constructor
Create a new Forem API client.
-
#organizations ⇒ Services::OrganizationService
Access the Organizations API.
-
#pages ⇒ Services::PageService
Access the Pages API.
-
#podcast_episodes ⇒ Services::PodcastEpisodeService
Access the Podcast Episodes API.
-
#profile_images ⇒ Services::ProfileImageService
Access the Profile Images API.
-
#reactions ⇒ Services::ReactionService
Access the Reactions API.
-
#reading_list ⇒ Services::ReadingListService
Access the Reading List API.
-
#recommended_articles_lists ⇒ Services::RecommendedArticlesListService
Access the Recommended Articles Lists API.
-
#request_redirects ⇒ Services::RequestRedirectService
Access the Admin Request Redirects API.
-
#segments ⇒ Services::SegmentService
Access the Segments API.
-
#surveys ⇒ Services::SurveyService
Access the Surveys API.
-
#tags ⇒ Services::TagService
Access the Tags API.
-
#trends ⇒ Services::TrendService
Access the Trends API.
-
#users ⇒ Services::UserService
Access the Users API.
-
#videos ⇒ Services::VideoService
Access the Videos API.
Constructor Details
#initialize(api_key, api_base: "https://dev.to", **opts) ⇒ Client
Create a new Forem API client.
36 37 38 39 40 41 42 |
# File 'lib/forem/client.rb', line 36 def initialize(api_key, api_base: "https://dev.to", **opts) @config = Configuration.new @config.api_key = api_key @config.api_base = api_base opts.each { |k, v| @config.send(:"#{k}=", v) if @config.respond_to?(:"#{k}=") } @requestor = APIRequestor.new(config: @config) end |
Instance Attribute Details
#config ⇒ Configuration (readonly)
Returns the configuration object for this client.
19 20 21 |
# File 'lib/forem/client.rb', line 19 def config @config end |
#requestor ⇒ APIRequestor (readonly)
Returns the requestor used to make HTTP calls.
22 23 24 |
# File 'lib/forem/client.rb', line 22 def requestor @requestor end |
Instance Method Details
#admin_concepts ⇒ Services::AdminConceptService
Access the Admin Concepts API.
269 |
# File 'lib/forem/client.rb', line 269 def admin_concepts; @admin_concepts ||= Services::AdminConceptService.new(@requestor); end |
#admin_users ⇒ Services::AdminUserService
Access the Admin Users API.
245 |
# File 'lib/forem/client.rb', line 245 def admin_users; @admin_users ||= Services::AdminUserService.new(@requestor); end |
#agent_sessions ⇒ Services::AgentSessionService
Access the Agent Sessions API.
206 |
# File 'lib/forem/client.rb', line 206 def agent_sessions; @agent_sessions ||= Services::AgentSessionService.new(@requestor); end |
#analytics ⇒ Services::AnalyticsService
Access the Analytics API.
226 |
# File 'lib/forem/client.rb', line 226 def analytics; @analytics ||= Services::AnalyticsService.new(@requestor); end |
#articles ⇒ Services::ArticleService
Access the Articles API.
52 |
# File 'lib/forem/client.rb', line 52 def articles; @articles ||= Services::ArticleService.new(@requestor); end |
#billboards ⇒ Services::BillboardService
Access the Billboards API.
156 |
# File 'lib/forem/client.rb', line 156 def billboards; @billboards ||= Services::BillboardService.new(@requestor); end |
#comments ⇒ Services::CommentService
Access the Comments API.
72 |
# File 'lib/forem/client.rb', line 72 def comments; @comments ||= Services::CommentService.new(@requestor); end |
#concepts ⇒ Services::ConceptService
Access the Concepts API.
261 |
# File 'lib/forem/client.rb', line 261 def concepts; @concepts ||= Services::ConceptService.new(@requestor); end |
#followers ⇒ Services::FollowerService
Access the Followers API.
110 |
# File 'lib/forem/client.rb', line 110 def followers; @followers ||= Services::FollowerService.new(@requestor); end |
#follows ⇒ Services::FollowService
Access the Follows API.
101 |
# File 'lib/forem/client.rb', line 101 def follows; @follows ||= Services::FollowService.new(@requestor); end |
#health_checks ⇒ Services::HealthCheckService
Access the Health Checks API.
236 |
# File 'lib/forem/client.rb', line 236 def health_checks; @health_checks ||= Services::HealthCheckService.new(@requestor); end |
#organizations ⇒ Services::OrganizationService
Access the Organizations API.
82 |
# File 'lib/forem/client.rb', line 82 def organizations; @organizations ||= Services::OrganizationService.new(@requestor); end |
#pages ⇒ Services::PageService
Access the Pages API.
166 |
# File 'lib/forem/client.rb', line 166 def pages; @pages ||= Services::PageService.new(@requestor); end |
#podcast_episodes ⇒ Services::PodcastEpisodeService
Access the Podcast Episodes API.
128 |
# File 'lib/forem/client.rb', line 128 def podcast_episodes; @podcast_episodes ||= Services::PodcastEpisodeService.new(@requestor); end |
#profile_images ⇒ Services::ProfileImageService
Access the Profile Images API.
146 |
# File 'lib/forem/client.rb', line 146 def profile_images; @profile_images ||= Services::ProfileImageService.new(@requestor); end |
#reactions ⇒ Services::ReactionService
Access the Reactions API.
186 |
# File 'lib/forem/client.rb', line 186 def reactions; @reactions ||= Services::ReactionService.new(@requestor); end |
#reading_list ⇒ Services::ReadingListService
Access the Reading List API.
119 |
# File 'lib/forem/client.rb', line 119 def reading_list; @reading_list ||= Services::ReadingListService.new(@requestor); end |
#recommended_articles_lists ⇒ Services::RecommendedArticlesListService
Access the Recommended Articles Lists API.
196 |
# File 'lib/forem/client.rb', line 196 def recommended_articles_lists; @recommended_articles_lists ||= Services::RecommendedArticlesListService.new(@requestor); end |
#request_redirects ⇒ Services::RequestRedirectService
Access the Admin Request Redirects API.
277 |
# File 'lib/forem/client.rb', line 277 def request_redirects; @request_redirects ||= Services::RequestRedirectService.new(@requestor); end |
#segments ⇒ Services::SegmentService
Access the Segments API.
176 |
# File 'lib/forem/client.rb', line 176 def segments; @segments ||= Services::SegmentService.new(@requestor); end |
#surveys ⇒ Services::SurveyService
Access the Surveys API.
216 |
# File 'lib/forem/client.rb', line 216 def surveys; @surveys ||= Services::SurveyService.new(@requestor); end |
#tags ⇒ Services::TagService
Access the Tags API.
91 |
# File 'lib/forem/client.rb', line 91 def ; @tags ||= Services::TagService.new(@requestor); end |
#trends ⇒ Services::TrendService
Access the Trends API.
253 |
# File 'lib/forem/client.rb', line 253 def trends; @trends ||= Services::TrendService.new(@requestor); end |
#users ⇒ Services::UserService
Access the Users API.
62 |
# File 'lib/forem/client.rb', line 62 def users; @users ||= Services::UserService.new(@requestor); end |
#videos ⇒ Services::VideoService
Access the Videos API.
137 |
# File 'lib/forem/client.rb', line 137 def videos; @videos ||= Services::VideoService.new(@requestor); end |