Class: SublimeTextKit::Metadata::Handler
- Inherits:
-
Object
- Object
- SublimeTextKit::Metadata::Handler
- Defined in:
- lib/sublime_text_kit/metadata/handler.rb
Overview
Handles the creation, deletion, and recreation of metadata.
Class Method Summary collapse
- .with_project(project_dir, metadata_dir) ⇒ Object
- .with_workspace(project_dir, metadata_dir) ⇒ Object
Instance Method Summary collapse
- #create ⇒ Object
- #delete ⇒ Object
-
#initialize(extension, serializer:) ⇒ Handler
constructor
A new instance of Handler.
- #recreate ⇒ Object
Constructor Details
#initialize(extension, serializer:) ⇒ Handler
21 22 23 24 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 21 def initialize extension, serializer: @extension = extension @serializer = serializer end |
Class Method Details
.with_project(project_dir, metadata_dir) ⇒ Object
11 12 13 14 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 11 def self.with_project project_dir, new "sublime-project", serializer: Serializers::Project.new(Pathway[project_dir:, metadata_dir:]) end |
.with_workspace(project_dir, metadata_dir) ⇒ Object
16 17 18 19 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 16 def self.with_workspace project_dir, new "sublime-workspace", serializer: Serializers::Workspace.new(Pathway[project_dir:, metadata_dir:]) end |
Instance Method Details
#create ⇒ Object
26 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 26 def create = path.exist? ? path : path.write(JSON.dump(serializer.to_h)) |
#delete ⇒ Object
28 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 28 def delete = path.exist? ? path.delete : path |
#recreate ⇒ Object
30 |
# File 'lib/sublime_text_kit/metadata/handler.rb', line 30 def recreate = delete && create |