Module: Dsu::Support::Fileable
- Extended by:
- Fileable
- Included in:
- CommandServices::AddEntryService, Migration::Service, Models::ColorTheme, Models::Configuration, Models::EntryGroup, Models::MigrationVersion, Dsu::Services::EntryGroup::ExporterService, Dsu::Services::EntryGroup::ImporterService, Fileable
- Defined in:
- lib/dsu/support/fileable.rb
Constant Summary collapse
- MIGRATION_VERSION_FILE_NAME =
'migration_version.json'
Instance Method Summary collapse
-
#backup_folder(version:) ⇒ Object
Back up folder.
- #config_file_name ⇒ Object
-
#config_folder ⇒ Object
Configuration.
- #config_path ⇒ Object
- #dsu_folder ⇒ Object
- #entries_file_name(time:, file_name_format: nil) ⇒ Object
-
#entries_folder ⇒ Object
Entries.
- #entries_path(time:, file_name_format: nil) ⇒ Object
- #gem_dir ⇒ Object
-
#migration_version_folder ⇒ Object
Migration.
- #migration_version_path ⇒ Object
-
#root_folder ⇒ Object
Base folders.
-
#seed_data_folder ⇒ Object
Seed data folders.
- #temp_folder ⇒ Object
- #theme_file_name(theme_name:) ⇒ Object
-
#themes_folder ⇒ Object
Themes.
- #themes_path(theme_name:) ⇒ Object
Instance Method Details
#backup_folder(version:) ⇒ Object
Back up folder
81 82 83 |
# File 'lib/dsu/support/fileable.rb', line 81 def backup_folder(version:) File.join(dsu_folder, 'backup', version.to_s) end |
#config_file_name ⇒ Object
18 19 20 |
# File 'lib/dsu/support/fileable.rb', line 18 def config_file_name '.dsu' end |
#config_folder ⇒ Object
Configuration
14 15 16 |
# File 'lib/dsu/support/fileable.rb', line 14 def config_folder root_folder end |
#config_path ⇒ Object
22 23 24 |
# File 'lib/dsu/support/fileable.rb', line 22 def config_path File.join(config_folder, config_file_name) end |
#dsu_folder ⇒ Object
8 9 10 |
# File 'lib/dsu/support/fileable.rb', line 8 def dsu_folder File.join(root_folder, 'dsu') end |
#entries_file_name(time:, file_name_format: nil) ⇒ Object
32 33 34 35 |
# File 'lib/dsu/support/fileable.rb', line 32 def entries_file_name(time:, file_name_format: nil) file_name_format ||= '%Y-%m-%d.json' time.strftime(file_name_format) end |
#entries_folder ⇒ Object
Entries
28 29 30 |
# File 'lib/dsu/support/fileable.rb', line 28 def entries_folder File.join(dsu_folder, 'entries') end |
#entries_path(time:, file_name_format: nil) ⇒ Object
37 38 39 |
# File 'lib/dsu/support/fileable.rb', line 37 def entries_path(time:, file_name_format: nil) File.join(entries_folder, entries_file_name(time: time, file_name_format: file_name_format)) end |
#gem_dir ⇒ Object
75 76 77 |
# File 'lib/dsu/support/fileable.rb', line 75 def gem_dir Gem.loaded_specs['dsu'].gem_dir end |
#migration_version_folder ⇒ Object
Migration
57 58 59 |
# File 'lib/dsu/support/fileable.rb', line 57 def migration_version_folder File.join(dsu_folder) end |
#migration_version_path ⇒ Object
61 62 63 |
# File 'lib/dsu/support/fileable.rb', line 61 def migration_version_path File.join(migration_version_folder, MIGRATION_VERSION_FILE_NAME) end |
#root_folder ⇒ Object
Base folders
67 68 69 |
# File 'lib/dsu/support/fileable.rb', line 67 def root_folder Dir.home end |
#seed_data_folder ⇒ Object
Seed data folders
87 88 89 |
# File 'lib/dsu/support/fileable.rb', line 87 def seed_data_folder File.join(gem_dir, 'lib/seed_data') end |
#temp_folder ⇒ Object
71 72 73 |
# File 'lib/dsu/support/fileable.rb', line 71 def temp_folder Dir.tmpdir end |
#theme_file_name(theme_name:) ⇒ Object
51 52 53 |
# File 'lib/dsu/support/fileable.rb', line 51 def theme_file_name(theme_name:) "#{theme_name}.json" end |
#themes_folder ⇒ Object
Themes
43 44 45 |
# File 'lib/dsu/support/fileable.rb', line 43 def themes_folder File.join(dsu_folder, 'themes') end |
#themes_path(theme_name:) ⇒ Object
47 48 49 |
# File 'lib/dsu/support/fileable.rb', line 47 def themes_path(theme_name:) File.join(themes_folder, theme_file_name(theme_name: theme_name)) end |