Module: Dsu

Defined in:
lib/dsu/validators/time_validator.rb,
lib/dsu/cli.rb,
lib/dsu/env.rb,
lib/dsu/version.rb,
lib/dsu/base_cli.rb,
lib/dsu/support/ask.rb,
lib/dsu/models/entry.rb,
lib/dsu/views/export.rb,
lib/dsu/views/import.rb,
lib/dsu/support/utils.rb,
lib/dsu/crud/json_file.rb,
lib/dsu/models/project.rb,
lib/dsu/subcommands/edit.rb,
lib/dsu/subcommands/list.rb,
lib/dsu/support/fileable.rb,
lib/dsu/migration/version.rb,
lib/dsu/subcommands/theme.rb,
lib/dsu/views/project/use.rb,
lib/dsu/views/shared/info.rb,
lib/dsu/migration/migrator.rb,
lib/dsu/models/color_theme.rb,
lib/dsu/models/entry_group.rb,
lib/dsu/subcommands/browse.rb,
lib/dsu/subcommands/config.rb,
lib/dsu/subcommands/delete.rb,
lib/dsu/subcommands/export.rb,
lib/dsu/subcommands/import.rb,
lib/dsu/views/import_dates.rb,
lib/dsu/views/project/list.rb,
lib/dsu/views/shared/error.rb,
lib/dsu/subcommands/project.rb,
lib/dsu/support/presentable.rb,
lib/dsu/models/configuration.rb,
lib/dsu/support/descriptable.rb,
lib/dsu/support/field_errors.rb,
lib/dsu/support/short_string.rb,
lib/dsu/views/base_list_view.rb,
lib/dsu/views/project/create.rb,
lib/dsu/views/project/delete.rb,
lib/dsu/views/project/rename.rb,
lib/dsu/views/shared/message.rb,
lib/dsu/views/shared/success.rb,
lib/dsu/views/shared/warning.rb,
lib/dsu/migration/base_service.rb,
lib/dsu/support/color_themable.rb,
lib/dsu/support/times_sortable.rb,
lib/dsu/views/color_theme/show.rb,
lib/dsu/views/entry_group/edit.rb,
lib/dsu/views/entry_group/list.rb,
lib/dsu/views/entry_group/show.rb,
lib/dsu/migration/raw_json_file.rb,
lib/dsu/support/time_comparable.rb,
lib/dsu/support/time_formatable.rb,
lib/dsu/views/color_theme/index.rb,
lib/dsu/migration/raw_json_files.rb,
lib/dsu/models/migration_version.rb,
lib/dsu/support/command_hookable.rb,
lib/dsu/views/configuration/show.rb,
lib/dsu/presenters/base_presenter.rb,
lib/dsu/views/shared/model_errors.rb,
lib/dsu/presenters/entry_presenter.rb,
lib/dsu/subcommands/base_subcommand.rb,
lib/dsu/support/project_file_system.rb,
lib/dsu/views/project/use_by_number.rb,
lib/dsu/presenters/base_presenter_ex.rb,
lib/dsu/support/command_options/time.rb,
lib/dsu/validators/entries_validator.rb,
lib/dsu/validators/version_validator.rb,
lib/dsu/presenters/import/import_file.rb,
lib/dsu/support/entry_group_browsable.rb,
lib/dsu/presenters/import/import_entry.rb,
lib/dsu/presenters/project/defaultable.rb,
lib/dsu/support/transform_project_name.rb,
lib/dsu/views/project/delete_by_number.rb,
lib/dsu/views/project/rename_by_number.rb,
lib/dsu/presenters/export/all_presenter.rb,
lib/dsu/presenters/import/all_presenter.rb,
lib/dsu/services/entry/hydrator_service.rb,
lib/dsu/services/project/rename_service.rb,
lib/dsu/presenters/color_theme_presenter.rb,
lib/dsu/presenters/entry_group_presenter.rb,
lib/dsu/presenters/project/use_presenter.rb,
lib/dsu/validators/color_theme_validator.rb,
lib/dsu/validators/description_validator.rb,
lib/dsu/migration/v20230613121411/service.rb,
lib/dsu/migration/v20240210161248/service.rb,
lib/dsu/presenters/export/dates_presenter.rb,
lib/dsu/presenters/import/dates_presenter.rb,
lib/dsu/presenters/project/list_presenter.rb,
lib/dsu/services/project/hydrator_service.rb,
lib/dsu/services/temp_file/reader_service.rb,
lib/dsu/services/temp_file/writer_service.rb,
lib/dsu/support/command_help_colorizeable.rb,
lib/dsu/support/command_options/dsu_times.rb,
lib/dsu/validators/project_name_validator.rb,
lib/dsu/command_services/add_entry_service.rb,
lib/dsu/presenters/configuration_presenter.rb,
lib/dsu/services/stderr_redirector_service.rb,
lib/dsu/services/stdout_redirector_service.rb,
lib/dsu/presenters/project/create_presenter.rb,
lib/dsu/presenters/project/delete_presenter.rb,
lib/dsu/presenters/project/rename_presenter.rb,
lib/dsu/services/entry_group/browse_service.rb,
lib/dsu/services/entry_group/editor_service.rb,
lib/dsu/presenters/entry_group/list/messages.rb,
lib/dsu/services/entry_group/counter_service.rb,
lib/dsu/services/entry_group/deleter_service.rb,
lib/dsu/presenters/color_theme_show_presenter.rb,
lib/dsu/services/color_theme/hydrator_service.rb,
lib/dsu/services/entry_group/exporter_service.rb,
lib/dsu/services/entry_group/hydrator_service.rb,
lib/dsu/services/entry_group/importer_service.rb,
lib/dsu/support/command_options/time_mnemonic.rb,
lib/dsu/migration/raw_helpers/color_theme_hash.rb,
lib/dsu/migration/raw_helpers/entry_group_hash.rb,
lib/dsu/support/command_options/time_mnemonics.rb,
lib/dsu/services/configuration/hydrator_service.rb,
lib/dsu/migration/raw_helpers/configuration_hash.rb,
lib/dsu/presenters/entry_group/list/date_presenter.rb,
lib/dsu/presenters/project/use_by_number_presenter.rb,
lib/dsu/presenters/entry_group/list/dates_presenter.rb,
lib/dsu/presenters/entry_group/list/nothing_to_list.rb,
lib/dsu/services/migration_version/hydrator_service.rb,
lib/dsu/presenters/project/delete_by_number_presenter.rb,
lib/dsu/presenters/project/rename_by_number_presenter.rb,
lib/dsu/views/entry_group/shared/no_entries_to_display.rb,
lib/dsu/views/entry_group/shared/no_entries_to_display_for_week_of.rb,
lib/dsu/views/entry_group/shared/no_entries_to_display_for_year_of.rb,
lib/dsu/views/entry_group/shared/no_entries_to_display_for_month_of.rb

