expressir 1.0.0-arm64-darwin → 1.2.1-arm64-darwin

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.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +6 -18
  3. data/.github/workflows/rake.yml +50 -5
  4. data/.github/workflows/release.yml +11 -3
  5. data/.hound.yml +3 -0
  6. data/.rubocop.yml +6 -506
  7. data/.yardopts +11 -0
  8. data/Rakefile +3 -0
  9. data/expressir.gemspec +4 -1
  10. data/lib/expressir/express/2.7/express_parser.bundle +0 -0
  11. data/lib/expressir/express/3.0/express_parser.bundle +0 -0
  12. data/lib/expressir/express/3.1/express_parser.bundle +0 -0
  13. data/lib/expressir/express/cache.rb +16 -10
  14. data/lib/expressir/express/formatter.rb +231 -180
  15. data/lib/expressir/express/hyperlink_formatter.rb +15 -1
  16. data/lib/expressir/express/model_visitor.rb +1 -0
  17. data/lib/expressir/express/parser.rb +16 -10
  18. data/lib/expressir/express/resolve_references_model_visitor.rb +7 -5
  19. data/lib/expressir/express/schema_head_formatter.rb +16 -2
  20. data/lib/expressir/express/visitor.rb +280 -254
  21. data/lib/expressir/model/cache.rb +6 -2
  22. data/lib/expressir/model/data_type.rb +9 -0
  23. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  24. data/lib/expressir/model/data_types/array.rb +31 -0
  25. data/lib/expressir/model/data_types/bag.rb +25 -0
  26. data/lib/expressir/model/data_types/binary.rb +22 -0
  27. data/lib/expressir/model/data_types/boolean.rb +10 -0
  28. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  29. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  30. data/lib/expressir/model/data_types/generic.rb +26 -0
  31. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  32. data/lib/expressir/model/data_types/integer.rb +10 -0
  33. data/lib/expressir/model/data_types/list.rb +28 -0
  34. data/lib/expressir/model/data_types/logical.rb +10 -0
  35. data/lib/expressir/model/data_types/number.rb +10 -0
  36. data/lib/expressir/model/data_types/real.rb +19 -0
  37. data/lib/expressir/model/data_types/select.rb +28 -0
  38. data/lib/expressir/model/data_types/set.rb +25 -0
  39. data/lib/expressir/model/data_types/string.rb +22 -0
  40. data/lib/expressir/model/declaration.rb +9 -0
  41. data/lib/expressir/model/declarations/attribute.rb +47 -0
  42. data/lib/expressir/model/declarations/constant.rb +34 -0
  43. data/lib/expressir/model/declarations/entity.rb +53 -0
  44. data/lib/expressir/model/declarations/function.rb +67 -0
  45. data/lib/expressir/model/declarations/interface.rb +28 -0
  46. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  47. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  48. data/lib/expressir/model/declarations/parameter.rb +34 -0
  49. data/lib/expressir/model/declarations/procedure.rb +64 -0
  50. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  51. data/lib/expressir/model/declarations/rule.rb +71 -0
  52. data/lib/expressir/model/declarations/schema.rb +117 -0
  53. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  54. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  55. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  56. data/lib/expressir/model/declarations/type.rb +45 -0
  57. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  58. data/lib/expressir/model/declarations/variable.rb +34 -0
  59. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  60. data/lib/expressir/model/expression.rb +9 -0
  61. data/lib/expressir/model/expressions/aggregate_initializer.rb +6 -2
  62. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  63. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  64. data/lib/expressir/model/expressions/entity_constructor.rb +8 -3
  65. data/lib/expressir/model/expressions/function_call.rb +22 -0
  66. data/lib/expressir/model/expressions/interval.rb +17 -6
  67. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  68. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  69. data/lib/expressir/model/identifier.rb +26 -4
  70. data/lib/expressir/model/literal.rb +9 -0
  71. data/lib/expressir/model/literals/binary.rb +6 -2
  72. data/lib/expressir/model/literals/integer.rb +6 -2
  73. data/lib/expressir/model/literals/logical.rb +6 -2
  74. data/lib/expressir/model/literals/real.rb +6 -2
  75. data/lib/expressir/model/literals/string.rb +8 -3
  76. data/lib/expressir/model/model_element.rb +63 -37
  77. data/lib/expressir/model/reference.rb +9 -0
  78. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  79. data/lib/expressir/model/references/group_reference.rb +22 -0
  80. data/lib/expressir/model/references/index_reference.rb +27 -0
  81. data/lib/expressir/model/references/simple_reference.rb +24 -0
  82. data/lib/expressir/model/repository.rb +5 -1
  83. data/lib/expressir/model/statement.rb +9 -0
  84. data/lib/expressir/model/statements/alias.rb +11 -7
  85. data/lib/expressir/model/statements/assignment.rb +8 -3
  86. data/lib/expressir/model/statements/case.rb +10 -4
  87. data/lib/expressir/model/statements/case_action.rb +7 -2
  88. data/lib/expressir/model/statements/compound.rb +6 -2
  89. data/lib/expressir/model/statements/escape.rb +3 -1
  90. data/lib/expressir/model/statements/if.rb +10 -4
  91. data/lib/expressir/model/statements/null.rb +3 -1
  92. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  93. data/lib/expressir/model/statements/repeat.rb +19 -11
  94. data/lib/expressir/model/statements/return.rb +6 -2
  95. data/lib/expressir/model/statements/skip.rb +3 -1
  96. data/lib/expressir/model/supertype_expression.rb +9 -0
  97. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  98. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  99. data/lib/expressir/model.rb +52 -45
  100. data/lib/expressir/version.rb +1 -1
  101. data/spec/expressir/model/model_element_spec.rb +131 -131
  102. data/spec/syntax/multiple.yaml +68 -68
  103. data/spec/syntax/remark.yaml +64 -64
  104. data/spec/syntax/single.yaml +5 -5
  105. data/spec/syntax/single_formatted.yaml +5 -5
  106. data/spec/syntax/syntax.yaml +1003 -1030
  107. metadata +105 -54
  108. data/lib/expressir/express/2.4/express_parser.bundle +0 -0
  109. data/lib/expressir/express/2.5/express_parser.bundle +0 -0
  110. data/lib/expressir/express/2.6/express_parser.bundle +0 -0
  111. data/lib/expressir/model/attribute.rb +0 -38
  112. data/lib/expressir/model/constant.rb +0 -28
  113. data/lib/expressir/model/entity.rb +0 -42
  114. data/lib/expressir/model/enumeration_item.rb +0 -22
  115. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  116. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  117. data/lib/expressir/model/expressions/call.rb +0 -17
  118. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  119. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  120. data/lib/expressir/model/expressions/simple_reference.rb +0 -19
  121. data/lib/expressir/model/function.rb +0 -57
  122. data/lib/expressir/model/interface.rb +0 -20
  123. data/lib/expressir/model/interface_item.rb +0 -15
  124. data/lib/expressir/model/interfaced_item.rb +0 -27
  125. data/lib/expressir/model/parameter.rb +0 -28
  126. data/lib/expressir/model/procedure.rb +0 -55
  127. data/lib/expressir/model/remark_item.rb +0 -15
  128. data/lib/expressir/model/rule.rb +0 -60
  129. data/lib/expressir/model/schema.rb +0 -100
  130. data/lib/expressir/model/schema_version.rb +0 -15
  131. data/lib/expressir/model/schema_version_item.rb +0 -15
  132. data/lib/expressir/model/statements/call.rb +0 -17
  133. data/lib/expressir/model/subtype_constraint.rb +0 -32
  134. data/lib/expressir/model/type.rb +0 -37
  135. data/lib/expressir/model/types/aggregate.rb +0 -28
  136. data/lib/expressir/model/types/array.rb +0 -23
  137. data/lib/expressir/model/types/bag.rb +0 -19
  138. data/lib/expressir/model/types/binary.rb +0 -17
  139. data/lib/expressir/model/types/boolean.rb +0 -8
  140. data/lib/expressir/model/types/enumeration.rb +0 -19
  141. data/lib/expressir/model/types/generic.rb +0 -24
  142. data/lib/expressir/model/types/generic_entity.rb +0 -24
  143. data/lib/expressir/model/types/integer.rb +0 -8
  144. data/lib/expressir/model/types/list.rb +0 -21
  145. data/lib/expressir/model/types/logical.rb +0 -8
  146. data/lib/expressir/model/types/number.rb +0 -8
  147. data/lib/expressir/model/types/real.rb +0 -15
  148. data/lib/expressir/model/types/select.rb +0 -21
  149. data/lib/expressir/model/types/set.rb +0 -19
  150. data/lib/expressir/model/types/string.rb +0 -17
  151. data/lib/expressir/model/unique_rule.rb +0 -26
  152. data/lib/expressir/model/variable.rb +0 -28
  153. data/lib/expressir/model/where_rule.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 203c617ef03b1499b79c52488a5d0cbd7b96ba0f0125002ac60abde5f5df6109
