jsrb 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,10 +37,10 @@ module Jsrb
37
37
  def ruby_to_js_ast(rbv)
38
38
  case rbv
39
39
  when ExprChain
40
- rbv.unwrap!
40
+ rbv.object
41
41
  when Proc
42
42
  chainables = rbv.parameters.map do |_type, name|
43
- new_expression.member!(name.to_s)
43
+ new_expression[name.to_s]
44
44
  end
45
45
  result, statements = in_new_context { rbv.call(*chainables) }
46
46
  if result
@@ -63,7 +63,7 @@ module Jsrb
63
63
  statements = rbv.map do |key, v|
64
64
  {
65
65
  type: 'ExpressionStatement',
66
- expression: new_expression.member!(var_name).member!(key).assign!(v).unwrap!
66
+ expression: new_expression[var_name][key].set(v).object
67
67
  }
68
68
  end
69
69
  {
@@ -71,14 +71,14 @@ module Jsrb
71
71
  callee: {
72
72
  type: 'FunctionExpression',
73
73
  id: nil,
74
- params: [new_expression.member!(var_name).unwrap!],
74
+ params: [new_expression[var_name].object],
75
75
  body: {
76
76
  type: 'BlockStatement',
77
77
  body: statements.concat(
78
78
  [
79
79
  {
80
80
  type: 'ReturnStatement',
81
- argument: new_expression.member!(var_name).unwrap!
81
+ argument: new_expression[var_name].object
82
82
  }
83
83
  ]
84
84
  )
@@ -99,12 +99,12 @@ module Jsrb
99
99
  when TrueClass, FalseClass, String, NilClass
100
100
  build_literal_ast(rbv)
101
101
  when Float::INFINITY
102
- new_expression.member!('Number').member!('POSITIVE_INFINITY').unwrap!
102
+ new_expression[:Number][:POSITIVE_INFINITY].object
103
103
  when -Float::INFINITY
104
- new_expression.member!('Number').member!('NEGATIVE_INFINITY').unwrap!
104
+ new_expression[:Number][:NEGATIVE_INFINITY].object
105
105
  when Float
106
106
  if rbv.nan?
107
- new_expression.member!('Number').member!('NaN').unwrap!
107
+ new_expression[:Number][:NaN].object
108
108
  else
109
109
  build_finite_number_ast(rbv)
110
110
  end
@@ -6,7 +6,7 @@ module Jsrb
6
6
  self.default_format = Mime[:js]
7
7
 
8
8
  def self.call(template)
9
- %(jsrb = Jsrb::Base.new; #{template.source}; jsrb.generate_code)
9
+ %(js = Jsrb::Base.new; #{template.source}; js.generate_code)
10
10
  end
11
11
  end
12
12
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jsrb
4
- VERSION = '0.2.1'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shun MIZUKAMI
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-11 00:00:00.000000000 Z
11
+ date: 2019-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs