Module: PlanMyStuff
- Defined in:
- lib/plan_my_stuff.rb,
lib/plan_my_stuff/link.rb,
lib/plan_my_stuff/repo.rb,
lib/plan_my_stuff/cache.rb,
lib/plan_my_stuff/issue.rb,
lib/plan_my_stuff/label.rb,
lib/plan_my_stuff/client.rb,
lib/plan_my_stuff/engine.rb,
lib/plan_my_stuff/errors.rb,
lib/plan_my_stuff/archive.rb,
lib/plan_my_stuff/comment.rb,
lib/plan_my_stuff/project.rb,
lib/plan_my_stuff/version.rb,
lib/plan_my_stuff/approval.rb,
lib/plan_my_stuff/markdown.rb,
lib/plan_my_stuff/pipeline.rb,
lib/plan_my_stuff/verifier.rb,
lib/plan_my_stuff/reminders.rb,
lib/plan_my_stuff/base_project.rb,
lib/plan_my_stuff/project_item.rb,
lib/plan_my_stuff/test_helpers.rb,
lib/plan_my_stuff/archive/sweep.rb,
lib/plan_my_stuff/base_metadata.rb,
lib/plan_my_stuff/configuration.rb,
lib/plan_my_stuff/custom_fields.rb,
lib/plan_my_stuff/notifications.rb,
lib/plan_my_stuff/user_resolver.rb,
lib/plan_my_stuff/issue_metadata.rb,
lib/plan_my_stuff/reminders/fire.rb,
lib/plan_my_stuff/graphql/queries.rb,
lib/plan_my_stuff/metadata_parser.rb,
lib/plan_my_stuff/pipeline/status.rb,
lib/plan_my_stuff/reminders/sweep.rb,
lib/plan_my_stuff/testing_project.rb,
lib/plan_my_stuff/comment_metadata.rb,
lib/plan_my_stuff/pipeline/testing.rb,
lib/plan_my_stuff/project_metadata.rb,
lib/plan_my_stuff/reminders/closer.rb,
lib/plan_my_stuff/webhook_replayer.rb,
lib/plan_my_stuff/aws_sns_simulator.rb,
lib/plan_my_stuff/base_project_item.rb,
lib/plan_my_stuff/application_record.rb,
app/jobs/plan_my_stuff/application_job.rb,
lib/plan_my_stuff/testing_project_item.rb,
lib/plan_my_stuff/base_project_metadata.rb,
lib/plan_my_stuff/pipeline/issue_linker.rb,
lib/plan_my_stuff/project_item_metadata.rb,
app/jobs/plan_my_stuff/reminders_sweep_job.rb,
lib/plan_my_stuff/pipeline/completed_sweep.rb,
lib/plan_my_stuff/testing_project_metadata.rb,
app/controllers/plan_my_stuff/issues_controller.rb,
app/controllers/plan_my_stuff/labels_controller.rb,
app/controllers/plan_my_stuff/comments_controller.rb,
app/controllers/plan_my_stuff/projects_controller.rb,
lib/generators/plan_my_stuff/views/views_generator.rb,
app/controllers/plan_my_stuff/application_controller.rb,
app/controllers/plan_my_stuff/issues/links_controller.rb,
app/controllers/plan_my_stuff/issues/takes_controller.rb,
app/controllers/plan_my_stuff/webhooks/aws_controller.rb,
app/controllers/plan_my_stuff/project_items_controller.rb,
lib/generators/plan_my_stuff/install/install_generator.rb,
app/controllers/plan_my_stuff/issues/viewers_controller.rb,
app/controllers/plan_my_stuff/issues/closures_controller.rb,
app/controllers/plan_my_stuff/issues/waitings_controller.rb,
app/controllers/plan_my_stuff/webhooks/github_controller.rb,
app/controllers/plan_my_stuff/issues/approvals_controller.rb,
app/controllers/plan_my_stuff/testing_projects_controller.rb,
app/controllers/plan_my_stuff/testing_project_items_controller.rb,
app/controllers/plan_my_stuff/project_items/statuses_controller.rb,
app/controllers/plan_my_stuff/project_items/assignments_controller.rb,
app/controllers/plan_my_stuff/testing_project_items/results_controller.rb
Defined Under Namespace
Modules: Archive, AwsSnsSimulator, Cache, Generators, GraphQL, Issues, Markdown, MetadataParser, Notifications, Pipeline, ProjectItems, Reminders, TestHelpers, TestingProjectItems, UserResolver, VERSION, WebhookReplayer, Webhooks Classes: APIError, ApplicationController, ApplicationJob, ApplicationRecord, Approval, AuthorizationError, BaseMetadata, BaseProject, BaseProjectItem, BaseProjectMetadata, Client, Comment, CommentMetadata, CommentsController, Configuration, ConfigurationError, CustomFields, Engine, Error, GraphQLError, Issue, IssueMetadata, IssuesController, Label, LabelsController, Link, LockedIssueError, PendingApprovalsError, PipelineError, Project, ProjectItem, ProjectItemMetadata, ProjectItemsController, ProjectMetadata, ProjectsController, RateLimitError, RemindersSweepJob, Repo, StaleObjectError, TestingProject, TestingProjectItem, TestingProjectItemsController, TestingProjectMetadata, TestingProjectsController, ValidationError, Verifier, WebhookSignatureError
Class Method Summary collapse
- .client ⇒ PlanMyStuff::Client
- .configuration ⇒ PlanMyStuff::Configuration
- .configure {|configuration| ... } ⇒ PlanMyStuff::Configuration
-
.exit_test_mode! ⇒ void
Restores original class / instance methods overwritten by test_mode!.
-
.reset! ⇒ void
Resets the memoized client and configuration.
-
.test_mode! ⇒ void
Activates test mode: stubs all API-calling class methods on Issue, Comment, and ProjectItem so no real HTTP requests are made.
-
.unprocessable_status ⇒ Symbol
Returns the appropriate HTTP 422 status symbol for the current Rails version.
Class Method Details
.client ⇒ PlanMyStuff::Client
56 57 58 |
# File 'lib/plan_my_stuff.rb', line 56 def client @client ||= Client.new end |
.configuration ⇒ PlanMyStuff::Configuration
46 47 48 |
# File 'lib/plan_my_stuff.rb', line 46 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ PlanMyStuff::Configuration
51 52 53 |
# File 'lib/plan_my_stuff.rb', line 51 def configure yield(configuration) end |
.exit_test_mode! ⇒ void
This method returns an undefined value.
Restores original class / instance methods overwritten by test_mode!
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 |
# File 'lib/plan_my_stuff/test_helpers.rb', line 354 def exit_test_mode! return unless @_test_mode (@_test_mode_originals || {}).each do |klass, methods| methods.each do |key, original| kind, name = key if kind == :instance klass.define_method(name, original) else klass.define_singleton_method(name, original) end end end @_test_mode_originals = nil @_test_mode = false TestHelpers.recorded_actions = [] end |
.reset! ⇒ void
This method returns an undefined value.
Resets the memoized client and configuration. Useful for testing.
77 78 79 80 81 |
# File 'lib/plan_my_stuff.rb', line 77 def reset! exit_test_mode! if defined?(@_test_mode) && @_test_mode @client = nil @configuration = nil end |
.test_mode! ⇒ void
This method returns an undefined value.
Activates test mode: stubs all API-calling class methods on Issue, Comment, and ProjectItem so no real HTTP requests are made. Records all actions for assertion matchers.
337 338 339 340 341 342 343 344 345 346 347 348 |
# File 'lib/plan_my_stuff/test_helpers.rb', line 337 def test_mode! TestHelpers.recorded_actions = [] return if @_test_mode @_test_mode_originals = {} stub_issue_class_methods! stub_comment_class_methods! stub_project_class_methods! stub_project_item_class_methods! stub_pipeline_methods! @_test_mode = true end |
.unprocessable_status ⇒ Symbol
Returns the appropriate HTTP 422 status symbol for the current Rails version. Rails 7.1+ deprecated :unprocessable_entity in favor of :unprocessable_content.
65 66 67 68 69 70 71 |
# File 'lib/plan_my_stuff.rb', line 65 def unprocessable_status if Gem::Version.new(Rails.version) >= Gem::Version.new('7.1') :unprocessable_content else :unprocessable_entity end end |