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/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/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!
359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 |
# File 'lib/plan_my_stuff/test_helpers.rb', line 359 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.
342 343 344 345 346 347 348 349 350 351 352 353 |
# File 'lib/plan_my_stuff/test_helpers.rb', line 342 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 |