4
- data.tar.gz: fd306202ef29053bbaf052acb2e2b97ccc8bb00d45c57886279d251f2e927900
3
+ metadata.gz: 58d36e5a96ff26537d74207ad2038c488cabe47bb086d68ebc2b35505caec10b
4
+ data.tar.gz: 6939957ff607a6f102251b1f948fb9b72ea1457baebd5718826f55b70df2b189
5
5
  SHA512:
6
- metadata.gz: ea5b1fb36a8f26c2962c67be45b97c1fd1e421404c03d6a08dbb9c34a917b08d3f546e5865eade601088137d73f03ab0750941dd80464d96e27d5fa0bc49f677
7
- data.tar.gz: 28df92411daf364ee0c2d3c1103043604628174bcc2e4ad7fe215d18b3cc88e2fb8d172654a162fc1c6101e68a46a2353bb8c80207a669e731e0d47a82647633
6
+ metadata.gz: 3cf91261772ab089bde81609ff72c943500eed47f48ffa23de6290b7079f9dfd2b916fc1dd45c50cabd56f56753a2e60f7432f56f909fbc717c393051b6ce315
7
+ data.tar.gz: 1d505ea5db8176ae17754cf0ae299339b1892237207123e8314886070e3c5df9ec8f1c7e353f9e8c9ff94e2cbc3b01aaaf4b8cf8ef7cbd21acd6523b26f0bc58
data/.cross_rubies CHANGED
@@ -1,3 +1,9 @@
1
+ 3.1.0:i686-w64-mingw32
2
+ 3.1.0:x86_64-w64-mingw32
3
+ 3.1.0:i686-linux-gnu
4
+ 3.1.0:x86_64-linux-gnu
5
+ 3.1.0:x86_64-darwin
6
+ 3.1.0:arm64-darwin
1
7
  3.0.0:i686-w64-mingw32
2
8
  3.0.0:x86_64-w64-mingw32
3
9
  3.0.0:i686-linux-gnu
@@ -10,21 +16,3 @@
10
16
  2.7.0:x86_64-linux-gnu
11
17
  2.7.0:x86_64-darwin
12
18
  2.7.0:arm64-darwin
13
- 2.6.0:i686-w64-mingw32
14
- 2.6.0:x86_64-w64-mingw32
15
- 2.6.0:i686-linux-gnu
16
- 2.6.0:x86_64-linux-gnu
17
- 2.6.0:x86_64-darwin
18
- 2.6.0:arm64-darwin
19
- 2.5.0:i686-w64-mingw32
20
- 2.5.0:x86_64-w64-mingw32
21
- 2.5.0:i686-linux-gnu
22
- 2.5.0:x86_64-linux-gnu
23
- 2.5.0:x86_64-darwin
24
- 2.5.0:arm64-darwin
25
- 2.4.0:i686-w64-mingw32
26
- 2.4.0:x86_64-w64-mingw32
27
- 2.4.0:i686-linux-gnu
28
- 2.4.0:x86_64-linux-gnu
29
- 2.4.0:x86_64-darwin
30
- 2.4.0:arm64-darwin
@@ -2,7 +2,7 @@ name: rake
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master ]
5
+ branches: [ master, main ]
6
6
  pull_request:
7
7
 
8
8
  jobs:
@@ -13,17 +13,17 @@ jobs:
13
13
  strategy:
14
14
  fail-fast: false
15
15
  matrix:
16
- ruby: [ '2.7', '2.6', '2.5', '2.4' ]
16
+ ruby: [ '3.1', '3.0', '2.7' ]
17
17
  os: [ ubuntu-latest, windows-latest, macos-latest ]
18
18
  experimental: [ false ]
19
19
  include:
20
- - ruby: '3.0'
20
+ - ruby: 'head'
21
21
  os: 'ubuntu-latest'
22
22
  experimental: true
23
- - ruby: '3.0'
23
+ - ruby: 'head'
24
24
  os: 'windows-latest'
25
25
  experimental: true
26
- - ruby: '3.0'
26
+ - ruby: 'head'
27
27
  os: 'macos-latest'
28
28
  experimental: true
29
29
 
@@ -49,3 +49,48 @@ jobs:
49
49
  run: bundle exec rake compile
50
50
 
51
51
  - run: bundle exec rake
52
+
53
+ # test release workflow
54
+ pack:
55
+ runs-on: ubuntu-18.04
56
+ strategy:
57
+ fail-fast: false
58
+ matrix:
59
+ host: [ linux, windows, darwin ]
60
+ steps:
61
+ - uses: actions/checkout@v2
62
+ with:
63
+ submodules: recursive
64
+
65
+ - uses: ruby/setup-ruby@v1
66
+ with:
67
+ ruby-version: '3.0'
68
+ # bundler-cache: true important to not use cache because it leads to "cannot find -lrice"
69
+ # more info https://github.com/lutaml/expressir/runs/2097658383?check_suite_focus=true#step:7:2126
70
+
71
+ - run: bundle install --jobs 4 --retry 3
72
+
73
+ # build gem WITHOUT pre-built native extension
74
+ - run: gem build expressir.gemspec
75
+
76
+ - if: matrix.host == 'linux'
77
+ uses: actions/upload-artifact@v2
78
+ with:
79
+ name: pkg-ruby
80
+ path: expressir-*.gem
81
+
82
+ - name: Enable swap
83
+ run: |
84
+ sudo fallocate -l 15g /compile.swap
85
+ sudo chmod 600 /compile.swap
86
+ sudo mkswap /compile.swap
87
+ sudo swapon /compile.swap
88
+ sudo swapon --all --verbose
89
+
90
+ # build gem WITH pre-built native extension
91
+ - run: bundle exec rake gem:${{ matrix.host }}
92
+
93
+ - uses: actions/upload-artifact@v2
94
+ with:
95
+ name: pkg-${{ matrix.host }}
96
+ path: pkg/*.gem
@@ -21,7 +21,7 @@ jobs:
21
21
 
22
22
  - uses: ruby/setup-ruby@v1
23
23
  with:
24
- ruby-version: '2.6'
24
+ ruby-version: '3.0'
25
25
 
26
26
  - if: ${{ github.event_name == 'workflow_dispatch' }} # unfortunatelly cannot keep this condition on job level
27
27
  run: |
@@ -44,7 +44,7 @@ jobs:
44
44
 
45
45
  - uses: ruby/setup-ruby@v1
46
46
  with:
47
- ruby-version: '2.6'
47
+ ruby-version: '3.0'
48
48
  # bundler-cache: true important to not use cache because it leads to "cannot find -lrice"
49
49
  # more info https://github.com/lutaml/expressir/runs/2097658383?check_suite_focus=true#step:7:2126
50
50
 
@@ -59,6 +59,14 @@ jobs:
59
59
  name: pkg-ruby
60
60
  path: expressir-*.gem
61
61
 
62
+ - name: Enable swap
63
+ run: |
64
+ sudo fallocate -l 15g /compile.swap
65
+ sudo chmod 600 /compile.swap
66
+ sudo mkswap /compile.swap
67
+ sudo swapon /compile.swap
68
+ sudo swapon --all --verbose
69
+
62
70
  # build gem WITH pre-built native extension
63
71
  - run: bundle exec rake gem:${{ matrix.host }}
64
72
 
@@ -93,7 +101,7 @@ jobs:
93
101
 
94
102
  - uses: ruby/setup-ruby@v1
95
103
  with:
96
- ruby-version: '2.6'
104
+ ruby-version: '3.0'
97
105
 
98
106
  - run: ls -l pkg/
99
107
 
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ enabled: true
3
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,508 +1,8 @@
1
- ---
1
+ inherit_from:
2
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
3
+
4
+ # local repo-specific modifications
5
+ # ...
6
+
2
7
  AllCops:
3
- Exclude:
4
- - vendor/**/*
5
- - db/**/*
6
- - tmp/**/*
7
- DisplayCopNames: false
8
- StyleGuideCopsOnly: false
9
8
  TargetRubyVersion: 2.4