Overview

Defined Under Namespace

Modules: CommandServices, Crud, Migration, Models, Presenters, Services, Subcommands, Support, Utils, Validators, Views Classes: BaseCLI, CLI

Constant Summary collapse

VERSION_REGEX =
/\A\d+\.\d+\.\d+(\.(alpha|beta|rc)\.\d+)?\z/
VERSION =
'3.0.5'

Class Method Summary collapse

Class Method Details

.envObject

rubocop:disable Metrics/MethodLength



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/dsu/env.rb', line 5

def env # rubocop:disable Metrics/MethodLength
  @env ||= Struct.new(:env) do
    def test?
      env.fetch('DSU_ENV', nil) == 'test'
    end

    def development?
      env.fetch('DSU_ENV', nil) == 'development'
    end

    def local?
      test? || development?
    end

    def production?
      env.fetch('DSU_ENV', 'production') == 'production'
    end

    def screen_shot_mode?
      development? && (env.fetch('SCREEN_SHOT_USERNAME', '').present? ||
        env.fetch('SCREEN_SHOT_HOSTNAME', '').present?)
    end

    def screen_shot_prompt
      username = screen_shot_username
      hostname = screen_shot_hostname
      "#{username}@#{hostname}:~ $"
    end

    def screen_shot_username
      env.fetch('SCREEN_SHOT_USERNAME', 'username')
    end

    def screen_shot_hostname
      env.fetch('SCREEN_SHOT_HOSTNAME', 'hostname')
    end
  end.new(ENV)
end