json_select 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/.travis.yml +1 -1
- data/Gemfile +1 -0
- data/README.md +52 -1
- data/Rakefile +12 -1
- data/lib/json_select/helpers/depth.rb +6 -2
- data/lib/json_select/helpers/key.rb +6 -2
- data/lib/json_select/helpers/position.rb +15 -7
- data/lib/json_select/helpers/size.rb +14 -6
- data/lib/json_select/helpers/type.rb +8 -4
- data/lib/json_select/selector.rb +47 -11
- data/lib/json_select/selector_parser.rb +179 -44
- data/lib/json_select/selector_parser.tt +9 -2
- data/lib/json_select/version.rb +1 -1
- data/spec/conformance_spec.rb +94 -38
- data/spec/fixtures/{basic_children.selector → parser/level_1/basic_children.output} +0 -0
- data/spec/fixtures/parser/level_1/basic_children.selector +1 -0
- data/spec/fixtures/{basic_combination.selector → parser/level_1/basic_combination.output} +0 -0
- data/spec/fixtures/parser/level_1/basic_combination.selector +1 -0
- data/spec/fixtures/parser/level_1/basic_first-child.output +1 -0
- data/spec/fixtures/{basic_first-child.selector → parser/level_1/basic_first-child.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_grouping.output +1 -0
- data/spec/fixtures/{basic_grouping.selector → parser/level_1/basic_grouping.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_id.output +1 -0
- data/spec/fixtures/{basic_id.selector → parser/level_1/basic_id.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_id_multiple.output +1 -0
- data/spec/fixtures/{basic_id_multiple.selector → parser/level_1/basic_id_multiple.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_id_quotes.output +1 -0
- data/spec/fixtures/{basic_id_quotes.selector → parser/level_1/basic_id_quotes.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_id_with_type.output +1 -0
- data/spec/fixtures/{basic_id_with_type.selector → parser/level_1/basic_id_with_type.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_last-child.output +1 -0
- data/spec/fixtures/{basic_last-child.selector → parser/level_1/basic_last-child.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_nth-child-2.output +1 -0
- data/spec/fixtures/{basic_nth-child-2.selector → parser/level_1/basic_nth-child-2.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_nth-child.output +1 -0
- data/spec/fixtures/{basic_nth-child.selector → parser/level_1/basic_nth-child.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_nth-last-child.output +1 -0
- data/spec/fixtures/{basic_nth-last-child.selector → parser/level_1/basic_nth-last-child.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_root_pseudo.output +1 -0
- data/spec/fixtures/{basic_root_pseudo.selector → parser/level_1/basic_root_pseudo.selector} +0 -0
- data/spec/fixtures/{basic_type.selector → parser/level_1/basic_type.output} +0 -0
- data/spec/fixtures/parser/level_1/basic_type.selector +1 -0
- data/spec/fixtures/{basic_type2.selector → parser/level_1/basic_type2.output} +0 -0
- data/spec/fixtures/parser/level_1/basic_type2.selector +1 -0
- data/spec/fixtures/parser/level_1/basic_type3.output +1 -0
- data/spec/fixtures/{basic_type3.selector → parser/level_1/basic_type3.selector} +0 -0
- data/spec/fixtures/parser/level_1/basic_universal.output +1 -0
- data/spec/fixtures/{basic_universal.selector → parser/level_1/basic_universal.selector} +0 -0
- data/spec/fixtures/parser/level_3/basic_has-sans-paren.output +1 -0
- data/spec/fixtures/parser/level_3/basic_has-sans-paren.selector +2 -0
- data/spec/fixtures/parser/level_3/basic_has-whitespace.output +1 -0
- data/spec/fixtures/parser/level_3/basic_has-whitespace.selector +3 -0
- data/spec/fixtures/parser/level_3/basic_has.output +1 -0
- data/spec/fixtures/parser/level_3/basic_has.selector +1 -0
- data/spec/parser_spec.rb +52 -0
- metadata +123 -148
- data/spec/fixtures/README.md +0 -14
- data/spec/fixtures/alltests.txt +0 -31
- data/spec/fixtures/basic.json +0 -31
- data/spec/fixtures/basic.xml +0 -31
- data/spec/fixtures/basic_children.ast +0 -14
- data/spec/fixtures/basic_children.output +0 -1
- data/spec/fixtures/basic_combination.ast +0 -13
- data/spec/fixtures/basic_combination.output +0 -1
- data/spec/fixtures/basic_first-child.ast +0 -11
- data/spec/fixtures/basic_first-child.output +0 -2
- data/spec/fixtures/basic_grouping.ast +0 -22
- data/spec/fixtures/basic_grouping.output +0 -4
- data/spec/fixtures/basic_id.ast +0 -7
- data/spec/fixtures/basic_id.output +0 -1
- data/spec/fixtures/basic_id_multiple.ast +0 -7
- data/spec/fixtures/basic_id_multiple.output +0 -3
- data/spec/fixtures/basic_id_quotes.ast +0 -7
- data/spec/fixtures/basic_id_quotes.output +0 -2
- data/spec/fixtures/basic_id_with_type.ast +0 -10
- data/spec/fixtures/basic_id_with_type.output +0 -1
- data/spec/fixtures/basic_last-child.ast +0 -11
- data/spec/fixtures/basic_last-child.output +0 -2
- data/spec/fixtures/basic_nth-child-2.ast +0 -11
- data/spec/fixtures/basic_nth-child-2.output +0 -4
- data/spec/fixtures/basic_nth-child.ast +0 -11
- data/spec/fixtures/basic_nth-child.output +0 -3
- data/spec/fixtures/basic_nth-last-child.ast +0 -11
- data/spec/fixtures/basic_nth-last-child.output +0 -2
- data/spec/fixtures/basic_root_pseudo.ast +0 -6
- data/spec/fixtures/basic_root_pseudo.output +0 -31
- data/spec/fixtures/basic_type.ast +0 -7
- data/spec/fixtures/basic_type.output +0 -14
- data/spec/fixtures/basic_type2.ast +0 -7
- data/spec/fixtures/basic_type2.output +0 -1
- data/spec/fixtures/basic_type3.ast +0 -7
- data/spec/fixtures/basic_type3.output +0 -47
- data/spec/fixtures/basic_universal.ast +0 -5
- data/spec/fixtures/basic_universal.output +0 -86
@@ -1,86 +0,0 @@
|
|
1
|
-
"Lloyd"
|
2
|
-
"Hilaiel"
|
3
|
-
{
|
4
|
-
"first": "Lloyd",
|
5
|
-
"last": "Hilaiel"
|
6
|
-
}
|
7
|
-
"yellow"
|
8
|
-
"Bulgarian"
|
9
|
-
"advanced"
|
10
|
-
{
|
11
|
-
"language": "Bulgarian",
|
12
|
-
"level": "advanced"
|
13
|
-
}
|
14
|
-
"English"
|
15
|
-
"native"
|
16
|
-
{
|
17
|
-
"language": "English",
|
18
|
-
"level": "native"
|
19
|
-
}
|
20
|
-
"Spanish"
|
21
|
-
"beginner"
|
22
|
-
{
|
23
|
-
"language": "Spanish",
|
24
|
-
"level": "beginner"
|
25
|
-
}
|
26
|
-
[
|
27
|
-
{
|
28
|
-
"language": "Bulgarian",
|
29
|
-
"level": "advanced"
|
30
|
-
},
|
31
|
-
{
|
32
|
-
"language": "English",
|
33
|
-
"level": "native"
|
34
|
-
},
|
35
|
-
{
|
36
|
-
"language": "Spanish",
|
37
|
-
"level": "beginner"
|
38
|
-
}
|
39
|
-
]
|
40
|
-
"window"
|
41
|
-
"aisle"
|
42
|
-
[
|
43
|
-
"window",
|
44
|
-
"aisle"
|
45
|
-
]
|
46
|
-
"beer"
|
47
|
-
"whiskey"
|
48
|
-
"wine"
|
49
|
-
[
|
50
|
-
"beer",
|
51
|
-
"whiskey",
|
52
|
-
"wine"
|
53
|
-
]
|
54
|
-
172
|
55
|
-
"somehow YAJL swallows the next object after a number"
|
56
|
-
{
|
57
|
-
"name": {
|
58
|
-
"first": "Lloyd",
|
59
|
-
"last": "Hilaiel"
|
60
|
-
},
|
61
|
-
"favoriteColor": "yellow",
|
62
|
-
"languagesSpoken": [
|
63
|
-
{
|
64
|
-
"language": "Bulgarian",
|
65
|
-
"level": "advanced"
|
66
|
-
},
|
67
|
-
{
|
68
|
-
"language": "English",
|
69
|
-
"level": "native"
|
70
|
-
},
|
71
|
-
{
|
72
|
-
"language": "Spanish",
|
73
|
-
"level": "beginner"
|
74
|
-
}
|
75
|
-
],
|
76
|
-
"seatingPreference": [
|
77
|
-
"window",
|
78
|
-
"aisle"
|
79
|
-
],
|
80
|
-
"drinkPreference": [
|
81
|
-
"beer",
|
82
|
-
"whiskey",
|
83
|
-
"wine"
|
84
|
-
],
|
85
|
-
"weight": 172
|
86
|
-
}
|