class Weaver::JavaScriptObject

Public Class Methods

new(&block) click to toggle source
# File lib/weaver/element_types/javascript_object.rb, line 5
def initialize(&block)
  @object = {}
  instance_eval(&block) if block
end

Public Instance Methods

generate() click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/weaver/element_types/javascript_object.rb, line 14
def variable(name, var_name)
  @object[name] = { type: :var, value: var_name }
end