rux 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65ad08596c2e77c802c6f7cb2a458ac8d293d5c80a35c98c8a2eb85a5749b365
4
- data.tar.gz: cb6487c91a9b21e328f491f5f23b8703a8b4b20a35ddcfa029a19e56bc835dca
3
+ metadata.gz: 6a29eb709f4897a46f267f53bc09b7e5379385564b46e063e27801dfaf75b6df
4
+ data.tar.gz: 7873d289f9601f029c3283b28a01f56955b2c88e7eb423ddabb388d42bf02ee1
5
5
  SHA512:
6
- metadata.gz: 4bc663ef90eec4c6a8abcfe997f259ccea9d211e898813280f534e4b8b5853a4bbbf3f8358164f4472f9329594a4a8b24e986d7b2fd621ecf74d92ebe09ea3e7
7
- data.tar.gz: 944d83744f268a221cda2c414e7dd16df13efe37110a99c0d553ff2237be99f17aef37ae88d6653cdff43f0abe56e64cac48614bd5dd7f187e154cfe3cc0cead
6
+ metadata.gz: 20072b74e6c7ecb9c78af907c72ede1b132e28ea6a6d2fe1edbc0675aa8453cedd88de58f397d09d43841c601dd4fd65ff7144e6aaa73bb882ab3de564c897e4
7
+ data.tar.gz: 19b14226872597dfa750b34debe1c39ea681da99eb4c099c065eb2ea0ff1736666070d82f4ec9e5db489b06fbbec5ea25c648396934e0a47eec7c82233a9ae5a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.0.3
2
+ * Use modern AST format.
3
+ * Switch back to unparser v0.6.
4
+
1
5
  ## 1.0.2
2
6
  * Fix bug causing `ArgumentError`s under Ruby 3.0.
3
7
  - Related: https://github.com/mbj/unparser/issues/254
data/lib/rux.rb CHANGED
@@ -71,3 +71,15 @@ module Rux
71
71
  self.tag_builder = self.default_tag_builder
72
72
  self.buffer = self.default_buffer
73
73
  end
74
+
75
+ # unfortunately these have to be set globally :(
76
+ Parser::Builders::Default.tap do |builder|
77
+ builder.emit_lambda = true
78
+ builder.emit_procarg0 = true
79
+ builder.emit_encoding = true
80
+ builder.emit_index = true
81
+ builder.emit_arg_inside_procarg0 = true
82
+ builder.emit_forward_arg = true
83
+ builder.emit_kwargs = true
84
+ builder.emit_match_pattern = true
85
+ end
data/lib/rux/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rux
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
data/rux.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.platform = Gem::Platform::RUBY
12
12
 
13
13
  s.add_dependency 'parser', '~> 3.0'
14
- s.add_dependency 'unparser', '<= 0.5.5'
14
+ s.add_dependency 'unparser', '~> 0.6'
15
15
 
16
16
  s.require_path = 'lib'
17
17
  s.executables << 'ruxc'
data/spec/parser_spec.rb CHANGED
@@ -87,7 +87,7 @@ describe Rux::Parser do
87
87
 
88
88
  it 'handles ruby code with curly braces in attributes' do
89
89
  expect(compile('<Hello foo={[1, 2, 3].map { |n| n * 2 }} />')).to eq(<<~RUBY.strip)
