Class: Weaver::JavaScriptObject
- Inherits:
-
Object
- Object
- Weaver::JavaScriptObject
- Defined in:
- lib/weaver/element_types/javascript_object.rb
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(&block) ⇒ JavaScriptObject
constructor
A new instance of JavaScriptObject.
- #string(name, string) ⇒ Object
- #variable(name, var_name) ⇒ Object
Constructor Details
#initialize(&block) ⇒ JavaScriptObject
Returns a new instance of JavaScriptObject.
5 6 7 8 |
# File 'lib/weaver/element_types/javascript_object.rb', line 5 def initialize(&block) @object = {} instance_eval(&block) if block end |
Instance Method Details
#generate ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/weaver/element_types/javascript_object.rb', line 18 def generate result = @object.map do |key, value| value_expression = value[:value] value_expression = "\"#{value[:value]}\"" if value[:type] == :string "#{key}: #{value_expression}" end.join ',' "{#{result}}" end |
#string(name, string) ⇒ Object
10 11 12 |
# File 'lib/weaver/element_types/javascript_object.rb', line 10 def string(name, string) @object[name] = { type: :string, value: string } end |
#variable(name, var_name) ⇒ Object
14 15 16 |
# File 'lib/weaver/element_types/javascript_object.rb', line 14 def variable(name, var_name) @object[name] = { type: :var, value: var_name } end |