10
- Naming/AccessorMethodName:
11
- Description: Check the naming of accessor methods for get_/set_.
12
- Enabled: false
13
- Style/Alias:
14
- Description: Use alias_method instead of alias.
15
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
16
- Enabled: false
17
- Style/ArrayJoin:
18
- Description: Use Array#join instead of Array#*.
19
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
20
- Enabled: false
21
- Style/AsciiComments:
22
- Description: Use only ascii symbols in comments.
23
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
24
- Enabled: false
25
- Naming/AsciiIdentifiers:
26
- Description: Use only ascii symbols in identifiers.
27
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
28
- Enabled: false
29
- Style/Attr:
30
- Description: Checks for uses of Module#attr.
31
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
32
- Enabled: false
33
- Metrics/BlockNesting:
34
- Description: Avoid excessive block nesting
35
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
36
- Enabled: true
37
- Max: 3
38
- Style/CaseEquality:
39
- Description: Avoid explicit use of the case equality operator(===).
40
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
41
- Enabled: false
42
- Style/CharacterLiteral:
43
- Description: Checks for uses of character literals.
44
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
45
- Enabled: false
46
- Style/ClassAndModuleChildren:
47
- Description: Checks style of children classes and modules.
48
- Enabled: true
49
- EnforcedStyle: nested
50
- Metrics/ClassLength:
51
- Description: Avoid classes longer than 100 lines of code.
52
- Enabled: false
53
- CountComments: false
54
- Max: 100
55
- Metrics/ModuleLength:
56
- Description: Avoid modules longer than 100 lines of code.
57
- Enabled: false
58
- Style/ClassVars:
59
- Description: Avoid the use of class variables.
60
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
61
- Enabled: false
62
- Style/CollectionMethods:
63
- Enabled: true
64
- PreferredMethods:
65
- find: detect
66
- inject: reduce
67
- collect: map
68
- find_all: select
69
- Style/ColonMethodCall:
70
- Description: 'Do not use :: for method call.'
71
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
72
- Enabled: false
73
- Style/CommentAnnotation:
74
- Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK,
75
- REVIEW).
76
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
77
- Enabled: false
78
- Metrics/AbcSize:
79
- Description: A calculated magnitude based on number of assignments, branches, and
80
- conditions.
81
- Enabled: true
82
- Max: 15
83
- Metrics/BlockLength:
84
- CountComments: true
85
- Max: 25
86
- ExcludedMethods: []
87
- Exclude:
88
- - spec/**/*
89
- Metrics/CyclomaticComplexity:
90
- Description: A complexity metric that is strongly correlated to the number of test
91
- cases needed to validate a method.
92
- Enabled: true
93
- Max: 6
94
- Rails/Delegate:
95
- Description: Prefer delegate method for delegations.
96
- Enabled: false
97
- Style/PreferredHashMethods:
98
- Description: Checks use of `has_key?` and `has_value?` Hash methods.
99
- StyleGuide: "#hash-key"
100
- Enabled: false
101
- Style/Documentation:
102
- Description: Document classes and non-namespace modules.
103
- Enabled: false
104
- Style/DoubleNegation:
105
- Description: Checks for uses of double negation (!!).
106
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
107
- Enabled: false
108
- Style/EachWithObject:
109
- Description: Prefer `each_with_object` over `inject` or `reduce`.
110
- Enabled: false
111
- Style/EmptyLiteral:
112
- Description: Prefer literals to Array.new/Hash.new/String.new.
113
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
114
- Enabled: false
115
- Style/Encoding:
116
- Enabled: false
117
- Style/EvenOdd:
118
- Description: Favor the use of Fixnum#even? && Fixnum#odd?
119
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
120
- Enabled: false
121
- Naming/FileName:
122
- Description: Use snake_case for source file names.
123
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
124
- Enabled: false
125
- Style/FrozenStringLiteralComment:
126
- Description: Add the frozen_string_literal comment to the top of files to help transition
127
- from Ruby 2.3.0 to Ruby 3.0.
128
- Enabled: false
129
- Style/FlipFlop:
130
- Description: Checks for flip flops
131
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
132
- Enabled: false
133
- Style/FormatString:
134
- Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
135
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
136
- Enabled: false
137
- Style/GlobalVars:
138
- Description: Do not introduce global variables.
139
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
140
- Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html
141
- Enabled: false
142
- Style/GuardClause:
143
- Description: Check for conditionals that can be replaced with guard clauses
144
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
145
- Enabled: false
146
- Style/IfUnlessModifier:
147
- Description: Favor modifier if/unless usage when you have a single-line body.
148
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
149
- Enabled: false
150
- Style/IfWithSemicolon:
151
- Description: Do not use if x; .... Use the ternary operator instead.
152
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
153
- Enabled: false
154
- Style/InlineComment:
155
- Description: Avoid inline comments.
156
- Enabled: false
157
- Style/Lambda:
158
- Description: Use the new lambda literal syntax for single-line blocks.
159
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
160
- Enabled: false
161
- Style/LambdaCall:
162
- Description: Use lambda.call(...) instead of lambda.(...).
163
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
164
- Enabled: false
165
- Style/LineEndConcatenation:
166
- Description: Use \ instead of + or << to concatenate two string literals at line
167
- end.
168
- Enabled: false
169
- Metrics/LineLength:
170
- Description: Limit lines to 80 characters.
171
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
172
- Max: 80
173
- Enabled: true
174
- AllowURI: true
175
- URISchemes:
176
- - http
177
- - https
178
- Metrics/MethodLength:
179
- Description: Avoid methods longer than 10 lines of code.
180
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
181
- Enabled: true
182
- CountComments: true
183
- Max: 10
184
- Exclude:
185
- - spec/**/*
186
- Style/ModuleFunction:
187
- Description: Checks for usage of `extend self` in modules.
188
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
189
- Enabled: false
190
- Style/MultilineBlockChain:
191
- Description: Avoid multi-line chains of blocks.
192
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
193
- Enabled: false
194
- Style/NegatedIf:
195
- Description: Favor unless over if for negative conditions (or control flow or).
196
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
197
- Enabled: false
198
- Style/NegatedWhile:
199
- Description: Favor until over while for negative conditions.
200
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
201
- Enabled: false
202
- Style/Next:
203
- Description: Use `next` to skip iteration instead of a condition at the end.
204
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
205
- Enabled: false
206
- Style/NilComparison:
207
- Description: Prefer x.nil? to x == nil.
208
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
209
- Enabled: false
210
- Style/Not:
211
- Description: Use ! instead of not.
212
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not
213
- Enabled: false
214
- Style/NumericLiterals:
215
- Description: Add underscores to large numeric literals to improve their readability.
216
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
217
- Enabled: false
218
- Style/OneLineConditional:
219
- Description: Favor the ternary operator(?:) over if/then/else/end constructs.
220
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
221
- Enabled: false
222
- Naming/BinaryOperatorParameterName:
223
- Description: When defining binary operators, name the argument other.
224
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
225
- Enabled: false
226
- Metrics/ParameterLists:
227
- Description: Avoid long parameter lists.
228
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
229
- Enabled: true
230
- Max: 5
231
- CountKeywordArgs: true
232
- Style/PercentLiteralDelimiters:
233
- Description: Use `%`-literal delimiters consistently
234
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
235
- Enabled: false
236
- Style/PerlBackrefs:
237
- Description: Avoid Perl-style regex back references.
238
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
239
- Enabled: false
240
- Naming/PredicateName:
241
- Description: Check the names of predicate methods.
242
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
243
- NamePrefixBlacklist:
244
- - is_
245
- Exclude:
246
- - spec/**/*
247
- Style/Proc:
248
- Description: Use proc instead of Proc.new.
249
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
250
- Enabled: false
251
- Style/RaiseArgs:
252
- Description: Checks the arguments passed to raise/fail.
253
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
254
- Enabled: false
255
- Style/RegexpLiteral:
256
- Description: Use / or %r around regular expressions.
257
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r
258
- Enabled: false
259
- Style/SelfAssignment:
260
- Description: Checks for places where self-assignment shorthand should have been
261
- used.
262
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
263
- Enabled: false
264
- Style/SingleLineBlockParams:
265
- Description: Enforces the names of some block params.
266
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
267
- Enabled: false
268
- Style/SingleLineMethods:
269
- Description: Avoid single-line methods.
270
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
271
- Enabled: false
272
- Style/SignalException:
273
- Description: Checks for proper usage of fail and raise.
274
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
275
- Enabled: false
276
- Style/SpecialGlobalVars:
277
- Description: Avoid Perl-style global variables.
278
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
279
- Enabled: false
280
- Style/StringLiterals:
281
- Description: Checks if uses of quotes match the configured preference.
282
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
283
- EnforcedStyle: double_quotes
284
- Enabled: true
285
- Style/TrailingCommaInArguments:
286
- Description: Checks for trailing comma in argument lists.
287
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
288
- EnforcedStyleForMultiline: comma
289
- SupportedStylesForMultiline:
290
- - comma
291
- - consistent_comma
292
- - no_comma
293
- Enabled: true
294
- Style/TrailingCommaInArrayLiteral:
295
- Description: Checks for trailing comma in array literals.
296
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
297
- EnforcedStyleForMultiline: comma
298
- SupportedStylesForMultiline:
299
- - comma
300
- - consistent_comma
301
- - no_comma
302
- Enabled: true
303
- Style/TrailingCommaInHashLiteral:
304
- Description: Checks for trailing comma in hash literals.
305
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
306
- EnforcedStyleForMultiline: comma
307
- SupportedStylesForMultiline:
308
- - comma
309
- - consistent_comma
310
- - no_comma
311
- Enabled: true
312
- Style/TrivialAccessors:
313
- Description: Prefer attr_* methods to trivial readers/writers.
314
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
315
- Enabled: false
316
- Style/VariableInterpolation:
317
- Description: Don't interpolate global, instance and class variables directly in
318
- strings.
319
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
320
- Enabled: false
321
- Style/WhenThen:
322
- Description: Use when x then ... for one-line cases.
323
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
324
- Enabled: false
325
- Style/WhileUntilModifier:
326
- Description: Favor modifier while/until usage when you have a single-line body.
327
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
328
- Enabled: false
329
- Style/WordArray:
330
- Description: Use %w or %W for arrays of words.
331
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
332
- Enabled: false
333
- Layout/AlignParameters:
334
- Description: Here we check if the parameters on a multi-line method call or definition
335
- are aligned.
336
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
337
- Enabled: false
338
- Layout/ConditionPosition:
339
- Description: Checks for condition placed in a confusing position relative to the
340
- keyword.
341
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
342
- Enabled: false
343
- Layout/DotPosition:
344
- Description: Checks the position of the dot in multi-line method calls.
345
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
346
- EnforcedStyle: trailing
347
- Layout/ExtraSpacing:
348
- Description: Do not use unnecessary spacing.
349
- Enabled: true
350
- Layout/MultilineOperationIndentation:
351
- Description: Checks indentation of binary operations that span more than one line.
352
- Enabled: true
353
- EnforcedStyle: indented
354
- Layout/MultilineMethodCallIndentation:
355
- Description: Checks indentation of method calls with the dot operator that span
356
- more than one line.
357
- Enabled: true
358
- EnforcedStyle: indented
359
- Layout/InitialIndentation:
360
- Description: Checks the indentation of the first non-blank non-comment line in a
361
- file.
362
- Enabled: false
363
- Lint/AmbiguousOperator:
364
- Description: Checks for ambiguous operators in the first argument of a method invocation
365
- without parentheses.
366
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
367
- Enabled: false
368
- Lint/AmbiguousRegexpLiteral:
369
- Description: Checks for ambiguous regexp literals in the first argument of a method
370
- invocation without parenthesis.
371
- Enabled: false
372
- Lint/AssignmentInCondition:
373
- Description: Don't use assignment in conditions.
374
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
375
- Enabled: false
376
- Lint/CircularArgumentReference:
377
- Description: Don't refer to the keyword argument in the default value.
378
- Enabled: false
379
- Lint/DeprecatedClassMethods:
380
- Description: Check for deprecated class method calls.
381
- Enabled: false
382
- Lint/DuplicatedKey:
383
- Description: Check for duplicate keys in hash literals.
384
- Enabled: false
385
- Lint/EachWithObjectArgument:
386
- Description: Check for immutable argument given to each_with_object.
387
- Enabled: false
388
- Lint/ElseLayout:
389
- Description: Check for odd code arrangement in an else block.
390
- Enabled: false
391
- Lint/FormatParameterMismatch:
392
- Description: The number of parameters to format/sprint must match the fields.
393
- Enabled: false
394
- Lint/HandleExceptions:
395
- Description: Don't suppress exception.
396
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
397
- Enabled: false
398
- Lint/LiteralAsCondition:
399
- Description: Checks of literals used in conditions.
400
- Enabled: false
401
- Lint/LiteralInInterpolation:
402
- Description: Checks for literals used in interpolation.
403
- Enabled: false
404
- Lint/Loop:
405
- Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
406
- for post-loop tests.
407
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
408
- Enabled: false
409
- Lint/NestedMethodDefinition:
410
- Description: Do not use nested method definitions.
411
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
412
- Enabled: false
413
- Lint/NonLocalExitFromIterator:
414
- Description: Do not use return in iterator to cause non-local exit.
415
- Enabled: false
416
- Lint/ParenthesesAsGroupedExpression:
417
- Description: Checks for method calls with a space before the opening parenthesis.
418
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
419
- Enabled: false
420
- Lint/RequireParentheses:
421
- Description: Use parentheses in the method call to avoid confusion about precedence.
422
- Enabled: false
423
- Lint/UnderscorePrefixedVariableName:
424
- Description: Do not use prefix `_` for a variable that is used.
425
- Enabled: false
426
- Lint/UnneededCopDisableDirective:
427
- Description: 'Checks for rubocop:disable comments that can be removed. Note: this
428
- cop is not disabled when disabling all cops. It must be explicitly disabled.'
429
- Enabled: false
430
- Lint/Void:
431
- Description: Possible use of operator/literal/variable in void context.
432
- Enabled: false
433
- Performance/CaseWhenSplat:
434
- Description: Place `when` conditions that use splat at the end of the list of `when`
435
- branches.
436
- Enabled: false
437
- Performance/Count:
438
- Description: Use `count` instead of `select...size`, `reject...size`, `select...count`,
439
- `reject...count`, `select...length`, and `reject...length`.
440
- Enabled: false
441
- Performance/Detect:
442
- Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`,
443
- and `find_all.last`.
444
- Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code
445
- Enabled: false
446
- Performance/FlatMap:
447
- Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)`
448
- or `Enumberable#collect..Array#flatten(1)`
449
- Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code
450
- Enabled: false
451
- Performance/ReverseEach:
452
- Description: Use `reverse_each` instead of `reverse.each`.
453
- Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code
454
- Enabled: false
455
- Performance/Sample:
456
- Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`.
457
- Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code
458
- Enabled: false
459
- Performance/Size:
460
- Description: Use `size` instead of `count` for counting the number of elements in
461
- `Array` and `Hash`.
462
- Reference: https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code
463
- Enabled: false
464
- Performance/StringReplacement:
465
- Description: Use `tr` instead of `gsub` when you are replacing the same number of
466
- characters. Use `delete` instead of `gsub` when you are deleting characters.
467
- Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code
468
- Enabled: false
469
- Rails/ActionFilter:
470
- Description: Enforces consistent use of action filter methods.
471
- Enabled: false
472
- Rails/Date:
473
- Description: Checks the correct usage of date aware methods, such as Date.today,
474
- Date.current etc.
475
- Enabled: false
476
- Rails/FindBy:
477
- Description: Prefer find_by over where.first.
478
- Enabled: false
479
- Rails/FindEach:
480
- Description: Prefer all.find_each over all.find.
481
- Enabled: false
482
- Rails/HasAndBelongsToMany:
483
- Description: Prefer has_many :through to has_and_belongs_to_many.
484
- Enabled: false
485
- Rails/Output:
486
- Description: Checks for calls to puts, print, etc.
487
- Enabled: false
488
- Rails/ReadWriteAttribute:
489
- Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
490
- Enabled: false
491
- Rails/ScopeArgs:
492
- Description: Checks the arguments of ActiveRecord scopes.
493
- Enabled: false
494
- Rails/TimeZone:
495
- Description: Checks the correct usage of time zone aware methods.
496
- StyleGuide: https://github.com/bbatsov/rails-style-guide#time
497
- Reference: http://danilenko.org/2012/7/6/rails_timezones
498
- Enabled: false
499
- Rails/Validation:
500
- Description: Use validates :attribute, hash of validations.
501
- Enabled: false
502
- Rails:
503
- Enabled: true
504
- Metrics/PerceivedComplexity:
505
- Description: A complexity metric geared towards measuring complexity for a human
506
- reader.
507
- Enabled: true
508
- Max: 7
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ # macro must be defined first, see https://stackoverflow.com/a/10344776/1823988
2
+ lib/expressir/model/model_element.rb
3
+ lib/expressir/model/data_type.rb
4
+ lib/expressir/model/declaration.rb
5
+ lib/expressir/model/expression.rb
6
+ lib/expressir/model/literal.rb
7
+ lib/expressir/model/reference.rb
8
+ lib/expressir/model/statement.rb
9
+ lib/expressir/model/supertype_expression.rb
10
+
11
+ lib/**/*.rb