90
- render(Hello.new(foo: [1, 2, 3].map { |n,|
90
+ render(Hello.new(foo: [1, 2, 3].map { |n|
91
91
  n * 2
92
92
  }))
93
93
  RUBY
@@ -104,7 +104,7 @@ describe Rux::Parser do
104
104
  it 'handles tag bodies containing ruby code with curly braces' do
105
105
  expect(compile('<Hello>{[1, 2, 3].map { |n| n * 2 }.join(", ")}</Hello>')).to eq(<<~RUBY.strip)
106
106
  render(Hello.new) {
107
- [1, 2, 3].map { |n,|
107
+ [1, 2, 3].map { |n|
108
108
  n * 2
109
109
  }.join(", ")
110
110
  }
@@ -114,7 +114,7 @@ describe Rux::Parser do
114
114
  it 'handles tag bodies with intermixed text and ruby code' do
115
115
  expect(compile('<Hello>abc {foo} def {bar} baz</Hello>')).to eq(<<~RUBY.strip)
116
116
  render(Hello.new) {
117
- Rux.create_buffer.tap { |_rux_buf_,|
117
+ Rux.create_buffer.tap { |_rux_buf_|
118
118
  _rux_buf_ << "abc "
119
119
  _rux_buf_ << foo
120
120
  _rux_buf_ << " def "
@@ -136,11 +136,11 @@ describe Rux::Parser do
136
136
 
137
137
  expect(compile(rux_code)).to eq(<<~RUBY.strip)
138
138
  render(Outer.new) {
139
- Rux.create_buffer.tap { |_rux_buf_,|
139
+ Rux.create_buffer.tap { |_rux_buf_|
140
140
  _rux_buf_ << " "
141
141
  _rux_buf_ << 5.times.map {
142
142
  render(Inner.new) {
143
- Rux.create_buffer.tap { |_rux_buf_,|
143
+ Rux.create_buffer.tap { |_rux_buf_|
144
144
  _rux_buf_ << "What a "
145
145
  _rux_buf_ << @thing
146
146
  }.to_s
@@ -163,11 +163,11 @@ describe Rux::Parser do
163
163
 
164
164
  expect(compile(rux_code)).to eq(<<~RUBY.strip)
165
165
  Rux.tag("div") {
166
- Rux.create_buffer.tap { |_rux_buf_,|
166
+ Rux.create_buffer.tap { |_rux_buf_|
167
167
  _rux_buf_ << " "
168
168
  _rux_buf_ << 5.times.map {
169
169
  Rux.tag("p") {
170
- Rux.create_buffer.tap { |_rux_buf_,|
170
+ Rux.create_buffer.tap { |_rux_buf_|
171
171
  _rux_buf_ << "What a "
172
172
  _rux_buf_ << @thing
173
173
  }.to_s
@@ -198,11 +198,11 @@ describe Rux::Parser do
198
198
 
199
199
  expect(compile(rux_code)).to eq(<<~RUBY.strip)
200
200
  render(Outer.new) {
201
- Rux.create_buffer.tap { |_rux_buf_,|
201
+ Rux.create_buffer.tap { |_rux_buf_|
202
202
  _rux_buf_ << " "
203
203
  _rux_buf_ << 5.times.map {
204
204
  Rux.tag("div") {
205
- Rux.create_buffer.tap { |_rux_buf_,|
205
+ Rux.create_buffer.tap { |_rux_buf_|
206
206
  _rux_buf_ << "So "
207
207
  _rux_buf_ << @cool
208
208
  }.to_s
@@ -245,7 +245,7 @@ describe Rux::Parser do
245
245
  it 'emits handles spaces between adjacent ruby code snippets' do
246
246
  expect(compile("<Hello>{first} {second}</Hello>")).to eq(<<~RUBY.strip)
247
247
  render(Hello.new) {
248
- Rux.create_buffer.tap { |_rux_buf_,|
248
+ Rux.create_buffer.tap { |_rux_buf_|
249
249
  _rux_buf_ << first
250
250
  _rux_buf_ << " "
251
251
  _rux_buf_ << second
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rux
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-12 00:00:00.000000000 Z
11
+ date: 2021-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: unparser
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "<="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.5.5
33
+ version: '0.6'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "<="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.5.5
40
+ version: '0.6'
41
41
  description: A jsx-inspired way to write view components.
42
42
  email:
43
43
  - camertron@gmail.com
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubygems_version: 3.2.3
100
+ rubygems_version: 3.1.4
101
101
  signing_key:
102
102
  specification_version: 4
103
103
  summary: A jsx-inspired way to write view components.