Class: Mayu::Resources::Types::JavaScript
- Extended by:
- T::Sig
- Defined in:
- lib/mayu/resources/types/javascript.rb
Constant Summary collapse
- MarshalFormat =
T.type_alias { [String, String] }
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Instance Method Summary collapse
- #assets ⇒ Object
-
#initialize(resource) ⇒ JavaScript
constructor
A new instance of JavaScript.
- #marshal_dump ⇒ Object
- #marshal_load(args) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(resource) ⇒ JavaScript
16 17 18 19 20 21 22 23 24 |
# File 'lib/mayu/resources/types/javascript.rb', line 16 def initialize(resource) super @filename = T.let( Base64.urlsafe_encode64(@resource.content_hash).+(".js").freeze, String ) @source = T.let(resource.read(encoding: "utf-8").freeze, String) end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
13 14 15 |
# File 'lib/mayu/resources/types/javascript.rb', line 13 def filename @filename end |
Instance Method Details
#assets ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/mayu/resources/types/javascript.rb', line 27 def assets [ Asset.new( filename, Generators::WriteFile.new(contents: @source, compress: true) ) ] end |
#marshal_dump ⇒ Object
39 40 41 |
# File 'lib/mayu/resources/types/javascript.rb', line 39 def marshal_dump [@filename, @source] end |
#marshal_load(args) ⇒ Object
44 45 46 |
# File 'lib/mayu/resources/types/javascript.rb', line 44 def marshal_load(args) @filename, @source = args end |