Module: Dsu::Support::Fileable

Constant Summary collapse

MIGRATION_VERSION_FILE_NAME =
'migration_version.json'

Instance Method Summary collapse

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_nameObject



18
19
20
# File 'lib/dsu/support/fileable.rb', line 18

def config_file_name
  '.dsu'
end

#config_folderObject

Configuration



14
15
16
# File 'lib/dsu/support/fileable.rb', line 14

def config_folder
  root_folder
end

#config_pathObject



22
23
24
# File 'lib/dsu/support/fileable.rb', line 22

def config_path
  File.join(config_folder, config_file_name)
end

#dsu_folderObject



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_folderObject

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_dirObject



75
76
77
# File 'lib/dsu/support/fileable.rb', line 75

def gem_dir
  Gem.loaded_specs['dsu'].gem_dir
end

#migration_version_folderObject

Migration



57
58
59
# File 'lib/dsu/support/fileable.rb', line 57

def migration_version_folder
  File.join(dsu_folder)
end

#migration_version_pathObject



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_folderObject

Base folders



67
68
69
# File 'lib/dsu/support/fileable.rb', line 67

def root_folder
  Dir.home
end

#seed_data_folderObject

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_folderObject



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_folderObject

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