active-orient 0.5 → 0.6
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.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/README.md +78 -35
- data/VERSION +1 -1
- data/active-orient.gemspec +4 -4
- data/bin/active-orient-console +8 -5
- data/config/boot.rb +2 -4
- data/config/config.yml +1 -1
- data/config/connect.yml +2 -2
- data/examples/time_graph.md +162 -0
- data/gratefuldeadconcerts.md +94 -0
- data/lib/active-orient.rb +4 -2
- data/lib/base.rb +53 -20
- data/lib/base_properties.rb +2 -3
- data/lib/class_utils.rb +3 -4
- data/lib/database_utils.rb +14 -5
- data/lib/init.rb +11 -1
- data/lib/model/edge.rb +12 -10
- data/lib/model/model.rb +17 -3
- data/lib/model/the_class.rb +60 -40
- data/lib/model/the_record.rb +63 -51
- data/lib/model/vertex.rb +114 -10
- data/lib/orient.rb +24 -33
- data/lib/orientdb_private.rb +31 -31
- data/lib/other.rb +55 -5
- data/lib/rest/change.rb +17 -4
- data/lib/rest/create.rb +38 -24
- data/lib/rest/delete.rb +3 -2
- data/lib/rest/operations.rb +37 -27
- data/lib/rest/read.rb +2 -2
- data/lib/rest/rest.rb +4 -3
- data/lib/support.rb +17 -16
- data/linkmap.md +75 -0
- data/namespace.md +111 -0
- data/rails.md +125 -0
- data/rails/activeorient.rb +53 -0
- data/{examples/time_graph/config → rails}/config.yml +3 -1
- data/{examples/time_graph/config → rails}/connect.yml +2 -2
- data/usecase_oo.md +3 -1
- metadata +21 -38
- data/examples/createTime.rb +0 -91
- data/examples/time_graph/Gemfile +0 -21
- data/examples/time_graph/Guardfile +0 -26
- data/examples/time_graph/README.md +0 -129
- data/examples/time_graph/bin/active-orient-console +0 -35
- data/examples/time_graph/config/boot.rb +0 -119
- data/examples/time_graph/config/init_db.rb +0 -59
- data/examples/time_graph/createTime.rb +0 -51
- data/examples/time_graph/lib/createTime.rb +0 -82
- data/examples/time_graph/model/day_of.rb +0 -3
- data/examples/time_graph/model/e.rb +0 -6
- data/examples/time_graph/model/edge.rb +0 -53
- data/examples/time_graph/model/monat.rb +0 -19
- data/examples/time_graph/model/stunde.rb +0 -16
- data/examples/time_graph/model/tag.rb +0 -29
- data/examples/time_graph/model/time_base.rb +0 -6
- data/examples/time_graph/model/time_of.rb +0 -4
- data/examples/time_graph/model/v.rb +0 -3
- data/examples/time_graph/model/vertex.rb +0 -32
- data/examples/time_graph/spec/lib/create_time_spec.rb +0 -50
- data/examples/time_graph/spec/rest_helper.rb +0 -37
- data/examples/time_graph/spec/spec_helper.rb +0 -46
- data/usecase.md +0 -104
data/linkmap.md
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# Joining Tables
|
2
|
+
|
3
|
+
The most important difference between OrientDB and a Relational Database is that relationships are represented by LINKS instead of JOINs.
|
4
|
+
|
5
|
+
For this reason, the classic JOIN syntax is not supported. OrientDB uses the "dot (.) notation" to navigate LINKS
|
6
|
+
(OrientDB-documation)
|
7
|
+
|
8
|
+
This is supported by ActiveOrient in a very convient way.
|
9
|
+
|
10
|
+
## Playing with Arrays and Linkmaps
|
11
|
+
|
12
|
+
Linkmaps are the OrientDB equivalent to joined tables
|
13
|
+
Formally, they are ordinary arrays.
|
14
|
+
|
15
|
+
They can be created schemaless
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
DB.create_class :industry
|
19
|
+
DB.create_class :property
|
20
|
+
property_record= Property.create con_id: 12346, property: []
|
21
|
+
industries = ['Construction','HealthCare','Bevarage']
|
22
|
+
industries.each{| industry | property_record.property << Industry.create( label: industry ) }
|
23
|
+
|
24
|
+
Property.last
|
25
|
+
=> #<Property:0x00000001d1a938 @metadata={"type"=>"d", (...)},
|
26
|
+
@attributes={"con_id"=>12346, "property"=>["#34:0", "#35:0", "#36:0"],
|
27
|
+
"created_at"=>"2017-02-01T06:28:17.332 01:00", "updated_at"=>"2017-02-01T06:28:17.344 01:00"}>
|
28
|
+
```
|
29
|
+
|
30
|
+
Stored data in this array is accessible via
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
p = Property.last
|
34
|
+
p.property.label
|
35
|
+
=> ["Construction", "HealthCare", "Bevarage"]
|
36
|
+
p.property[2].label
|
37
|
+
=> "Bevarage"
|
38
|
+
p.property.label[2]
|
39
|
+
=> "Bevarage"
|
40
|
+
p.property[2].label[2]
|
41
|
+
=> "v"
|
42
|
+
|
43
|
+
p.property.remove_at 2
|
44
|
+
p.property.label
|
45
|
+
=> ["Construction", "HealthCare"]
|
46
|
+
|
47
|
+
p.property[2] = Industry.where(label:'Bevarage').first
|
48
|
+
p.property.label
|
49
|
+
=> ["Construction", "HealthCare", "Bevarage"]
|
50
|
+
```
|
51
|
+
|
52
|
+
The Elements of the Array can be treated like common ruby Arrays. Manipulations are
|
53
|
+
performed in ruby-spac. Simply call
|
54
|
+
```ruby
|
55
|
+
p.update
|
56
|
+
```
|
57
|
+
to transfer the changes into the database. This approach can be extended to linked records as well
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
p.property[2].label = 'zu'
|
61
|
+
p.property[2].update
|
62
|
+
p.property.label
|
63
|
+
=> ["Construction", "HealthCare", "zu"]
|
64
|
+
Industry.last.label
|
65
|
+
=> "zu"
|
66
|
+
|
67
|
+
|
68
|
+
```
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
(to be continued)
|
74
|
+
|
75
|
+
|
data/namespace.md
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
## Namespace Support
|
2
|
+
|
3
|
+
Consider a project, where different tasks are clearly separated.
|
4
|
+
|
5
|
+
A common case is, to concentrate any gathering of raw data in a separate module, maybe even in a gem.
|
6
|
+
|
7
|
+
ActiveOrient enables this by switching the "ActiveOrient::Model.namespace" directive.
|
8
|
+
|
9
|
+
In out case, the "ib-ruby" gem gets data through an api
|
10
|
+
The gem provides the logic to convert the raw-data from the server to ActiveOrient::Model-Objects.
|
11
|
+
Its located in the model-directory of the gem.
|
12
|
+
|
13
|
+
Just by including the gem in the Gemfile and requiring the gem, anything is available in our project.
|
14
|
+
|
15
|
+
The gem defines the ActiveOrient-Environment as follows:
|
16
|
+
```ruby
|
17
|
+
module IB
|
18
|
+
module ORD
|
19
|
+
include ActiveOrient::Init # namespace support
|
20
|
+
mattr_accessor :login
|
21
|
+
|
22
|
+
# establishes a connection to the Database and returns the Connection-Object (an ActiveOrient::OrientDB. …instance)
|
23
|
+
def self.connect
|
24
|
+
|
25
|
+
c = { :server => 'localhost', :port => 2480, :protocol => 'http',
|
26
|
+
:user => 'root', :password => 'root', :database => 'temp' }.merge login.presence || {}
|
27
|
+
ActiveOrient.default_server= { user: c[:user], password: c[:password] , server: c[:server], port: c[:port] }
|
28
|
+
ActiveOrient.database = c[:database]
|
29
|
+
logger = Logger.new '/dev/stdout'
|
30
|
+
ActiveOrient::Init.define_namespace { IB }
|
31
|
+
project_root = File.expand_path('../..', __FILE__)
|
32
|
+
|
33
|
+
ActiveOrient::Model.model_dir = "#{project_root}/models"
|
34
|
+
ActiveOrient::OrientDB.new preallocate: true # connect via http-rest
|
35
|
+
|
36
|
+
(...)
|
37
|
+
```
|
38
|
+
The gem scans through all database classes present, and allocates only those, where a model-file
|
39
|
+
is found in the model-directory.
|
40
|
+
|
41
|
+
This takes place by requiring 'ib-ruby' in 'config/boot.rb'
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
76 #read the configuration and model-files from the ib-ruby gem directotry
|
45
|
+
77 require 'ib/ord'
|
46
|
+
78 IB::ORD.login= ActiveOrient.default_server.merge database: ActiveOrient.database
|
47
|
+
79 require 'ib-ruby' # automatically connects to the database
|
48
|
+
80
|
49
|
+
81 # set the model-file for the time-graph
|
50
|
+
82 module TG
|
51
|
+
83 end
|
52
|
+
84 ActiveOrient::Model.model_dir = "#{project_root}/model"
|
53
|
+
85 ActiveOrient::Init.define_namespace { TG }
|
54
|
+
86 puts "Namespace changed: #{ActiveOrient::Model.namespace}"
|
55
|
+
87 ActiveOrient::OrientDB.new preallocate: true
|
56
|
+
|
57
|
+
```
|
58
|
+
|
59
|
+
After row 80, the namspace is changed to "TG" (TimeGraph). The example provides a gem as well. Just
|
60
|
+
»require 'orientdb_time_graph'« and call »TG.connect« to include it properly.
|
61
|
+
|
62
|
+
The code above shows how to integrate the classes within the structure of the project. The difference is the placement
|
63
|
+
of the model-files. With the gem, they are located in the root-directory of the gem. The other approach looks in the model-directory of the project (model/tg).
|
64
|
+
|
65
|
+
Before we start, we switch to the object-layer, where we want to define the working-classes. Their
|
66
|
+
logic is defined in model-files in 'model'. And we want to make shure, that all database-classes are allocated
|
67
|
+
to ruby classes.
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
97 ActiveOrient::Init.define_namespace :object
|
71
|
+
98 ActiveOrient::Model.keep_models_without_file = true
|
72
|
+
99 ORD = ActiveOrient::OrientDB.new preallocate: true
|
73
|
+
```
|
74
|
+
|
75
|
+
**note** The preallocation-algorithm trys to load any class. If »ActiveOrient::Model.keep_models_without_file«
|
76
|
+
is set to false, classes are allocated only, if a model-file is present. As a consequence, any appropopiate
|
77
|
+
model-file is loaded.
|
78
|
+
|
79
|
+
Any previously allocated class can thus be extended, providing a proper model-file. For example: If we
|
80
|
+
allocated a class «Contract« in the namspace »IB«, methods for this class are included from the model-dir specified in the gem *and* in the actual-model-directory ( in this case: model/ib/contract.rb ).
|
81
|
+
|
82
|
+
|
83
|
+
As a result something like this appears:
|
84
|
+
|
85
|
+
```
|
86
|
+
DB-Class -> Ruby-Object
|
87
|
+
V -> V
|
88
|
+
E -> E
|
89
|
+
contract -> IB::Contract
|
90
|
+
bag -> IB::Bag
|
91
|
+
forex -> IB::Forex
|
92
|
+
future -> IB::Future
|
93
|
+
option -> IB::Option
|
94
|
+
stock -> IB::Stock
|
95
|
+
account -> IB::Account
|
96
|
+
bar -> IB::Bar
|
97
|
+
contract_detail -> IB::ContractDetail
|
98
|
+
day_of -> TG::DAY_OF
|
99
|
+
time_of -> TG::TIME_OF
|
100
|
+
time_base -> TG::TimeBase
|
101
|
+
monat -> TG::Monat
|
102
|
+
stunde -> TG::Stunde
|
103
|
+
tag -> TG::Tag
|
104
|
+
|
105
|
+
new_test -> NewTest
|
106
|
+
|
107
|
+
```
|
108
|
+
|
109
|
+
By changing the namespace-scope with 'ActiveOrient::Init.define_namespace' its always possible to
|
110
|
+
change properties, include links and edges or to add and remove classes in the Sub-Modules.
|
111
|
+
|
data/rails.md
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
# Active Orient and Rails
|
2
|
+
|
3
|
+
The usage of Orientdb via ActiveOrient in Rails requires just a few steps.
|
4
|
+
Based on a Rails 5 installation
|
5
|
+
|
6
|
+
```ruby
|
7
|
+
rvm install 2.4
|
8
|
+
rvm use 2.4
|
9
|
+
gem install bundler
|
10
|
+
gem install nokogiri
|
11
|
+
gem install rails
|
12
|
+
rails -v # Rails 5.0.1
|
13
|
+
|
14
|
+
```
|
15
|
+
|
16
|
+
create your working directory and initialize the system
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
mkdir rails_project; cd rails_project
|
20
|
+
rails -OCT .
|
21
|
+
```
|
22
|
+
This initializes a Rails-Stack, without active-record, action-cable and the test-suite.
|
23
|
+
(We will use rspec later)
|
24
|
+
|
25
|
+
This can be checked by inspecting «/config/application.rb «
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
rails s puma
|
29
|
+
```
|
30
|
+
should work at this stage.
|
31
|
+
|
32
|
+
## Modify the Gemfile
|
33
|
+
Inform rails to use orientdb and active-orient
|
34
|
+
|
35
|
+
```
|
36
|
+
echo " gem 'active-orient' , :path => '/home/your_cloned_active_orient_path/activeorient' " >> Gemfile
|
37
|
+
# or
|
38
|
+
|
39
|
+
echo " gem 'active-orient' , :git => 'https://github.com/topofocus/active-orient.git' " >> Gemfile
|
40
|
+
```
|
41
|
+
|
42
|
+
After that, copy
|
43
|
+
|
44
|
+
* __active_orient/rails/activeorient.rb__ to /config/initializers in the rails-project dir
|
45
|
+
* __active_orient/rails/connect.yml__ to /config
|
46
|
+
* __active_orient/rails/config.yml__ to /config
|
47
|
+
|
48
|
+
and modify the yml-files accordingly.
|
49
|
+
|
50
|
+
Run the bundler
|
51
|
+
|
52
|
+
```
|
53
|
+
bundle install & bundle update
|
54
|
+
```
|
55
|
+
|
56
|
+
The database should be present in the rails console, and
|
57
|
+
```ruby
|
58
|
+
rails c
|
59
|
+
|
60
|
+
V.count
|
61
|
+
V.first
|
62
|
+
E.count
|
63
|
+
puts ActiveOrient::Model.allocated_classes.map{|x,y| "#{"%15s"% x} -> #{y.to_s}" }.join("\n")
|
64
|
+
|
65
|
+
```
|
66
|
+
should work.
|
67
|
+
|
68
|
+
**Notice** The spring-facility is running in the background. Stop the server prior reloading
|
69
|
+
the console ( ./bin/spring stop ).
|
70
|
+
|
71
|
+
The final step is to generate Model-Files. In «/config/config.yml» the «:model_dir»-var points to
|
72
|
+
the location of the model-files. The default is 'lib/orient'.
|
73
|
+
|
74
|
+
Upon startup this directory is scanned for autoloading database-files.
|
75
|
+
|
76
|
+
After envoking the rails console, the logfile displays sucessfully loaded and missing files, ie.
|
77
|
+
|
78
|
+
```
|
79
|
+
14.01.(08:28:45) INFO->ModelClass#RequireModelFile:..:model-file not present: /home/topo/workspace/orient-rails/lib/orient/followed_by.rb
|
80
|
+
14.01.(08:28:45) INFO->ModelClass#RequireModelFile:..:/home/topo/workspace/orient-rails/lib/orient/v.rb sucessfully loaded
|
81
|
+
```
|
82
|
+
|
83
|
+
## Model-file Example
|
84
|
+
|
85
|
+
To query the GratefulDeadConcerts Database, «v.rb» hosts the essential model methods.
|
86
|
+
As always, use «def self.{method}« for class methods and simply «def {method}» for methods working on the record level.
|
87
|
+
|
88
|
+
```
|
89
|
+
1 class V
|
90
|
+
2 def self.artists **attributes
|
91
|
+
3 names 'artist', **attributes
|
92
|
+
4 end
|
93
|
+
5
|
94
|
+
6 def self.songs **attributes
|
95
|
+
7 names 'song', **attributes
|
96
|
+
8 end
|
97
|
+
9
|
98
|
+
10 def self.types
|
99
|
+
11 oo = OrientSupport::OrientQuery
|
100
|
+
12 this_query = oo.new distinct: [:type, :a ]
|
101
|
+
13 query_database( this_query ).a
|
102
|
+
14 end
|
103
|
+
15 private
|
104
|
+
16 def self.names type, sort: :asc, limit: 20, skip: 0
|
105
|
+
17 puts "in names"
|
106
|
+
18 oo = OrientSupport::OrientQuery
|
107
|
+
19 query_database oo.new( where: {type: type },
|
108
|
+
20 order: { name: sort } ,
|
109
|
+
21 limit: limit ,
|
110
|
+
22 skip: skip )
|
111
|
+
23 end
|
112
|
+
24 end
|
113
|
+
|
114
|
+
```
|
115
|
+
|
116
|
+
Now
|
117
|
+
|
118
|
+
```ruby
|
119
|
+
V.types
|
120
|
+
V.artists limit: 15, skip: 34, sort: :desc
|
121
|
+
```
|
122
|
+
queries the database, fetches 15 artists and can be used everywhere.
|
123
|
+
|
124
|
+
|
125
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
project_root = File.expand_path('../../..', __FILE__)
|
2
|
+
config_root = File.expand_path('../..', __FILE__)
|
3
|
+
begin
|
4
|
+
connect_file = File.expand_path('../../connect.yml', __FILE__)
|
5
|
+
config_file = File.expand_path('../../config.yml', __FILE__)
|
6
|
+
connectyml = YAML.load_file( connect_file )[:orientdb][:admin] if connect_file.present?
|
7
|
+
configyml = YAML.load_file( config_file )[:active_orient] if config_file.present?
|
8
|
+
databaseyml = YAML.load_file( connect_file )[:orientdb][:database] if connect_file.present?
|
9
|
+
rescue Errno::ENOENT => e
|
10
|
+
Rails.logger.error{ "config/connect.yml not present" }
|
11
|
+
puts "config/connectyml not present"
|
12
|
+
Rails.logger.error{ "Using defaults to connect database-server" }
|
13
|
+
puts "Using defaults to connect database-server"
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
ActiveOrient::Model.model_dir = "#{project_root}/#{ configyml.present? ? configyml[:model_dir] : "model" }"
|
18
|
+
ActiveOrient::Model.keep_models_without_file = true
|
19
|
+
# lib/init.rb
|
20
|
+
ActiveOrient::Init.define_namespace yml: configyml, namespace: @namespace
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
Rails.logger.formatter = proc do |severity, datetime, progname, msg|
|
25
|
+
"#{datetime.strftime("%d.%m.(%X)")}#{"%5s" % severity}->#{progname}:..:#{msg}\n"
|
26
|
+
end
|
27
|
+
ActiveOrient::Base.logger = Rails.logger
|
28
|
+
ActiveOrient::OrientDB.logger = Rails.logger
|
29
|
+
|
30
|
+
if connectyml.present? and connectyml[:user].present? and connectyml[:pass].present?
|
31
|
+
ActiveOrient.default_server= { user: connectyml[:user], password: connectyml[:pass] ,
|
32
|
+
server: 'localhost', port: 2480 }
|
33
|
+
ActiveOrient.database = @configDatabase.presence || databaseyml[Rails.env.to_sym]
|
34
|
+
|
35
|
+
ORD = ActiveOrient::OrientDB.new preallocate: @do_not_preallocate.present? ? false : true
|
36
|
+
if RUBY_PLATFORM == 'java'
|
37
|
+
DB = ActiveOrient::API.new preallocate: false
|
38
|
+
else
|
39
|
+
DB = ORD
|
40
|
+
end
|
41
|
+
# ActiveOrient::Init.vertex_and_edge_class
|
42
|
+
|
43
|
+
ORD.create_classes 'E', 'V'
|
44
|
+
E.ref_name = 'E'
|
45
|
+
V.ref_name = 'V'
|
46
|
+
else
|
47
|
+
logger = Logger.new('/dev/stdout')
|
48
|
+
logger.error{ "config/connectyml is misconfigurated" }
|
49
|
+
logger.error{ "Database Server is NOT available"}
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
|
data/usecase_oo.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
## Usecase
|
2
2
|
Below some typical features are summarized by example
|
3
3
|
|
4
|
-
Initialize ActiveOrient by calling »bin/
|
4
|
+
Initialize ActiveOrient by calling »bin/active-orient-console t«.
|
5
5
|
This connects to the Test-Database.
|
6
6
|
|
7
7
|
```ruby
|
@@ -57,3 +57,5 @@ Attibutes/properties of the Database-Record can be handled as normal ruby objec
|
|
57
57
|
```
|
58
58
|
|
59
59
|
## Inherence
|
60
|
+
|
61
|
+
( to be continued )
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-orient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hartmut Bischoff
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,30 +42,30 @@ dependencies:
|
|
42
42
|
name: activesupport
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: activemodel
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rest-client
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
-
description: Persistent ORM for OrientDB, based on ActiveModel
|
83
|
+
description: Persistent ORM for OrientDB(V.2.2), based on ActiveModel. Rails 5 compatible
|
84
84
|
email:
|
85
85
|
- topofocus@gmail.com
|
86
86
|
executables: []
|
@@ -101,36 +101,14 @@ files:
|
|
101
101
|
- config/connect.yml
|
102
102
|
- create_project
|
103
103
|
- examples/books.rb
|
104
|
-
- examples/createTime.rb
|
105
104
|
- examples/streets.rb
|
106
105
|
- examples/test_commands.rb
|
107
106
|
- examples/test_commands_2.rb
|
108
107
|
- examples/test_commands_2.rb~
|
109
108
|
- examples/test_commands_3.rb
|
110
109
|
- examples/test_commands_4.rb
|
111
|
-
- examples/time_graph
|
112
|
-
-
|
113
|
-
- examples/time_graph/README.md
|
114
|
-
- examples/time_graph/bin/active-orient-console
|
115
|
-
- examples/time_graph/config/boot.rb
|
116
|
-
- examples/time_graph/config/config.yml
|
117
|
-
- examples/time_graph/config/connect.yml
|
118
|
-
- examples/time_graph/config/init_db.rb
|
119
|
-
- examples/time_graph/createTime.rb
|
120
|
-
- examples/time_graph/lib/createTime.rb
|
121
|
-
- examples/time_graph/model/day_of.rb
|
122
|
-
- examples/time_graph/model/e.rb
|
123
|
-
- examples/time_graph/model/edge.rb
|
124
|
-
- examples/time_graph/model/monat.rb
|
125
|
-
- examples/time_graph/model/stunde.rb
|
126
|
-
- examples/time_graph/model/tag.rb
|
127
|
-
- examples/time_graph/model/time_base.rb
|
128
|
-
- examples/time_graph/model/time_of.rb
|
129
|
-
- examples/time_graph/model/v.rb
|
130
|
-
- examples/time_graph/model/vertex.rb
|
131
|
-
- examples/time_graph/spec/lib/create_time_spec.rb
|
132
|
-
- examples/time_graph/spec/rest_helper.rb
|
133
|
-
- examples/time_graph/spec/spec_helper.rb
|
110
|
+
- examples/time_graph.md
|
111
|
+
- gratefuldeadconcerts.md
|
134
112
|
- lib/active-orient.rb
|
135
113
|
- lib/base.rb
|
136
114
|
- lib/base_properties.rb
|
@@ -156,8 +134,13 @@ files:
|
|
156
134
|
- lib/rest/rest.rb
|
157
135
|
- lib/rest_disabled.rb
|
158
136
|
- lib/support.rb
|
137
|
+
- linkmap.md
|
138
|
+
- namespace.md
|
159
139
|
- old_lib_functions/two_general_class.rb
|
160
|
-
-
|
140
|
+
- rails.md
|
141
|
+
- rails/activeorient.rb
|
142
|
+
- rails/config.yml
|
143
|
+
- rails/connect.yml
|
161
144
|
- usecase_oo.md
|
162
145
|
homepage: https://github.com/topofocus/active-orient
|
163
146
|
licenses:
|
@@ -179,8 +162,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
162
|
version: '0'
|
180
163
|
requirements: []
|
181
164
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.
|
165
|
+
rubygems_version: 2.6.8
|
183
166
|
signing_key:
|
184
167
|
specification_version: 4
|
185
|
-
summary: Pure ruby client for OrientDB based on ActiveModel
|
168
|
+
summary: Pure ruby client for OrientDB(V.2.2) based on ActiveModel
|
186
169
|
test_files: []
|