tensai-logic 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: a3d517ace3ab485484c60554172fba6deaaf0bdfb1c05890e1a037f74efe14cb
4
- data.tar.gz: 71b98b45c8d346728f0980c42e7ea570ef77b460c6fb3e30c0078a113ee14023
3
+ metadata.gz: 60fdaf0269e16ca8c7773eb0b4a7d6a84ccfa4d0dd412a7a25bcf647fe7287bb
4
+ data.tar.gz: 05204550ab847f619160c0cedf3458133eebe6ddc3e18aa28cf7f1212bc4b6c0
5
5
  SHA512:
6
- metadata.gz: 3ad51401b841a499cbec0e11b3ff1df4e11a33f3f0f12ab5bb0efeabb617e34a9f04def3adbe9475aaa5021986f3a382a2393843cad722ffb7f4c0ea2517c183
7
- data.tar.gz: 0ae73fef220915259f0b666cc9dfb357602a7bf57b89872a78530433e5878a0a722d54f08a179ec5b10b7decb27b8cfc87cecb2678dd88f095b1fa05ed14764c
6
+ metadata.gz: d5096be60fc7448f52a87cccce954e16ea1f5b4e30249bbb4f2734ec4ebfc4e0bb39032afad4fa147ce6818e8ac9aea66420819ca5832d8ed66147b7a33f9193
7
+ data.tar.gz: 1724d5f5d4c54755b8093fdf5e411cb213d28efaa5d24b6082e77bf23c78aab216e0d1a703ba623dcf3174a1abb23b39c7def94ed19a4258bea5085b739d6630
data/Gemfile.lock CHANGED
@@ -2,6 +2,7 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  tensai-logic (0.1.1)
5
+ dry-inflector
5
6
  tensai-core (~> 0.1.7)
6
7
 
7
8
  GEM
@@ -1,11 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'dry/inflector'
4
+
3
5
  require 'tensai/util/initializer'
4
6
 
5
7
  module Tensai
6
8
  module Logic
7
9
  #
8
- # Entity
10
+ # Logical entity which appears in predicates
9
11
  #
10
12
  class Entity
11
13
  include Util::Initializer.new(
@@ -13,7 +15,25 @@ module Tensai
13
15
  )
14
16
 
15
17
  def inspect
16
- "#{self.class.to_s.split('::').last}(#{name})"
18
+ "#{self.class.name}(#{name})"
19
+ end
20
+
21
+ class << self
22
+ #
23
+ # Name of entity class
24
+ #
25
+ def name
26
+ @name || 'Entity'
27
+ end
28
+
29
+ #
30
+ # Create a subtype with the specified name
31
+ #
32
+ def create_subtype(name)
33
+ Class.new(self) do
34
+ @name = Dry::Inflector.new.classify(name.to_s)
35
+ end
36
+ end
17
37
  end
18
38
  end
19
39
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tensai
4
4
  module Logic
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
  end
7
7
  end
data/tensai-logic.gemspec CHANGED
@@ -31,5 +31,6 @@ Gem::Specification.new do |spec|
31
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
32
  spec.require_paths = ['lib']
33
33
 
34
+ spec.add_dependency 'dry-inflector'
34
35
  spec.add_dependency 'tensai-core', '~> 0.1.7'
35
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tensai-logic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Fischer
@@ -10,6 +10,20 @@ bindir: exe
10
10
  cert_chain: []
11
11
  date: 2019-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dry-inflector
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: tensai-core
15
29
  requirement: !ruby/object:Gem::Requirement