Commit e2cf207

mokha <mokha@cisco.com>
2019-05-10 22:06:35
use intention revealing names
1 parent 6bc679a
Changed files (2)
lib
scim
spec
scim
lib/scim/kit/v2/parser.rb
@@ -38,17 +38,17 @@ subAttr   = "." ATTRNAME
 =end
       class Parser < Parslet::Parser
         root :filter
-        rule(:filter) { (attrExp | logExp | valuePath) | (not_op? >> lparen >> filter >> rparen) }
-        rule(:valuePath) { attrPath >> lsquare_bracket >> valFilter >> rsquare_bracket }
-        rule(:valFilter) { attrExp | logExp | (not_op? >> lparen >> valFilter >> rparen) }
-        rule(:attrExp) { (attrPath >> space >> presence) | (attrPath >> space >> compareOp >> space >> quote >> compValue >> quote) }
-        rule(:logExp) { filter >> space >> (and_op | or_op) >> space >> filter }
-        rule(:compValue) { (falsey | null | truthy | number | string | scim_schema_uri).repeat(1) }
-        rule(:compareOp) { equal | not_equal | contains | starts_with | ends_with | greater_than | less_than | less_than_equals | greater_than_equals }
-        rule(:attrPath) { scim_schema_uri | attrname >> subAttr.maybe }
-        rule(:attrname) { alpha >> nameChar.repeat(1) }
-        rule(:nameChar) { hyphen | underscore | digit | alpha }
-        rule(:subAttr) { dot >> attrname }
+        rule(:filter) { (attribute_expression | logical_expression | value_path) | (not_op? >> lparen >> filter >> rparen) }
+        rule(:value_path) { attribute_path >> lbracket >> valFilter >> rbracket }
+        rule(:value_filter) { attribute_expression | logical_expression | (not_op? >> lparen >> value_filter >> rparen) }
+        rule(:attribute_expression) { (attribute_path >> space >> presence) | (attribute_path >> space >> comparison_operator >> space >> quote >> comparison_value >> quote) }
+        rule(:logical_expression) { filter >> space >> (and_op | or_op) >> space >> filter }
+        rule(:comparison_value) { (falsey | null | truthy | number | string | scim_schema_uri).repeat(1) }
+        rule(:comparison_operator) { equal | not_equal | contains | starts_with | ends_with | greater_than | less_than | less_than_equals | greater_than_equals }
+        rule(:attribute_path) { scim_schema_uri | attribute_name >> sub_attribute.maybe }
+        rule(:attribute_name) { alpha >> name_character.repeat(1) }
+        rule(:name_character) { hyphen | underscore | digit | alpha }
+        rule(:sub_attribute) { dot >> attribute_name }
         rule(:presence) { str('pr') }
         rule(:and_op) { str('and') }
         rule(:or_op) { str('or') }
@@ -71,8 +71,8 @@ subAttr   = "." ATTRNAME
         rule(:string) { (alpha | single_quote).repeat(1) }
         rule(:lparen) { str('(') >> space? }
         rule(:rparen) { str(')') >> space? }
-        rule(:lsquare_bracket) { str('[') >> space? }
-        rule(:rsquare_bracket) { str(']') >> space? }
+        rule(:lbracket) { str('[') >> space? }
+        rule(:rbracket) { str(']') >> space? }
         rule(:digit) { match(/\d/) }
         rule(:quote) { str('"') }
         rule(:single_quote) { str("'") }
spec/scim/kit/v2/parser_spec.rb
@@ -42,7 +42,7 @@ RSpec.describe Scim::Kit::V2::Parser do
   [
     'emails[type eq "work" and value co "@example.com"]',
   ].each do |x|
-    specify { expect(subject.valuePath).to parse(x) }
+    specify { expect(subject.value_path).to parse(x) }
   end
 
   [
@@ -50,29 +50,29 @@ RSpec.describe Scim::Kit::V2::Parser do
     'firstName pr',
     'firstName eq "Tsuyoshi" and lastName eq "Garret"'
   ].each do |x|
-    specify { expect(subject.valFilter).to parse(x) }
+    specify { expect(subject.value_filter).to parse(x) }
   end
 
   [
     'firstName eq "Tsuyoshi"',
     'firstName pr',
   ].each do |x|
-    specify { expect(subject.attrExp).to parse(x) }
+    specify { expect(subject.attribute_expression).to parse(x) }
   end
 
   [
     'firstName eq "Tsuyoshi" and lastName eq "Garret"',
     %Q(title pr and userType eq "Employee"),
   ].each do |x|
-    specify { expect(subject.logExp).to parse(x) }
+    specify { expect(subject.logical_expression).to parse(x) }
   end
 
   ['false', 'null', 'true', '1', 'hello', "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"].each do |x|
-    specify { expect(subject.compValue).to parse(x) }
+    specify { expect(subject.comparison_value).to parse(x) }
   end
 
   ['eq', 'ne', 'co', 'sw', 'ew', 'gt', 'lt', 'ge', 'le'].each do |x|
-    specify { expect(subject.compareOp).to parse(x) }
+    specify { expect(subject.comparison_operator).to parse(x) }
   end
 
   [
@@ -86,7 +86,7 @@ RSpec.describe Scim::Kit::V2::Parser do
     'meta.lastModified',
     'schemas',
   ].each do |x|
-    specify { expect(subject.attrPath).to parse(x) }
+    specify { expect(subject.attribute_path).to parse(x) }
   end
 
   [
@@ -96,10 +96,10 @@ RSpec.describe Scim::Kit::V2::Parser do
     'username1',
     'schemas',
   ].each do |x|
-    specify { expect(subject.attrname).to parse(x) }
+    specify { expect(subject.attribute_name).to parse(x) }
   end
-  ['-', '_', '0', 'a'].each { |x| specify { expect(subject.nameChar).to parse(x) } }
-  specify { expect(subject.subAttr).to parse('.name') }
+  ['-', '_', '0', 'a'].each { |x| specify { expect(subject.name_character).to parse(x) } }
+  specify { expect(subject.sub_attribute).to parse('.name') }
   specify { expect(subject.presence).to parse('pr') }
   specify { expect(subject.and_op).to parse('and') }
   specify { expect(subject.or_op).to parse('or') }