ruston 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rust.yml +22 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +3 -1
- data/README.md +4 -4
- data/examples/rb/bench-ruston.rb +45 -0
- data/examples/rb/big.json +1 -0
- data/examples/ruby_run.rs +1 -0
- data/lib/ruston/version.rb +1 -1
- data/src/json.rs +5 -0
- data/src/json_test.rs +57 -0
- data/src/lib.rs +3 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3ed8acd3e6c5446a5a0d0492375522fe96437cc1fb0a361e3e580a6bc452b10
|
4
|
+
data.tar.gz: 9ed019a76e747a31f8da363fdfe92ab57873e62449283eb7d1a60b8217284461
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37c6b9c3aa5ec42c0126810e9597ef2a48d5156142e5a6e9ddecf5c2fdc9f13a05350da338ccbe39e85697bac092f6f9a02d462bc1216ee30085f9e8ef2854bd
|
7
|
+
data.tar.gz: 18a282625f2553dab7fc638c3d241f68d83f10b80a21a9c1b5f44d2fb8c84e68a7736be883b948cb6bbcae13a9c61beac8fb5d586a665f82e9ba32067b3ac78d
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: Rust
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ "master" ]
|
6
|
+
# pull_request:
|
7
|
+
# branches: [ "master" ]
|
8
|
+
|
9
|
+
env:
|
10
|
+
CARGO_TERM_COLOR: always
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
build:
|
14
|
+
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v3
|
19
|
+
- name: Build
|
20
|
+
run: cargo build --verbose
|
21
|
+
- name: Run tests
|
22
|
+
run: cargo test --verbose
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ruston (0.0.
|
4
|
+
ruston (0.0.2)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
+
json (2.6.2)
|
9
10
|
rake (13.0.6)
|
10
11
|
|
11
12
|
PLATFORMS
|
@@ -13,6 +14,7 @@ PLATFORMS
|
|
13
14
|
|
14
15
|
DEPENDENCIES
|
15
16
|
bundler (>= 1.17)
|
17
|
+
json (>= 2)
|
16
18
|
rake (>= 10.0)
|
17
19
|
ruston!
|
18
20
|
|
data/README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# Ruston
|
2
2
|
|
3
|
-
|
3
|
+
[![Rust](https://github.com/udzura/ruston/actions/workflows/rust.yml/badge.svg)](https://github.com/udzura/ruston/actions/workflows/rust.yml) [![Gem](https://badgen.net/rubygems/v/ruston)](https://rubygems.org/gems/ruston)
|
4
4
|
|
5
|
-
|
5
|
+
A Rust-made JSON parser example
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
|
-
|
9
|
+
Requires cargo and RubyGems >= 3.4.0.dev
|
10
10
|
|
11
11
|
```ruby
|
12
12
|
gem 'ruston'
|
@@ -22,7 +22,7 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
See examples/rb .
|
26
26
|
|
27
27
|
## Development
|
28
28
|
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
require 'ruston'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
N = 100000
|
6
|
+
M = 10
|
7
|
+
|
8
|
+
Benchmark.bmbm do |x|
|
9
|
+
SIMPLE = %q({"Hello": "world", "lireral": true, "numeric": 1})
|
10
|
+
r = Ruston.new
|
11
|
+
|
12
|
+
x.report("ruston obj") { N.times { Ruston.new.parse(SIMPLE) } }
|
13
|
+
x.report("ruston2 obj") { N.times { r.parse(SIMPLE) } }
|
14
|
+
x.report("json obj") { N.times { JSON.parse(SIMPLE) } }
|
15
|
+
|
16
|
+
ARRAY = %q([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
|
17
|
+
|
18
|
+
x.report("ruston ary") { N.times { Ruston.new.parse(ARRAY) } }
|
19
|
+
x.report("ruston2 ary") { N.times { r.parse(ARRAY) } }
|
20
|
+
x.report("json ary") { N.times { JSON.parse(ARRAY) } }
|
21
|
+
|
22
|
+
TRUE = %q(true)
|
23
|
+
|
24
|
+
x.report("ruston true") { N.times { Ruston.new.parse(TRUE) } }
|
25
|
+
x.report("ruston2 true") { N.times { r.parse(TRUE) } }
|
26
|
+
x.report("json true") { N.times { JSON.parse(TRUE) } }
|
27
|
+
|
28
|
+
NUM = %q(123)
|
29
|
+
|
30
|
+
x.report("ruston num") { N.times { Ruston.new.parse(NUM) } }
|
31
|
+
x.report("ruston2 num") { N.times { r.parse(NUM) } }
|
32
|
+
x.report("json num") { N.times { JSON.parse(NUM) } }
|
33
|
+
|
34
|
+
STR = %q("true")
|
35
|
+
|
36
|
+
x.report("ruston str") { N.times { Ruston.new.parse(STR) } }
|
37
|
+
x.report("ruston2 str") { N.times { r.parse(STR) } }
|
38
|
+
x.report("json str") { N.times { JSON.parse(STR) } }
|
39
|
+
|
40
|
+
BIG = File.read("examples/rb/big.json")
|
41
|
+
|
42
|
+
x.report("ruston big") { M.times { Ruston.new.parse(BIG) } }
|
43
|
+
x.report("ruston2 big") { M.times { r.parse(BIG) } }
|
44
|
+
x.report("json big") { M.times { JSON.parse(BIG) } }
|
45
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"key0":1,"key1":2,"key2":3,"key3":4,"key4":5,"key5":6,"key6":7,"key7":8,"key8":9,"key9":10,"key10":11,"key11":12,"key12":13,"key13":14,"key14":15,"key15":16,"key16":17,"key17":18,"key18":19,"key19":20,"key20":21,"key21":22,"key22":23,"key23":24,"key24":25,"key25":26,"key26":27,"key27":28,"key28":29,"key29":30,"key30":31,"key31":32,"key32":33,"key33":34,"key34":35,"key35":36,"key36":37,"key37":38,"key38":39,"key39":40,"key40":41,"key41":42,"key42":43,"key43":44,"key44":45,"key45":46,"key46":47,"key47":48,"key48":49,"key49":50,"key50":51,"key51":52,"key52":53,"key53":54,"key54":55,"key55":56,"key56":57,"key57":58,"key58":59,"key59":60,"key60":61,"key61":62,"key62":63,"key63":64,"key64":65,"key65":66,"key66":67,"key67":68,"key68":69,"key69":70,"key70":71,"key71":72,"key72":73,"key73":74,"key74":75,"key75":76,"key76":77,"key77":78,"key78":79,"key79":80,"key80":81,"key81":82,"key82":83,"key83":84,"key84":85,"key85":86,"key86":87,"key87":88,"key88":89,"key89":90,"key90":91,"key91":92,"key92":93,"key93":94,"key94":95,"key95":96,"key96":97,"key97":98,"key98":99,"key99":100,"key100":101,"key101":102,"key102":103,"key103":104,"key104":105,"key105":106,"key106":107,"key107":108,"key108":109,"key109":110,"key110":111,"key111":112,"key112":113,"key113":114,"key114":115,"key115":116,"key116":117,"key117":118,"key118":119,"key119":120,"key120":121,"key121":122,"key122":123,"key123":124,"key124":125,"key125":126,"key126":127,"key127":128,"key128":129,"key129":130,"key130":131,"key131":132,"key132":133,"key133":134,"key134":135,"key135":136,"key136":137,"key137":138,"key138":139,"key139":140,"key140":141,"key141":142,"key142":143,"key143":144,"key144":145,"key145":146,"key146":147,"key147":148,"key148":149,"key149":150,"key150":151,"key151":152,"key152":153,"key153":154,"key154":155,"key155":156,"key156":157,"key157":158,"key158":159,"key159":160,"key160":161,"key161":162,"key162":163,"key163":164,"key164":165,"key165":166,"key166":167,"key167":168,"key168":169,"key169":170,"key170":171,"key171":172,"key172":173,"key173":174,"key174":175,"key175":176,"key176":177,"key177":178,"key178":179,"key179":180,"key180":181,"key181":182,"key182":183,"key183":184,"key184":185,"key185":186,"key186":187,"key187":188,"key188":189,"key189":190,"key190":191,"key191":192,"key192":193,"key193":194,"key194":195,"key195":196,"key196":197,"key197":198,"key198":199,"key199":200,"key200":201,"key201":202,"key202":203,"key203":204,"key204":205,"key205":206,"key206":207,"key207":208,"key208":209,"key209":210,"key210":211,"key211":212,"key212":213,"key213":214,"key214":215,"key215":216,"key216":217,"key217":218,"key218":219,"key219":220,"key220":221,"key221":222,"key222":223,"key223":224,"key224":225,"key225":226,"key226":227,"key227":228,"key228":229,"key229":230,"key230":231,"key231":232,"key232":233,"key233":234,"key234":235,"key235":236,"key236":237,"key237":238,"key238":239,"key239":240,"key240":241,"key241":242,"key242":243,"key243":244,"key244":245,"key245":246,"key246":247,"key247":248,"key248":249,"key249":250,"key250":251,"key251":252,"key252":253,"key253":254,"key254":255,"key255":256,"key256":257,"key257":258,"key258":259,"key259":260,"key260":261,"key261":262,"key262":263,"key263":264,"key264":265,"key265":266,"key266":267,"key267":268,"key268":269,"key269":270,"key270":271,"key271":272,"key272":273,"key273":274,"key274":275,"key275":276,"key276":277,"key277":278,"key278":279,"key279":280,"key280":281,"key281":282,"key282":283,"key283":284,"key284":285,"key285":286,"key286":287,"key287":288,"key288":289,"key289":290,"key290":291,"key291":292,"key292":293,"key293":294,"key294":295,"key295":296,"key296":297,"key297":298,"key298":299,"key299":300,"key300":301,"key301":302,"key302":303,"key303":304,"key304":305,"key305":306,"key306":307,"key307":308,"key308":309,"key309":310,"key310":311,"key311":312,"key312":313,"key313":314,"key314":315,"key315":316,"key316":317,"key317":318,"key318":319,"key319":320,"key320":321,"key321":322,"key322":323,"key323":324,"key324":325,"key325":326,"key326":327,"key327":328,"key328":329,"key329":330,"key330":331,"key331":332,"key332":333,"key333":334,"key334":335,"key335":336,"key336":337,"key337":338,"key338":339,"key339":340,"key340":341,"key341":342,"key342":343,"key343":344,"key344":345,"key345":346,"key346":347,"key347":348,"key348":349,"key349":350,"key350":351,"key351":352,"key352":353,"key353":354,"key354":355,"key355":356,"key356":357,"key357":358,"key358":359,"key359":360,"key360":361,"key361":362,"key362":363,"key363":364,"key364":365,"key365":366,"key366":367,"key367":368,"key368":369,"key369":370,"key370":371,"key371":372,"key372":373,"key373":374,"key374":375,"key375":376,"key376":377,"key377":378,"key378":379,"key379":380,"key380":381,"key381":382,"key382":383,"key383":384,"key384":385,"key385":386,"key386":387,"key387":388,"key388":389,"key389":390,"key390":391,"key391":392,"key392":393,"key393":394,"key394":395,"key395":396,"key396":397,"key397":398,"key398":399,"key399":400,"key400":401,"key401":402,"key402":403,"key403":404,"key404":405,"key405":406,"key406":407,"key407":408,"key408":409,"key409":410,"key410":411,"key411":412,"key412":413,"key413":414,"key414":415,"key415":416,"key416":417,"key417":418,"key418":419,"key419":420,"key420":421,"key421":422,"key422":423,"key423":424,"key424":425,"key425":426,"key426":427,"key427":428,"key428":429,"key429":430,"key430":431,"key431":432,"key432":433,"key433":434,"key434":435,"key435":436,"key436":437,"key437":438,"key438":439,"key439":440,"key440":441,"key441":442,"key442":443,"key443":444,"key444":445,"key445":446,"key446":447,"key447":448,"key448":449,"key449":450,"key450":451,"key451":452,"key452":453,"key453":454,"key454":455,"key455":456,"key456":457,"key457":458,"key458":459,"key459":460,"key460":461,"key461":462,"key462":463,"key463":464,"key464":465,"key465":466,"key466":467,"key467":468,"key468":469,"key469":470,"key470":471,"key471":472,"key472":473,"key473":474,"key474":475,"key475":476,"key476":477,"key477":478,"key478":479,"key479":480,"key480":481,"key481":482,"key482":483,"key483":484,"key484":485,"key485":486,"key486":487,"key487":488,"key488":489,"key489":490,"key490":491,"key491":492,"key492":493,"key493":494,"key494":495,"key495":496,"key496":497,"key497":498,"key498":499,"key499":500,"key500":501,"key501":502,"key502":503,"key503":504,"key504":505,"key505":506,"key506":507,"key507":508,"key508":509,"key509":510,"key510":511,"key511":512,"key512":513,"key513":514,"key514":515,"key515":516,"key516":517,"key517":518,"key518":519,"key519":520,"key520":521,"key521":522,"key522":523,"key523":524,"key524":525,"key525":526,"key526":527,"key527":528,"key528":529,"key529":530,"key530":531,"key531":532,"key532":533,"key533":534,"key534":535,"key535":536,"key536":537,"key537":538,"key538":539,"key539":540,"key540":541,"key541":542,"key542":543,"key543":544,"key544":545,"key545":546,"key546":547,"key547":548,"key548":549,"key549":550,"key550":551,"key551":552,"key552":553,"key553":554,"key554":555,"key555":556,"key556":557,"key557":558,"key558":559,"key559":560,"key560":561,"key561":562,"key562":563,"key563":564,"key564":565,"key565":566,"key566":567,"key567":568,"key568":569,"key569":570,"key570":571,"key571":572,"key572":573,"key573":574,"key574":575,"key575":576,"key576":577,"key577":578,"key578":579,"key579":580,"key580":581,"key581":582,"key582":583,"key583":584,"key584":585,"key585":586,"key586":587,"key587":588,"key588":589,"key589":590,"key590":591,"key591":592,"key592":593,"key593":594,"key594":595,"key595":596,"key596":597,"key597":598,"key598":599,"key599":600,"key600":601,"key601":602,"key602":603,"key603":604,"key604":605,"key605":606,"key606":607,"key607":608,"key608":609,"key609":610,"key610":611,"key611":612,"key612":613,"key613":614,"key614":615,"key615":616,"key616":617,"key617":618,"key618":619,"key619":620,"key620":621,"key621":622,"key622":623,"key623":624,"key624":625,"key625":626,"key626":627,"key627":628,"key628":629,"key629":630,"key630":631,"key631":632,"key632":633,"key633":634,"key634":635,"key635":636,"key636":637,"key637":638,"key638":639,"key639":640,"key640":641,"key641":642,"key642":643,"key643":644,"key644":645,"key645":646,"key646":647,"key647":648,"key648":649,"key649":650,"key650":651,"key651":652,"key652":653,"key653":654,"key654":655,"key655":656,"key656":657,"key657":658,"key658":659,"key659":660,"key660":661,"key661":662,"key662":663,"key663":664,"key664":665,"key665":666,"key666":667,"key667":668,"key668":669,"key669":670,"key670":671,"key671":672,"key672":673,"key673":674,"key674":675,"key675":676,"key676":677,"key677":678,"key678":679,"key679":680,"key680":681,"key681":682,"key682":683,"key683":684,"key684":685,"key685":686,"key686":687,"key687":688,"key688":689,"key689":690,"key690":691,"key691":692,"key692":693,"key693":694,"key694":695,"key695":696,"key696":697,"key697":698,"key698":699,"key699":700,"key700":701,"key701":702,"key702":703,"key703":704,"key704":705,"key705":706,"key706":707,"key707":708,"key708":709,"key709":710,"key710":711,"key711":712,"key712":713,"key713":714,"key714":715,"key715":716,"key716":717,"key717":718,"key718":719,"key719":720,"key720":721,"key721":722,"key722":723,"key723":724,"key724":725,"key725":726,"key726":727,"key727":728,"key728":729,"key729":730,"key730":731,"key731":732,"key732":733,"key733":734,"key734":735,"key735":736,"key736":737,"key737":738,"key738":739,"key739":740,"key740":741,"key741":742,"key742":743,"key743":744,"key744":745,"key745":746,"key746":747,"key747":748,"key748":749,"key749":750,"key750":751,"key751":752,"key752":753,"key753":754,"key754":755,"key755":756,"key756":757,"key757":758,"key758":759,"key759":760,"key760":761,"key761":762,"key762":763,"key763":764,"key764":765,"key765":766,"key766":767,"key767":768,"key768":769,"key769":770,"key770":771,"key771":772,"key772":773,"key773":774,"key774":775,"key775":776,"key776":777,"key777":778,"key778":779,"key779":780,"key780":781,"key781":782,"key782":783,"key783":784,"key784":785,"key785":786,"key786":787,"key787":788,"key788":789,"key789":790,"key790":791,"key791":792,"key792":793,"key793":794,"key794":795,"key795":796,"key796":797,"key797":798,"key798":799,"key799":800,"key800":801,"key801":802,"key802":803,"key803":804,"key804":805,"key805":806,"key806":807,"key807":808,"key808":809,"key809":810,"key810":811,"key811":812,"key812":813,"key813":814,"key814":815,"key815":816,"key816":817,"key817":818,"key818":819,"key819":820,"key820":821,"key821":822,"key822":823,"key823":824,"key824":825,"key825":826,"key826":827,"key827":828,"key828":829,"key829":830,"key830":831,"key831":832,"key832":833,"key833":834,"key834":835,"key835":836,"key836":837,"key837":838,"key838":839,"key839":840,"key840":841,"key841":842,"key842":843,"key843":844,"key844":845,"key845":846,"key846":847,"key847":848,"key848":849,"key849":850,"key850":851,"key851":852,"key852":853,"key853":854,"key854":855,"key855":856,"key856":857,"key857":858,"key858":859,"key859":860,"key860":861,"key861":862,"key862":863,"key863":864,"key864":865,"key865":866,"key866":867,"key867":868,"key868":869,"key869":870,"key870":871,"key871":872,"key872":873,"key873":874,"key874":875,"key875":876,"key876":877,"key877":878,"key878":879,"key879":880,"key880":881,"key881":882,"key882":883,"key883":884,"key884":885,"key885":886,"key886":887,"key887":888,"key888":889,"key889":890,"key890":891,"key891":892,"key892":893,"key893":894,"key894":895,"key895":896,"key896":897,"key897":898,"key898":899,"key899":900,"key900":901,"key901":902,"key902":903,"key903":904,"key904":905,"key905":906,"key906":907,"key907":908,"key908":909,"key909":910,"key910":911,"key911":912,"key912":913,"key913":914,"key914":915,"key915":916,"key916":917,"key917":918,"key918":919,"key919":920,"key920":921,"key921":922,"key922":923,"key923":924,"key924":925,"key925":926,"key926":927,"key927":928,"key928":929,"key929":930,"key930":931,"key931":932,"key932":933,"key933":934,"key934":935,"key935":936,"key936":937,"key937":938,"key938":939,"key939":940,"key940":941,"key941":942,"key942":943,"key943":944,"key944":945,"key945":946,"key946":947,"key947":948,"key948":949,"key949":950,"key950":951,"key951":952,"key952":953,"key953":954,"key954":955,"key955":956,"key956":957,"key957":958,"key958":959,"key959":960,"key960":961,"key961":962,"key962":963,"key963":964,"key964":965,"key965":966,"key966":967,"key967":968,"key968":969,"key969":970,"key970":971,"key971":972,"key972":973,"key973":974,"key974":975,"key975":976,"key976":977,"key977":978,"key978":979,"key979":980,"key980":981,"key981":982,"key982":983,"key983":984,"key984":985,"key985":986,"key986":987,"key987":988,"key988":989,"key989":990,"key990":991,"key991":992,"key992":993,"key993":994,"key994":995,"key995":996,"key996":997,"key997":998,"key998":999,"key999":1000}
|
data/examples/ruby_run.rs
CHANGED
data/lib/ruston/version.rb
CHANGED
data/src/json.rs
CHANGED
@@ -131,6 +131,11 @@ pub mod lexer {
|
|
131
131
|
self.start = self.current
|
132
132
|
}
|
133
133
|
' ' | '\t' => self.start = self.current,
|
134
|
+
'0' => {
|
135
|
+
// '0' is just 0, not consider 0.1 ... or 0100 ...
|
136
|
+
// for now!
|
137
|
+
self.push_token(TokenType::Number);
|
138
|
+
}
|
134
139
|
'1'..='9' => {
|
135
140
|
while is_digit(self.peek()) {
|
136
141
|
self.advance()?;
|
data/src/json_test.rs
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
#[cfg(test)]
|
2
|
+
pub mod test {
|
3
|
+
use crate::json;
|
4
|
+
use std::error::Error;
|
5
|
+
|
6
|
+
#[test]
|
7
|
+
fn test_literal() -> Result<(), Box<dyn Error>> {
|
8
|
+
let ret = json::parse("true");
|
9
|
+
assert!(match ret {
|
10
|
+
json::Value::True => true,
|
11
|
+
_ => false,
|
12
|
+
});
|
13
|
+
|
14
|
+
let ret = json::parse("123");
|
15
|
+
assert!(match ret {
|
16
|
+
json::Value::Int(i) => {
|
17
|
+
assert_eq!(123, i);
|
18
|
+
true
|
19
|
+
}
|
20
|
+
_ => false,
|
21
|
+
});
|
22
|
+
|
23
|
+
let ret = json::parse("0");
|
24
|
+
assert!(match ret {
|
25
|
+
json::Value::Int(i) => {
|
26
|
+
assert_eq!(0, i);
|
27
|
+
true
|
28
|
+
}
|
29
|
+
_ => false,
|
30
|
+
});
|
31
|
+
|
32
|
+
let ret = json::parse("\"Hola\"");
|
33
|
+
assert!(match ret {
|
34
|
+
json::Value::Str(s) => {
|
35
|
+
assert_eq!("Hola", &s);
|
36
|
+
true
|
37
|
+
}
|
38
|
+
_ => false,
|
39
|
+
});
|
40
|
+
|
41
|
+
let ret = json::parse("[1, 2, 3, false]");
|
42
|
+
assert!(match ret {
|
43
|
+
json::Value::Array(vec) => {
|
44
|
+
assert_eq!(4, vec.len());
|
45
|
+
true
|
46
|
+
}
|
47
|
+
_ => false,
|
48
|
+
});
|
49
|
+
|
50
|
+
let ret = json::parse("{\"foo\": true, \"bar\": 123}");
|
51
|
+
assert!(match ret {
|
52
|
+
json::Value::Object(_, _) => true,
|
53
|
+
_ => false,
|
54
|
+
});
|
55
|
+
Ok(())
|
56
|
+
}
|
57
|
+
}
|
data/src/lib.rs
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruston
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Uchio Kondo
|
@@ -18,6 +18,7 @@ extensions:
|
|
18
18
|
- Cargo.toml
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- ".github/workflows/rust.yml"
|
21
22
|
- ".gitignore"
|
22
23
|
- ".ruby-version"
|
23
24
|
- Cargo.lock
|
@@ -31,12 +32,15 @@ files:
|
|
31
32
|
- bin/setup
|
32
33
|
- examples/lex.rs
|
33
34
|
- examples/parser.rs
|
35
|
+
- examples/rb/bench-ruston.rb
|
36
|
+
- examples/rb/big.json
|
34
37
|
- examples/rb/parsejson.rb
|
35
38
|
- examples/ruby_run.rs
|
36
39
|
- lib/ruston.rb
|
37
40
|
- lib/ruston/version.rb
|
38
41
|
- ruston.gemspec
|
39
42
|
- src/json.rs
|
43
|
+
- src/json_test.rs
|
40
44
|
- src/lib.rs
|
41
45
|
- src/ruby.rs
|
42
46
|
homepage: https://github.com/udzura/ruston
|