Class: Warg::Script
- Inherits:
-
Object
- Object
- Warg::Script
- Defined in:
- lib/warg.rb
Defined Under Namespace
Classes: Interpolations, Template
Constant Summary collapse
- REMOTE_DIRECTORY =
Pathname.new("$HOME").join("warg", "scripts")
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
Returns the value of attribute content.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#remote_path ⇒ Object
readonly
Returns the value of attribute remote_path.
Instance Method Summary collapse
-
#initialize(script_name, context, defaults_path: nil) ⇒ Script
constructor
A new instance of Script.
- #install_directory ⇒ Object
- #install_path ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(script_name, context, defaults_path: nil) ⇒ Script
Returns a new instance of Script.
2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 |
# File 'lib/warg.rb', line 2154 def initialize(script_name, context, defaults_path: nil) command_name = Command::Name.from_relative_script_path(script_name) @name = command_name.script @context = context local_path = Pathname.new(@name) # FIXME: search parent directories for a defaults script defaults_path ||= File.join(local_path.dirname, "_defaults") @defaults = Template.find(defaults_path, fail_if_missing: false) @template = Template.find(local_path.to_s) @remote_path = REMOTE_DIRECTORY.join(local_path) end |
Instance Attribute Details
#content ⇒ Object (readonly)
Returns the value of attribute content.
2150 2151 2152 |
# File 'lib/warg.rb', line 2150 def content @content end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
2151 2152 2153 |
# File 'lib/warg.rb', line 2151 def name @name end |
#remote_path ⇒ Object (readonly)
Returns the value of attribute remote_path.
2152 2153 2154 |
# File 'lib/warg.rb', line 2152 def remote_path @remote_path end |
Instance Method Details
#install_directory ⇒ Object
2178 2179 2180 |
# File 'lib/warg.rb', line 2178 def install_directory @remote_path.dirname end |
#install_path ⇒ Object
2182 2183 2184 |
# File 'lib/warg.rb', line 2182 def install_path @remote_path.relative_path_from Pathname.new("$HOME") end |
#to_s ⇒ Object
2186 2187 2188 |
# File 'lib/warg.rb', line 2186 def to_s name.dup end |