class Isomorfeus::AssetManager::JsImport
Public Class Methods
new(package, js_constant = nil, imported_constants = nil, js_sub_constant = nil, import_assignment = nil)
click to toggle source
# File lib/isomorfeus/asset_manager/js_import.rb, line 4 def initialize(package, js_constant = nil, imported_constants = nil, js_sub_constant = nil, import_assignment = nil) @package = package @js_constant = js_constant @js_sub_constant = js_sub_constant @imported_constants = imported_constants @import_assignment = import_assignment end
Public Instance Methods
to_s()
click to toggle source
# File lib/isomorfeus/asset_manager/js_import.rb, line 12 def to_s js = '' if @imported_constants if @js_sub_constant js << "import { #{@imported_constants} as #{@js_constant}_#{@js_sub_constant} } from \"#{@package}\";\n" else if @imported_constants.is_a?(String) if @imported_constants == '*' js << "import * as #{@js_constant} from \"#{@package}\";\n" else js << "import #{@imported_constants} from \"#{@package}\";\n" end else js << "import { #{@imported_constants.join(", ")} } from \"#{@package}\";\n" end end if @js_constant js << "if (!global.#{@js_constant}) { global.#{@js_constant} = {}; }\n" if @js_sub_constant if @js_constant if @js_sub_constant js << "global.#{@js_constant}.#{@js_sub_constant} = #{@js_constant}_#{@js_sub_constant};\n" else if @imported_constants.is_a?(String) if @imported_constants == '*' js << "global.#{@js_constant} = #{@js_constant};\n" else js << "global.#{@js_constant}.#{@import_assignment ? @import_assignment : @imported_constants} = #{@imported_constants};\n" end else @imported_constants.each do |imported_constant| js << "global.#{@js_constant}.#{@import_assignment ? @import_assignment : imported_constant} = #{imported_constant};\n" end end end end else @imported_constants.each do |imported_constant| js << "global.#{imported_constant} = #{imported_constant};\n" end end elsif @js_constant.nil? js << "import \"#{@package}\";\n" else js << "import #{@js_constant} from \"#{@package}\";\n" js << "global.#{@js_constant} = #{@js_constant};\n" end js end