criteria_operator 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d21b2bf981284ddcd69b4def4bfd549db9badca
4
- data.tar.gz: 5e94d4e78b39e90dc268f539a1f23ce3a81e352c
3
+ metadata.gz: 6d6ba55f042935bb7b916c270c415c863d305565
4
+ data.tar.gz: 51e3ace7e81abdddc0f52bfc816d33364d946c26
5
5
  SHA512:
6
- metadata.gz: 83fc5d53bc2fa4b6253474e5d2dd74360d34654ca91050af6c0b3ccc828dde24d37e70a924447e7a3795d51a1ad7a88b8a5c63b6a292cb11882846b307e17f9d
7
- data.tar.gz: 869f407692c0d7f448215f8cdff500ec58ca79785e123865da5e14ff3053d37dc506a01da5aac2fac5faa2542293c5bd2a08ebb10551c0563c420fc7350d75d8
6
+ metadata.gz: 2f2eed740d9047e1ee324e5261c75f84ed38f37bc3c655a975c611573ad8e8dd2077ccb9322c0d1d1fcdb634fa2ee3f585be988957b111d6f92b4320dceb2228
7
+ data.tar.gz: 1f49583c147795674709284e630f86428de1a265d07fa4bfefc72cbd842095c3e9f91f9cd387527bf7c31464db26dacc86fcb2fe18249e9f5173e8a05900507d
data/.gitignore CHANGED
@@ -1,11 +1,12 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
-
11
- *.gem
1
+ /.bundle/
2
+ /.idea/
3
+ /.yardoc
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
11
+
12
+ *.gem
data/CODE_OF_CONDUCT.md CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at fkoch@selectline.de. All
58
+ reported by contacting the project team at floriankochde@arcor.de. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
data/README.md CHANGED
@@ -1,8 +1,16 @@
1
- # CriteriaOperator
1
+ [![Gem Version](http://img.shields.io/gem/v/criteria_operator.svg?style=flat)](https://rubygems.org/gems/criteria_operator)
2
+ [![License](http://img.shields.io/:license-mit-blue.svg?style=flat)](http://TheFlow0360.mit-license.org)
3
+ [![Build Status](http://img.shields.io/travis/TheFlow0360/criteria_operator.svg?style=flat)](https://travis-ci.org/TheFlow0360/criteria_operator)
4
+ [![Dependency Status](http://img.shields.io/gemnasium/TheFlow0360/criteria_operator.svg?style=flat)](https://gemnasium.com/TheFlow0360/criteria_operator)
5
+ [![Code Climate](http://img.shields.io/codeclimate/github/TheFlow0360/criteria_operator.svg?style=flat)](https://codeclimate.com/github/TheFlow0360/criteria_operator)
6
+ [![Coverage Status](https://coveralls.io/repos/github/TheFlow0360/criteria_operator/badge.svg?branch=master)](https://coveralls.io/github/TheFlow0360/criteria_operator?branch=master)
7
+ [![Inline docs](http://inch-ci.org/github/TheFlow0360/criteria_operator.svg?branch=master&style=shields)](http://inch-ci.org/github/TheFlow0360/criteria_operator)
8
+ [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/958/badge)](https://bestpractices.coreinfrastructure.org/projects/958)
9
+
2
10
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/criteria_operator`. To experiment with that code, run `bin/console` for an interactive prompt.
11
+ # CriteriaOperator
4
12
 
5
- TODO: Delete this and the text above, and describe your gem
13
+ This gem provides classes to create arbitrary complex conditions, by building an expression tree. ...
6
14
 
7
15
  ## Installation
8
16
 
@@ -32,7 +40,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
40
 
33
41
  ## Contributing
34
42
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/criteria_operator. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
43
+ Bug reports and pull requests are welcome on GitHub at https://github.com/TheFlow0360/criteria_operator. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
36
44
 
37
45
 
38
46
  ## License
@@ -1,37 +1,42 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'criteria_operator/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "criteria_operator"
8
- spec.version = CriteriaOperator::VERSION
9
- spec.authors = ["Florian Koch"]
10
- spec.email = ["floriankochde@arcor.de"]
11
-
12
- spec.summary = "Provides objects to encapsulate arbitrary complex conditions."
13
- spec.description = "This gem provides classes to create arbitrary complex chains respectively trees " \
14
- "of conditions. This enables handling filter statements as objects."
15
- spec.homepage = "https://github.com/TheFlow0360/criteria_operator.git"
16
- spec.license = "MIT"
17
-
18
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
19
- # to allow pushing to a single host or delete this section to allow pushing to any host.
20
- if spec.respond_to?(:metadata)
21
- spec.metadata['allowed_push_host'] = "https://rubygems.org/"
22
- else
23
- raise "RubyGems 2.0 or newer is required to protect against " \
24
- "public gem pushes."
25
- end
26
-
27
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
- f.match(%r{^(test|spec|features)/})
29
- end
30
- spec.bindir = "exe"
31
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
- spec.require_paths = ["lib"]
33
-
34
- spec.add_development_dependency "bundler", "~> 1.14"
35
- spec.add_development_dependency "rake", "~> 10.0"
36
- spec.add_development_dependency "minitest", "~> 5.0"
37
- end
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'criteria_operator/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "criteria_operator"
8
+ spec.version = CriteriaOperator::VERSION
9
+ spec.authors = ["Florian Koch"]
10
+ spec.email = ["floriankochde@arcor.de"]
11
+
12
+ spec.summary = "Provides objects to encapsulate arbitrary complex conditions."
13
+ spec.description = "This gem provides classes to create arbitrary complex chains respectively trees " \
14
+ "of conditions. This enables handling filter statements as objects."
15
+ spec.homepage = "https://github.com/TheFlow0360/criteria_operator.git"
16
+ spec.license = "MIT"
17
+
18
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
19
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
20
+ if spec.respond_to?(:metadata)
21
+ spec.metadata['allowed_push_host'] = "https://rubygems.org/"
22
+ else
23
+ raise "RubyGems 2.0 or newer is required to protect against " \
24
+ "public gem pushes."
25
+ end
26
+
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
+ f.match(%r{^(test|spec|features)/})
29
+ end
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ["lib"]
33
+
34
+ spec.add_development_dependency "bundler", "~> 1.14"
35
+ spec.add_development_dependency "rake", "~> 12.0"
36
+ spec.add_development_dependency "minitest", "~> 5.0"
37
+ spec.add_development_dependency "minitest-reporters", "~> 1.1"
38
+ spec.add_development_dependency "coveralls", "~> 0.8"
39
+
40
+ # let yard run on install
41
+ spec.metadata["yard.run"] = "yri"
42
+ end
@@ -1,7 +1,14 @@
1
- require "criteria_operator/version"
1
+ require 'criteria_operator/version'
2
+ require 'criteria_operator/exceptions'
3
+ require 'criteria_operator/base_operator'
4
+ require 'criteria_operator/unary_operator'
5
+ require 'criteria_operator/binary_operator'
6
+ require 'criteria_operator/group_operator'
7
+ require 'criteria_operator/operand_property'
8
+ require 'criteria_operator/operand_value'
2
9
 
10
+ # The main module of this gem. Contains all operator classes as well as
11
+ # various helpers.
3
12
  module CriteriaOperator
4
- def self.test
5
- puts "Working!"
6
- end
13
+
7
14
  end
@@ -0,0 +1,27 @@
1
+ require 'criteria_operator/exceptions'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Base class for all criteria operators. Provides operator overloads and other
6
+ # useful utility and convenience functions.
7
+ # @abstract Subclass and override {#clone} to implement.
8
+ class BaseOperator
9
+
10
+ # Clones an operator with all sub-operators, creating a deep copy.
11
+ # @abstract
12
+ # @return [BaseOperator] the cloned operator
13
+ def clone
14
+ raise NotImplementedError
15
+ end
16
+
17
+ protected
18
+
19
+ # Clones the passed operator if it isn't nil.
20
+ # @param [BaseOperator] op the operator to clone
21
+ # @return [BaseOperator, nil] The cloned base operator, if it exists, or nil, otherwise.
22
+ def clone_or_nil(op)
23
+ return nil if op.nil? || !op.is_a?(BaseOperator)
24
+ op.clone
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,51 @@
1
+ require 'criteria_operator/base_operator'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Enum representing all possible types for a {BinaryOperator}.
6
+ module BinaryOperatorType
7
+ # with this type, a {BinaryOperator} will check for equality of both operands
8
+ EQUAL = 1
9
+ # with this type, a {BinaryOperator} will check for no equality of both operands
10
+ NOT_EQUAL = 2
11
+ # with this type, a {BinaryOperator} will check if the left operand is greater than the right operand
12
+ GREATER = 4
13
+ # with this type, a {BinaryOperator} will check if the left operand is greater than or equal to the right operand
14
+ GREATER_OR_EQUAL = 8
15
+ # with this type, a {BinaryOperator} will check if the left operand is less than the right operand
16
+ LESS = 16
17
+ # with this type, a {BinaryOperator} will check if the left operand is less than or equal to the right operand
18
+ LESS_OR_EQUAL = 32
19
+ end
20
+
21
+ # Operator representing any of the binary conditionals defined in {BinaryOperatorType}.
22
+ class BinaryOperator < BaseOperator
23
+
24
+ # @return [BinaryOperatorType] the type of this operator
25
+ attr_accessor :operator_type
26
+
27
+ # @return [BaseOperator] the left hand side operand
28
+ attr_accessor :left_operand
29
+
30
+ # @return [BaseOperator] the right hand side operand
31
+ attr_accessor :right_operand
32
+
33
+ # The constructor for this operator. Expects the operands and the operator type as parameters.
34
+ # @param [BaseOperator] left_operand the left hand side operand
35
+ # @param [BaseOperator] right_operand the right hand side operand
36
+ # @param [BinaryOperatorType] binary_operator_type the type of this operator
37
+ # @return [Void]
38
+ def initialize(left_operand = nil, right_operand = nil, binary_operator_type = BinaryOperatorType::EQUAL)
39
+ self.left_operand = left_operand
40
+ self.right_operand = right_operand
41
+ self.operator_type = binary_operator_type
42
+ end
43
+
44
+ # Clones an operator with all sub-operators, creating a deep copy.
45
+ # Implementation of the abstract {BaseOperator#clone}.
46
+ # @return [BinaryOperator] the cloned operator
47
+ def clone
48
+ BinaryOperator.new clone_or_nil(self.left_operand), clone_or_nil(self.right_operand), self.operator_type
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,16 @@
1
+ module CriteriaOperator
2
+
3
+ # The base exception class for this gem.
4
+ class Error < StandardError; end
5
+
6
+ # Exception class for unimplemented functions in abstract classes.
7
+ class NotImplementedError < Error
8
+
9
+ # Overrides the default message with a hint regarding the abstract class instantiation.
10
+ # @return [String] the error message
11
+ def message
12
+ 'The function that was called is not implemented. '\
13
+ 'Probably the containing class is abstract but was instantiated.'
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,40 @@
1
+ require 'criteria_operator/base_operator'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Enum representing all possible types for a {GroupOperator}.
6
+ module GroupOperatorType
7
+ # with this type, a {GroupOperator} will check that all grouped operands are true
8
+ AND = 1
9
+ # with this type, a {GroupOperator} will check that at least one of the grouped operands is true
10
+ OR = 2
11
+ end
12
+
13
+ # Operator that groups multiple operators using one grouping type.
14
+ class GroupOperator < BaseOperator
15
+
16
+ # @return [GroupOperatorType] the type of this operator
17
+ attr_accessor :operator_type
18
+
19
+ # @return [Array<BaseOperator>] the collection of operands grouped by this operator
20
+ attr_accessor :operand_collection
21
+
22
+ # The constructor for this operator. Expects a collection of operands and the operator type as parameters.
23
+ # @param [Array<BaseOperator>] operands a collection of operands to group together
24
+ # @param [GroupOperatorType] group_operator_type the type of this operator
25
+ # @return [Void]
26
+ def initialize(operands = [], group_operator_type = GroupOperatorType::AND)
27
+ self.operand_collection = operands
28
+ self.operator_type = group_operator_type
29
+ end
30
+
31
+ # Clones an operator with all sub-operators, creating a deep copy.
32
+ # Implementation of the abstract {BaseOperator#clone}.
33
+ # @return [GroupOperator] the cloned operator
34
+ def clone
35
+ ops = []
36
+ self.operand_collection.each { |op| ops << clone_or_nil(op) }
37
+ GroupOperator.new ops, self.operator_type
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,27 @@
1
+ require 'criteria_operator/base_operator'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Operator that stores a property (e.g. column name).
6
+ # This operator is an operand, thus it is always a leaf of the expression tree.
7
+ class OperandProperty < BaseOperator
8
+
9
+ # @return [String] the name of the property described by this operand.
10
+ attr_accessor :property_name
11
+
12
+ # The constructor for the operand. Expects the property name as parameter.
13
+ # @param [String] property_name the name of the property described by this operand
14
+ # @return [Void]
15
+ def initialize(property_name)
16
+ self.property_name = property_name
17
+ end
18
+
19
+ # Clones an operator with all sub-operators, creating a deep copy.
20
+ # Since this is an operand, there are no sub-operators to clone.
21
+ # Implementation of the abstract {BaseOperator#clone}.
22
+ # @return [OperandProperty] the cloned operator
23
+ def clone
24
+ OperandProperty.new self.property_name
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ require 'criteria_operator/base_operator'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Operator that holds a value. This operator is an operand,
6
+ # thus it is always a leaf of the expression tree.
7
+ class OperandValue < BaseOperator
8
+
9
+ # @return [Object] the stored value.
10
+ attr_accessor :value
11
+
12
+ # The constructor for this operand. Expects the value as parameter.
13
+ # @param [Object] value the value of the operand
14
+ # @return [Void]
15
+ def initialize(value)
16
+ self.value = value
17
+ end
18
+
19
+ # Clones an operator with all sub-operators, creating a deep copy.
20
+ # Since this is an operand, there are no sub-operators to clone.
21
+ # Implementation of the abstract {BaseOperator#clone}.
22
+ # @return [OperandValue] the cloned operator
23
+ def clone
24
+ OperandValue.new self.value
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,42 @@
1
+ require 'criteria_operator/base_operator'
2
+
3
+ module CriteriaOperator
4
+
5
+ # Enum representing all possible types for a {UnaryOperator}.
6
+ module UnaryOperatorType
7
+ # with this type, a {UnaryOperator} will inverse the logical value of the operand
8
+ NOT = 1
9
+ # with this type, a {UnaryOperator} will check for if the operand equals null/nil
10
+ IS_NULL = 2
11
+ # with this type, a {UnaryOperator} will prepend a numerical positive sign to the operand
12
+ PLUS = 4
13
+ # with this type, a {UnaryOperator} will prepend a numerical negative sign to the operand
14
+ MINUS = 8
15
+ end
16
+
17
+ # Operator representing an unary operation.
18
+ class UnaryOperator < BaseOperator
19
+
20
+ # @return [UnaryOperatorType] the type of this operator
21
+ attr_accessor :operator_type
22
+
23
+ # @return [BaseOperator] the operand
24
+ attr_accessor :operand
25
+
26
+ # The constructor for this operator. Expects the operand and the operator type as parameters.
27
+ # @param [BaseOperator] operand the operand
28
+ # @param [UnaryOperatorType] unary_operator_type the type of this operator
29
+ # @return [Void]
30
+ def initialize(operand = nil, unary_operator_type = UnaryOperatorType::NOT)
31
+ self.operand = operand
32
+ self.operator_type = unary_operator_type
33
+ end
34
+
35
+ # Clones an operator with all sub-operators, creating a deep copy.
36
+ # Implementation of the abstract {BaseOperator#clone}.
37
+ # @return [UnaryOperator] the cloned operator
38
+ def clone
39
+ UnaryOperator.new clone_or_nil(self.operand), self.operator_type
40
+ end
41
+ end
42
+ end
@@ -1,3 +1,5 @@
1
1
  module CriteriaOperator
2
- VERSION = "0.1.0"
2
+
3
+ # the gem version used in the gemspec
4
+ VERSION = '0.2.0'
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: criteria_operator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Koch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-09 00:00:00.000000000 Z
11
+ date: 2017-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.0'
34
34
  type: :development
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: '10.0'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-reporters
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: coveralls
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.8'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.8'
55
83
  description: This gem provides classes to create arbitrary complex chains respectively
56
84
  trees of conditions. This enables handling filter statements as objects.
57
85
  email:
@@ -61,11 +89,6 @@ extensions: []
61
89
  extra_rdoc_files: []
62
90
  files:
63
91
  - ".gitignore"
64
- - ".idea/criteria_operator.iml"
65
- - ".idea/misc.xml"
66
- - ".idea/modules.xml"
67
- - ".idea/vcs.xml"
68
- - ".idea/workspace.xml"
69
92
  - ".travis.yml"
70
93
  - CODE_OF_CONDUCT.md
71
94
  - Gemfile
@@ -76,12 +99,20 @@ files:
76
99
  - bin/setup
77
100
  - criteria_operator.gemspec
78
101
  - lib/criteria_operator.rb
102
+ - lib/criteria_operator/base_operator.rb
103
+ - lib/criteria_operator/binary_operator.rb
104
+ - lib/criteria_operator/exceptions.rb
105
+ - lib/criteria_operator/group_operator.rb
106
+ - lib/criteria_operator/operand_property.rb
107
+ - lib/criteria_operator/operand_value.rb
108
+ - lib/criteria_operator/unary_operator.rb
79
109
  - lib/criteria_operator/version.rb
80
110
  homepage: https://github.com/TheFlow0360/criteria_operator.git
81
111
  licenses:
82
112
  - MIT
83
113
  metadata:
84
114
  allowed_push_host: https://rubygems.org/
115
+ yard.run: yri
85
116
  post_install_message:
86
117
  rdoc_options: []
87
118
  require_paths:
@@ -1,15 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="ModuleRunConfigurationManager">
4
- <shared />
5
- <local />
6
- </component>
7
- <component name="NewModuleRootManager">
8
- <content url="file://$MODULE_DIR$" />
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.6, ruby-2.3.3-p222) [gem]" level="application" />
12
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.1, ruby-2.3.3-p222) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.4.2, ruby-2.3.3-p222) [gem]" level="application" />
14
- </component>
15
- </module>
data/.idea/misc.xml DELETED
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.3.3-p222" project-jdk-type="RUBY_SDK" />
4
- </project>
data/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/criteria_operator.iml" filepath="$PROJECT_DIR$/.idea/criteria_operator.iml" />
6
- </modules>
7
- </component>
8
- </project>
data/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
data/.idea/workspace.xml DELETED
@@ -1,224 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list default="true" id="cf9e500e-74a3-4ed4-8e51-31799cafd00a" name="Default" comment="">
5
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/criteria_operator.gemspec" afterPath="$PROJECT_DIR$/criteria_operator.gemspec" />
6
- </list>
7
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
8
- <option name="TRACKING_ENABLED" value="true" />
9
- <option name="SHOW_DIALOG" value="false" />
10
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
11
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
12
- <option name="LAST_RESOLUTION" value="IGNORE" />
13
- </component>
14
- <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
15
- <component name="FileEditorManager">
16
- <leaf>
17
- <file leaf-file-name="criteria_operator.gemspec" pinned="false" current-in-tab="true">
18
- <entry file="file://$PROJECT_DIR$/criteria_operator.gemspec">
19
- <provider selected="true" editor-type-id="text-editor">
20
- <state relative-caret-position="340">
21
- <caret line="20" column="64" lean-forward="true" selection-start-line="20" selection-start-column="64" selection-end-line="20" selection-end-column="64" />
22
- <folding />
23
- </state>
24
- </provider>
25
- </entry>
26
- </file>
27
- <file leaf-file-name="criteria_operator.rb" pinned="false" current-in-tab="false">
28
- <entry file="file://$PROJECT_DIR$/lib/criteria_operator.rb">
29
- <provider selected="true" editor-type-id="text-editor">
30
- <state relative-caret-position="119">
31
- <caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
32
- <folding />
33
- </state>
34
- </provider>
35
- </entry>
36
- </file>
37
- </leaf>
38
- </component>
39
- <component name="Git.Settings">
40
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
41
- </component>
42
- <component name="IdeDocumentHistory">
43
- <option name="CHANGED_PATHS">
44
- <list>
45
- <option value="$PROJECT_DIR$/lib/criteria_operator.rb" />
46
- <option value="$PROJECT_DIR$/criteria_operator.gemspec" />
47
- </list>
48
- </option>
49
- </component>
50
- <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
51
- <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
52
- <component name="JsGulpfileManager">
53
- <detection-done>true</detection-done>
54
- <sorting>DEFINITION_ORDER</sorting>
55
- </component>
56
- <component name="ProjectFrameBounds">
57
- <option name="x" value="-8" />
58
- <option name="y" value="-8" />
59
- <option name="width" value="1936" />
60
- <option name="height" value="1176" />
61
- </component>
62
- <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
63
- <component name="ProjectView">
64
- <navigator currentView="ProjectPane" proportions="" version="1">
65
- <flattenPackages />
66
- <showMembers />
67
- <showModules />
68
- <showLibraryContents />
69
- <hideEmptyPackages />
70
- <abbreviatePackageNames />
71
- <autoscrollToSource />
72
- <autoscrollFromSource ProjectPane="true" />
73
- <sortByType />
74
- <manualOrder />
75
- <foldersAlwaysOnTop value="true" />
76
- </navigator>
77
- <panes>
78
- <pane id="Scratches" />
79
- <pane id="Scope" />
80
- <pane id="ProjectPane">
81
- <subPane>
82
- <PATH>
83
- <PATH_ELEMENT>
84
- <option name="myItemId" value="criteria_operator" />
85
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
86
- </PATH_ELEMENT>
87
- <PATH_ELEMENT>
88
- <option name="myItemId" value="criteria_operator" />
89
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
90
- </PATH_ELEMENT>
91
- </PATH>
92
- <PATH>
93
- <PATH_ELEMENT>
94
- <option name="myItemId" value="criteria_operator" />
95
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
96
- </PATH_ELEMENT>
97
- <PATH_ELEMENT>
98
- <option name="myItemId" value="criteria_operator" />
99
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
100
- </PATH_ELEMENT>
101
- <PATH_ELEMENT>
102
- <option name="myItemId" value="test" />
103
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
104
- </PATH_ELEMENT>
105
- </PATH>
106
- <PATH>
107
- <PATH_ELEMENT>
108
- <option name="myItemId" value="criteria_operator" />
109
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
110
- </PATH_ELEMENT>
111
- <PATH_ELEMENT>
112
- <option name="myItemId" value="criteria_operator" />
113
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
114
- </PATH_ELEMENT>
115
- <PATH_ELEMENT>
116
- <option name="myItemId" value="lib" />
117
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
118
- </PATH_ELEMENT>
119
- </PATH>
120
- <PATH>
121
- <PATH_ELEMENT>
122
- <option name="myItemId" value="criteria_operator" />
123
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
124
- </PATH_ELEMENT>
125
- <PATH_ELEMENT>
126
- <option name="myItemId" value="criteria_operator" />
127
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
128
- </PATH_ELEMENT>
129
- <PATH_ELEMENT>
130
- <option name="myItemId" value="bin" />
131
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
132
- </PATH_ELEMENT>
133
- </PATH>
134
- </subPane>
135
- </pane>
136
- </panes>
137
- </component>
138
- <component name="PropertiesComponent">
139
- <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
140
- <property name="WebServerToolWindowFactoryState" value="false" />
141
- </component>
142
- <component name="RunDashboard">
143
- <option name="ruleStates">
144
- <list>
145
- <RuleState>
146
- <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
147
- </RuleState>
148
- <RuleState>
149
- <option name="name" value="StatusDashboardGroupingRule" />
150
- </RuleState>
151
- </list>
152
- </option>
153
- </component>
154
- <component name="ShelveChangesManager" show_recycled="false">
155
- <option name="remove_strategy" value="false" />
156
- </component>
157
- <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
158
- <component name="TaskManager">
159
- <task active="true" id="Default" summary="Default task">
160
- <changelist id="cf9e500e-74a3-4ed4-8e51-31799cafd00a" name="Default" comment="" />
161
- <created>1494339147835</created>
162
- <option name="number" value="Default" />
163
- <option name="presentableId" value="Default" />
164
- <updated>1494339147835</updated>
165
- <workItem from="1494339149077" duration="562000" />
166
- </task>
167
- <servers />
168
- </component>
169
- <component name="TimeTrackingManager">
170
- <option name="totallyTimeSpent" value="562000" />
171
- </component>
172
- <component name="ToolWindowManager">
173
- <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
174
- <layout>
175
- <window_info id="Project" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="combo" />
176
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
177
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.5021322" order="1" side_tool="true" content_ui="tabs" />
178
- <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32995737" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
179
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.4978678" order="8" side_tool="false" content_ui="tabs" />
180
- <window_info id="Version Control" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32995737" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
181
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
182
- <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32949087" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
183
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.31412104" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
184
- <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
185
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
186
- <window_info id="Messages" active="false" anchor="bottom" auto_hide="true" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
187
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
188
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
189
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
190
- <window_info id="REST Client" active="false" anchor="bottom" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
191
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
192
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32949087" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
193
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
194
- </layout>
195
- </component>
196
- <component name="TypeScriptGeneratedFilesManager">
197
- <option name="processedProjectFiles" value="true" />
198
- </component>
199
- <component name="VcsContentAnnotationSettings">
200
- <option name="myLimit" value="2678400000" />
201
- </component>
202
- <component name="XDebuggerManager">
203
- <breakpoint-manager />
204
- <watches-manager />
205
- </component>
206
- <component name="editorHistoryManager">
207
- <entry file="file://$PROJECT_DIR$/lib/criteria_operator.rb">
208
- <provider selected="true" editor-type-id="text-editor">
209
- <state relative-caret-position="119">
210
- <caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
211
- <folding />
212
- </state>
213
- </provider>
214
- </entry>
215
- <entry file="file://$PROJECT_DIR$/criteria_operator.gemspec">
216
- <provider selected="true" editor-type-id="text-editor">
217
- <state relative-caret-position="340">
218
- <caret line="20" column="64" lean-forward="true" selection-start-line="20" selection-start-column="64" selection-end-line="20" selection-end-column="64" />
219
- <folding />
220
- </state>
221
- </provider>
222
- </entry>
223
- </component>
224
- </project>