diametric 0.0.4 → 0.1.1
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 +15 -0
- data/Gemfile +21 -18
- data/Jarfile +15 -1
- data/README.md +22 -14
- data/Rakefile +17 -1
- data/bin/datomic-rest +33 -0
- data/bin/download-datomic +13 -0
- data/datomic_version.yml +4 -0
- data/diametric.gemspec +9 -6
- data/ext/diametric/DiametricCollection.java +147 -0
- data/ext/diametric/DiametricConnection.java +113 -0
- data/ext/diametric/DiametricDatabase.java +107 -0
- data/ext/diametric/DiametricEntity.java +90 -0
- data/ext/diametric/DiametricListenableFuture.java +47 -0
- data/ext/diametric/DiametricObject.java +66 -0
- data/ext/diametric/DiametricPeer.java +414 -0
- data/ext/diametric/DiametricService.java +102 -0
- data/ext/diametric/DiametricUUID.java +61 -0
- data/ext/diametric/DiametricUtils.java +183 -0
- data/lib/boolean_type.rb +3 -0
- data/lib/diametric.rb +24 -0
- data/lib/diametric/entity.rb +219 -14
- data/lib/diametric/generators/active_model.rb +2 -2
- data/lib/diametric/persistence.rb +0 -1
- data/lib/diametric/persistence/common.rb +28 -9
- data/lib/diametric/persistence/peer.rb +122 -87
- data/lib/diametric/persistence/rest.rb +4 -3
- data/lib/diametric/query.rb +94 -23
- data/lib/diametric/rest_service.rb +74 -0
- data/lib/diametric/service_base.rb +77 -0
- data/lib/diametric/transactor.rb +86 -0
- data/lib/diametric/version.rb +1 -1
- data/lib/diametric_service.jar +0 -0
- data/lib/value_enums.rb +8 -0
- data/spec/conf_helper.rb +55 -0
- data/spec/config/free-transactor-template.properties +73 -0
- data/spec/config/logback.xml +59 -0
- data/spec/data/seattle-data0.dtm +452 -0
- data/spec/data/seattle-data1.dtm +326 -0
- data/spec/developer_create_sample.rb +39 -0
- data/spec/developer_query_spec.rb +120 -0
- data/spec/diametric/config_spec.rb +1 -1
- data/spec/diametric/entity_spec.rb +263 -0
- data/spec/diametric/peer_api_spec.rb +147 -0
- data/spec/diametric/persistence/peer_many2many_spec.rb +76 -0
- data/spec/diametric/persistence/peer_spec.rb +13 -22
- data/spec/diametric/persistence/rest_spec.rb +12 -19
- data/spec/diametric/query_spec.rb +4 -5
- data/spec/diametric/rest_service_spec.rb +56 -0
- data/spec/diametric/transactor_spec.rb +68 -0
- data/spec/integration_spec.rb +5 -3
- data/spec/parent_child_sample.rb +42 -0
- data/spec/peer_integration_spec.rb +106 -22
- data/spec/peer_seattle_spec.rb +200 -0
- data/spec/rc2013_seattle_big.rb +82 -0
- data/spec/rc2013_seattle_small.rb +60 -0
- data/spec/rc2013_simple_sample.rb +72 -0
- data/spec/seattle_integration_spec.rb +106 -0
- data/spec/simple_validation_sample.rb +31 -0
- data/spec/spec_helper.rb +31 -45
- data/spec/support/entities.rb +157 -0
- data/spec/support/gen_entity_class.rb +2 -0
- data/spec/support/persistence_examples.rb +9 -5
- data/spec/test_version_file.yml +4 -0
- metadata +131 -75
- data/Jarfile.lock +0 -134
- data/lib/jrclj.rb +0 -63
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'conf_helper'
|
2
|
+
|
3
|
+
class Person
|
4
|
+
include Diametric::Entity
|
5
|
+
include Diametric::Persistence::Peer
|
6
|
+
|
7
|
+
attribute :name, String
|
8
|
+
validates_presence_of :name
|
9
|
+
attribute :nerd_rate, Integer
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "RailsConf 2013", :jruby => true do
|
13
|
+
context Person do
|
14
|
+
before(:all) do
|
15
|
+
datomic_uri = "datomic:mem://person-#{SecureRandom.uuid}"
|
16
|
+
@conn = Diametric::Persistence::Peer.connect(datomic_uri)
|
17
|
+
end
|
18
|
+
after(:all) do
|
19
|
+
@conn.release
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should create schema and save instaces" do
|
23
|
+
binding.pry
|
24
|
+
Person.create_schema(@conn).get
|
25
|
+
|
26
|
+
foo = Person.new
|
27
|
+
binding.pry
|
28
|
+
foo.save
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,19 +1,48 @@
|
|
1
1
|
require 'rspec'
|
2
|
-
|
2
|
+
|
3
|
+
if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
|
4
|
+
require 'lock_jar'
|
5
|
+
jar_file = File.join(File.dirname(__FILE__), "..", "Jarfile")
|
6
|
+
lock_file = File.join(File.dirname(__FILE__), "..", "Jarfile.lock")
|
7
|
+
LockJar.lock(jar_file)
|
8
|
+
LockJar.install(lock_file)
|
9
|
+
LockJar.load(lock_file)
|
10
|
+
end
|
3
11
|
require 'diametric'
|
12
|
+
require 'diametric/rest_service'
|
13
|
+
require 'diametric/transactor'
|
4
14
|
Dir["./spec/support/**/*.rb"].each {|f| require f}
|
5
15
|
|
6
16
|
RSpec.configure do |c|
|
7
17
|
# c.fail_fast = true
|
8
18
|
|
9
19
|
c.filter_run_excluding :integration => true unless ENV['INTEGRATION']
|
10
|
-
c.filter_run_excluding :jruby =>
|
20
|
+
c.filter_run_excluding :jruby => (not is_jruby?)
|
21
|
+
c.filter_run_excluding :service => true unless ENV['RESTSERVICE']
|
22
|
+
c.filter_run_excluding :transactor => true unless ENV['TRANSACTOR']
|
11
23
|
|
12
24
|
c.filter_run_including :focused => true
|
13
25
|
c.alias_example_to :fit, :focused => true
|
14
26
|
|
15
27
|
c.run_all_when_everything_filtered = true
|
16
28
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
29
|
+
|
30
|
+
c.before(:suite) do
|
31
|
+
@rest = Diametric::RestService.new("spec/test_version_file.yml", "tmp/datomic")
|
32
|
+
@rest.start(:port => 46291, :db_alias => @storage, :uri => "datomic:mem://")
|
33
|
+
PID = @rest.pid
|
34
|
+
if ENV['TRANSACTOR']
|
35
|
+
FileUtils.cp(File.join('spec', 'config', 'logback.xml'), File.join('bin', 'logback.xml'))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
c.after(:suite) do
|
40
|
+
Diametric::Persistence::Peer.shutdown(true) if is_jruby?
|
41
|
+
Process.kill("HUP", PID)
|
42
|
+
if ENV['TRANSACTOR']
|
43
|
+
FileUtils.rm(File.join('bin', 'logback.xml'), :force => true)
|
44
|
+
end
|
45
|
+
end
|
17
46
|
end
|
18
47
|
|
19
48
|
shared_examples "ActiveModel" do |model|
|
@@ -32,46 +61,3 @@ shared_examples "ActiveModel" do |model|
|
|
32
61
|
end
|
33
62
|
end
|
34
63
|
end
|
35
|
-
|
36
|
-
class Person
|
37
|
-
include Diametric::Entity
|
38
|
-
|
39
|
-
attribute :name, String, :index => true
|
40
|
-
attribute :email, String, :cardinality => :many
|
41
|
-
attribute :birthday, DateTime
|
42
|
-
attribute :awesome, :boolean, :doc => "Is this person awesome?"
|
43
|
-
attribute :ssn, String, :unique => :value
|
44
|
-
attribute :secret_name, String, :unique => :identity
|
45
|
-
attribute :bio, String, :fulltext => true
|
46
|
-
attribute :middle_name, String, :default => "Danger"
|
47
|
-
attribute :nicknames, String, :cardinality => :many, :default => ["Buddy", "Pal"]
|
48
|
-
attribute :parent, Ref, :cardinality => :many, :doc => "A person's parent"
|
49
|
-
end
|
50
|
-
|
51
|
-
class Goat
|
52
|
-
include Diametric::Entity
|
53
|
-
|
54
|
-
attribute :name, String
|
55
|
-
attribute :birthday, DateTime
|
56
|
-
end
|
57
|
-
|
58
|
-
require 'diametric/persistence/rest'
|
59
|
-
class Robin
|
60
|
-
include Diametric::Entity
|
61
|
-
include Diametric::Persistence::REST
|
62
|
-
|
63
|
-
attribute :name, String
|
64
|
-
validates_presence_of :name
|
65
|
-
attribute :age, Integer
|
66
|
-
end
|
67
|
-
|
68
|
-
if RUBY_ENGINE == "jruby"
|
69
|
-
require 'diametric/persistence/peer'
|
70
|
-
class Penguin
|
71
|
-
include Diametric::Entity
|
72
|
-
include Diametric::Persistence::Peer
|
73
|
-
|
74
|
-
attribute :name, String
|
75
|
-
attribute :age, Integer
|
76
|
-
end
|
77
|
-
end
|
@@ -0,0 +1,157 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'diametric/entity'
|
4
|
+
require 'diametric/persistence'
|
5
|
+
require 'diametric/persistence/peer'
|
6
|
+
require 'diametric/persistence/rest'
|
7
|
+
|
8
|
+
# Prevent CRuby from blowing up
|
9
|
+
module Diametric
|
10
|
+
module Persistence
|
11
|
+
module Peer
|
12
|
+
end
|
13
|
+
module Utils
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Person
|
19
|
+
include Diametric::Entity
|
20
|
+
|
21
|
+
attribute :name, String, :index => true
|
22
|
+
attribute :email, String, :cardinality => :many
|
23
|
+
attribute :birthday, DateTime
|
24
|
+
attribute :awesome, :boolean, :doc => "Is this person awesome?"
|
25
|
+
attribute :ssn, String, :unique => :value
|
26
|
+
attribute :secret_name, String, :unique => :identity
|
27
|
+
attribute :bio, String, :fulltext => true
|
28
|
+
attribute :middle_name, String, :default => "Danger"
|
29
|
+
attribute :nicknames, String, :cardinality => :many, :default => ["Buddy", "Pal"]
|
30
|
+
attribute :parent, Ref, :cardinality => :many, :doc => "A person's parent"
|
31
|
+
end
|
32
|
+
|
33
|
+
class Goat
|
34
|
+
include Diametric::Entity
|
35
|
+
|
36
|
+
attribute :name, String
|
37
|
+
attribute :birthday, DateTime
|
38
|
+
end
|
39
|
+
|
40
|
+
class Robin
|
41
|
+
include Diametric::Entity
|
42
|
+
include Diametric::Persistence::REST
|
43
|
+
|
44
|
+
attribute :name, String
|
45
|
+
validates_presence_of :name
|
46
|
+
attribute :age, Integer
|
47
|
+
end
|
48
|
+
|
49
|
+
class Penguin
|
50
|
+
include Diametric::Entity
|
51
|
+
include Diametric::Persistence::Peer
|
52
|
+
|
53
|
+
attribute :name, String
|
54
|
+
attribute :age, Integer
|
55
|
+
end
|
56
|
+
|
57
|
+
class Rat
|
58
|
+
include Diametric::Entity
|
59
|
+
include Diametric::Persistence::Peer
|
60
|
+
|
61
|
+
attribute :name, String, :index => true
|
62
|
+
attribute :age, Integer
|
63
|
+
end
|
64
|
+
|
65
|
+
class Mouse
|
66
|
+
include Diametric::Entity
|
67
|
+
include Diametric::Persistence::REST
|
68
|
+
|
69
|
+
attribute :name, String, :index => true
|
70
|
+
attribute :age, Integer
|
71
|
+
end
|
72
|
+
|
73
|
+
class Author
|
74
|
+
include Diametric::Entity
|
75
|
+
include Diametric::Persistence::Peer
|
76
|
+
|
77
|
+
attribute :name, String
|
78
|
+
attribute :books, Ref, :cardinality => :many
|
79
|
+
end
|
80
|
+
|
81
|
+
class Book
|
82
|
+
include Diametric::Entity
|
83
|
+
include Diametric::Persistence::Peer
|
84
|
+
|
85
|
+
attribute :title, String
|
86
|
+
attribute :authors, Ref, :cardinality => :many
|
87
|
+
end
|
88
|
+
|
89
|
+
class Choice
|
90
|
+
include Diametric::Entity
|
91
|
+
include Diametric::Persistence::Peer
|
92
|
+
|
93
|
+
attribute :item, String
|
94
|
+
attribute :checked, Boolean
|
95
|
+
end
|
96
|
+
|
97
|
+
class Customer
|
98
|
+
include Diametric::Entity
|
99
|
+
include Diametric::Persistence::Peer
|
100
|
+
|
101
|
+
attribute :name, String
|
102
|
+
attribute :id, UUID
|
103
|
+
end
|
104
|
+
|
105
|
+
class Account
|
106
|
+
include Diametric::Entity
|
107
|
+
include Diametric::Persistence::Peer
|
108
|
+
|
109
|
+
attribute :name, String
|
110
|
+
attribute :deposit, Float, :cardinality => :many
|
111
|
+
attribute :amount, Double
|
112
|
+
end
|
113
|
+
|
114
|
+
class Organization
|
115
|
+
include Diametric::Entity
|
116
|
+
include Diametric::Persistence::REST
|
117
|
+
|
118
|
+
attribute :name, String, :cardinality => :one, :fulltext => true, :doc => "A organization's name"
|
119
|
+
attribute :url, String, :cardinality => :one, :doc => "A organization's url"
|
120
|
+
attribute :neighborhood, Ref, :cardinality => :one, :doc => "A organization's neighborhood"
|
121
|
+
attribute :category, String, :cardinality => :many, :fulltext => true, :doc => "All organization categories"
|
122
|
+
attribute :orgtype, Ref, :cardinality => :one, :doc => "A organization orgtype enum value"
|
123
|
+
attribute :type, Ref, :cardinality => :one, :doc => "A organization type enum value"
|
124
|
+
enum :orgtype, [:community, :commercial, :nonprofit, :personal]
|
125
|
+
enum :type, [:email_list, :twitter, :facebook_page, :blog, :website, :wiki, :myspace, :ning]
|
126
|
+
end
|
127
|
+
|
128
|
+
class Community
|
129
|
+
include Diametric::Entity
|
130
|
+
include Diametric::Persistence::Peer
|
131
|
+
|
132
|
+
attribute :name, String, :cardinality => :one, :fulltext => true, :doc => "A community's name"
|
133
|
+
attribute :url, String, :cardinality => :one, :doc => "A community's url"
|
134
|
+
attribute :neighborhood, Ref, :cardinality => :one, :doc => "A community's neighborhood"
|
135
|
+
attribute :category, String, :cardinality => :many, :fulltext => true, :doc => "All community categories"
|
136
|
+
attribute :orgtype, Ref, :cardinality => :one, :doc => "A community orgtype enum value"
|
137
|
+
attribute :type, Ref, :cardinality => :one, :doc => "A community type enum value"
|
138
|
+
enum :orgtype, [:community, :commercial, :nonprofit, :personal]
|
139
|
+
enum :type, [:email_list, :twitter, :facebook_page, :blog, :website, :wiki, :myspace, :ning]
|
140
|
+
end
|
141
|
+
|
142
|
+
class Neighborhood
|
143
|
+
include Diametric::Entity
|
144
|
+
include Diametric::Persistence::Peer
|
145
|
+
|
146
|
+
attribute :name, String, :cardinality => :one, :unique => :identity, :doc => "A unique neighborhood name (upsertable)"
|
147
|
+
attribute :district, Ref, :cardinality => :one, :doc => "A neighborhood's district"
|
148
|
+
end
|
149
|
+
|
150
|
+
class District
|
151
|
+
include Diametric::Entity
|
152
|
+
include Diametric::Persistence::Peer
|
153
|
+
|
154
|
+
attribute :name, String, :cardinality => :one, :unique => :identity, :doc => "A unique district name (upsertable)"
|
155
|
+
attribute :region, Ref, :cardinality => :one, :doc => "A district region enum value"
|
156
|
+
enum :region, [:n, :ne, :e, :se, :s, :sw, :w, :nw]
|
157
|
+
end
|
@@ -43,7 +43,7 @@ shared_examples "persistence API" do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
context "that is saved in Datomic" do
|
46
|
-
before
|
46
|
+
before do
|
47
47
|
model.name = "Wilbur"
|
48
48
|
model.age = 2
|
49
49
|
model.save
|
@@ -65,20 +65,23 @@ shared_examples "persistence API" do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it "can find it by attribute" do
|
68
|
-
model2 = model_class.first(:name => "Wilbur")
|
68
|
+
model2 = model_class.first({:name => "Wilbur"}, nil, true)
|
69
69
|
model2.should_not be_nil
|
70
70
|
model2.dbid.should == model.dbid
|
71
|
-
model2.should == model
|
71
|
+
model2.should == model if model2.is_a? Rat
|
72
|
+
model2.should include(mode) if model2.is_a? Array
|
72
73
|
end
|
73
74
|
|
74
75
|
it "can find all matching conditions" do
|
75
|
-
mice = model_class.where(:name => "Wilbur").where(:age => 2).all
|
76
|
+
mice = model_class.where({:name => "Wilbur"}, nil, true).where(:age => 2).all
|
76
77
|
mice.should == [model]
|
78
|
+
mice.should include(model)
|
77
79
|
end
|
78
80
|
|
79
81
|
it "can filter entities" do
|
80
82
|
mice = model_class.filter(:<, :age, 3).all
|
81
83
|
mice.should == [model]
|
84
|
+
mice.should include(model)
|
82
85
|
|
83
86
|
mice = model_class.filter(:>, :age, 3).all
|
84
87
|
mice.should == []
|
@@ -86,7 +89,8 @@ shared_examples "persistence API" do
|
|
86
89
|
|
87
90
|
it "can find all" do
|
88
91
|
model_class.new(:name => "Smith", :age => 5).save
|
89
|
-
mice = model_class.all
|
92
|
+
mice = model_class.all(nil, true)
|
93
|
+
mice.should_not be_nil
|
90
94
|
mice.size.should == 2
|
91
95
|
names = ["Smith", "Wilbur"]
|
92
96
|
mice.each do |m|
|
metadata
CHANGED
@@ -1,164 +1,208 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diametric
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.0.4
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Clinton N. Dreisbach
|
9
8
|
- Ryan K. Neufeld
|
10
9
|
- Yoko Harada
|
11
|
-
autorequire:
|
10
|
+
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 2013-09-10 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
16
|
+
name: edn
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
22
|
-
|
21
|
+
version: 1.0.2
|
22
|
+
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
name: edn
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
26
25
|
requirements:
|
27
26
|
- - ~>
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
none: false
|
31
|
-
type: :runtime
|
28
|
+
version: 1.0.2
|
32
29
|
- !ruby/object:Gem::Dependency
|
30
|
+
name: activesupport
|
33
31
|
requirement: !ruby/object:Gem::Requirement
|
34
32
|
requirements:
|
35
|
-
- -
|
33
|
+
- - ~>
|
36
34
|
- !ruby/object:Gem::Version
|
37
|
-
version: 3.
|
38
|
-
|
35
|
+
version: 3.2.14
|
36
|
+
type: :runtime
|
39
37
|
prerelease: false
|
40
|
-
name: activesupport
|
41
38
|
version_requirements: !ruby/object:Gem::Requirement
|
42
39
|
requirements:
|
43
|
-
- -
|
40
|
+
- - ~>
|
44
41
|
- !ruby/object:Gem::Version
|
45
|
-
version: 3.
|
46
|
-
none: false
|
47
|
-
type: :runtime
|
42
|
+
version: 3.2.14
|
48
43
|
- !ruby/object:Gem::Dependency
|
44
|
+
name: activemodel
|
49
45
|
requirement: !ruby/object:Gem::Requirement
|
50
46
|
requirements:
|
51
|
-
- -
|
47
|
+
- - ~>
|
52
48
|
- !ruby/object:Gem::Version
|
53
|
-
version: 3.
|
54
|
-
|
49
|
+
version: 3.2.14
|
50
|
+
type: :runtime
|
55
51
|
prerelease: false
|
56
|
-
name: activemodel
|
57
52
|
version_requirements: !ruby/object:Gem::Requirement
|
58
53
|
requirements:
|
59
|
-
- -
|
54
|
+
- - ~>
|
60
55
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
62
|
-
none: false
|
63
|
-
type: :runtime
|
56
|
+
version: 3.2.14
|
64
57
|
- !ruby/object:Gem::Dependency
|
58
|
+
name: datomic-client
|
65
59
|
requirement: !ruby/object:Gem::Requirement
|
66
60
|
requirements:
|
67
61
|
- - ~>
|
68
62
|
- !ruby/object:Gem::Version
|
69
63
|
version: 0.4.1
|
70
|
-
|
64
|
+
type: :runtime
|
71
65
|
prerelease: false
|
72
|
-
name: datomic-client
|
73
66
|
version_requirements: !ruby/object:Gem::Requirement
|
74
67
|
requirements:
|
75
68
|
- - ~>
|
76
69
|
- !ruby/object:Gem::Version
|
77
70
|
version: 0.4.1
|
78
|
-
none: false
|
79
|
-
type: :runtime
|
80
71
|
- !ruby/object:Gem::Dependency
|
72
|
+
name: rubyzip
|
81
73
|
requirement: !ruby/object:Gem::Requirement
|
82
74
|
requirements:
|
83
75
|
- - ~>
|
84
76
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
86
|
-
|
77
|
+
version: 0.9.9
|
78
|
+
type: :runtime
|
87
79
|
prerelease: false
|
88
|
-
name: rspec
|
89
80
|
version_requirements: !ruby/object:Gem::Requirement
|
90
81
|
requirements:
|
91
82
|
- - ~>
|
92
83
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
94
|
-
none: false
|
95
|
-
type: :runtime
|
84
|
+
version: 0.9.9
|
96
85
|
- !ruby/object:Gem::Dependency
|
86
|
+
name: uuid
|
97
87
|
requirement: !ruby/object:Gem::Requirement
|
98
88
|
requirements:
|
99
|
-
- -
|
89
|
+
- - ~>
|
100
90
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
102
|
-
|
91
|
+
version: 2.3.7
|
92
|
+
type: :runtime
|
103
93
|
prerelease: false
|
104
|
-
name: lock_jar
|
105
94
|
version_requirements: !ruby/object:Gem::Requirement
|
106
95
|
requirements:
|
107
|
-
- -
|
96
|
+
- - ~>
|
108
97
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
|
98
|
+
version: 2.3.7
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: rspec
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ~>
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 2.14.1
|
111
106
|
type: :runtime
|
112
|
-
|
113
|
-
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ~>
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 2.14.1
|
113
|
+
description: ! 'Diametric is a library for building schemas, queries, and transactions
|
114
|
+
|
114
115
|
for Datomic from Ruby objects. It is also used to map Ruby objects
|
116
|
+
|
115
117
|
as entities into a Datomic database.
|
118
|
+
|
119
|
+
'
|
116
120
|
email:
|
117
121
|
- crnixon@gmail.com
|
118
122
|
- ryan@thinkrelevance.com
|
119
123
|
- yoko@thinkrelevance.com
|
120
|
-
executables:
|
124
|
+
executables:
|
125
|
+
- datomic-rest
|
126
|
+
- download-datomic
|
121
127
|
extensions:
|
122
128
|
- Rakefile
|
123
129
|
extra_rdoc_files: []
|
124
130
|
files:
|
125
131
|
- Gemfile
|
126
132
|
- Jarfile
|
127
|
-
- Jarfile.lock
|
128
133
|
- LICENSE.txt
|
129
134
|
- README.md
|
130
135
|
- Rakefile
|
136
|
+
- datomic_version.yml
|
131
137
|
- diametric.gemspec
|
132
|
-
- lib/
|
133
|
-
- lib/
|
138
|
+
- lib/boolean_type.rb
|
139
|
+
- lib/diametric/config/environment.rb
|
134
140
|
- lib/diametric/config.rb
|
135
141
|
- lib/diametric/entity.rb
|
136
142
|
- lib/diametric/errors.rb
|
137
|
-
- lib/diametric/persistence.rb
|
138
|
-
- lib/diametric/query.rb
|
139
|
-
- lib/diametric/railtie.rb
|
140
|
-
- lib/diametric/version.rb
|
141
|
-
- lib/diametric/config/environment.rb
|
142
143
|
- lib/diametric/generators/active_model.rb
|
143
144
|
- lib/diametric/persistence/common.rb
|
144
145
|
- lib/diametric/persistence/peer.rb
|
145
146
|
- lib/diametric/persistence/rest.rb
|
147
|
+
- lib/diametric/persistence.rb
|
148
|
+
- lib/diametric/query.rb
|
149
|
+
- lib/diametric/railtie.rb
|
150
|
+
- lib/diametric/rest_service.rb
|
151
|
+
- lib/diametric/service_base.rb
|
152
|
+
- lib/diametric/transactor.rb
|
153
|
+
- lib/diametric/version.rb
|
154
|
+
- lib/diametric.rb
|
155
|
+
- lib/diametric_service.jar
|
146
156
|
- lib/tasks/create_schema.rb
|
147
157
|
- lib/tasks/diametric_config.rb
|
148
|
-
-
|
149
|
-
-
|
150
|
-
-
|
158
|
+
- lib/value_enums.rb
|
159
|
+
- ext/diametric/DiametricCollection.java
|
160
|
+
- ext/diametric/DiametricConnection.java
|
161
|
+
- ext/diametric/DiametricDatabase.java
|
162
|
+
- ext/diametric/DiametricEntity.java
|
163
|
+
- ext/diametric/DiametricListenableFuture.java
|
164
|
+
- ext/diametric/DiametricObject.java
|
165
|
+
- ext/diametric/DiametricPeer.java
|
166
|
+
- ext/diametric/DiametricService.java
|
167
|
+
- ext/diametric/DiametricUtils.java
|
168
|
+
- ext/diametric/DiametricUUID.java
|
169
|
+
- spec/conf_helper.rb
|
170
|
+
- spec/config/free-transactor-template.properties
|
171
|
+
- spec/config/logback.xml
|
172
|
+
- spec/data/seattle-data0.dtm
|
173
|
+
- spec/data/seattle-data1.dtm
|
174
|
+
- spec/developer_create_sample.rb
|
175
|
+
- spec/developer_query_spec.rb
|
151
176
|
- spec/diametric/config_spec.rb
|
152
177
|
- spec/diametric/entity_spec.rb
|
153
|
-
- spec/diametric/
|
154
|
-
- spec/diametric/
|
178
|
+
- spec/diametric/peer_api_spec.rb
|
179
|
+
- spec/diametric/persistence/peer_many2many_spec.rb
|
155
180
|
- spec/diametric/persistence/peer_spec.rb
|
156
181
|
- spec/diametric/persistence/rest_spec.rb
|
182
|
+
- spec/diametric/persistence_spec.rb
|
183
|
+
- spec/diametric/query_spec.rb
|
184
|
+
- spec/diametric/rest_service_spec.rb
|
185
|
+
- spec/diametric/transactor_spec.rb
|
186
|
+
- spec/integration_spec.rb
|
187
|
+
- spec/parent_child_sample.rb
|
188
|
+
- spec/peer_integration_spec.rb
|
189
|
+
- spec/peer_seattle_spec.rb
|
190
|
+
- spec/rc2013_seattle_big.rb
|
191
|
+
- spec/rc2013_seattle_small.rb
|
192
|
+
- spec/rc2013_simple_sample.rb
|
193
|
+
- spec/seattle_integration_spec.rb
|
194
|
+
- spec/simple_validation_sample.rb
|
195
|
+
- spec/spec_helper.rb
|
196
|
+
- spec/support/entities.rb
|
157
197
|
- spec/support/gen_entity_class.rb
|
158
198
|
- spec/support/persistence_examples.rb
|
199
|
+
- spec/test_version_file.yml
|
200
|
+
- bin/datomic-rest
|
201
|
+
- bin/download-datomic
|
159
202
|
homepage: https://github.com/relevance/diametric
|
160
203
|
licenses: []
|
161
|
-
|
204
|
+
metadata: {}
|
205
|
+
post_install_message:
|
162
206
|
rdoc_options: []
|
163
207
|
require_paths:
|
164
208
|
- lib
|
@@ -166,31 +210,43 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
210
|
requirements:
|
167
211
|
- - ! '>='
|
168
212
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
170
|
-
MA==
|
171
|
-
none: false
|
213
|
+
version: '0'
|
172
214
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
215
|
requirements:
|
174
216
|
- - ! '>='
|
175
217
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
177
|
-
MA==
|
178
|
-
none: false
|
218
|
+
version: '0'
|
179
219
|
requirements: []
|
180
|
-
rubyforge_project:
|
181
|
-
rubygems_version:
|
182
|
-
signing_key:
|
183
|
-
specification_version:
|
220
|
+
rubyforge_project:
|
221
|
+
rubygems_version: 2.0.5
|
222
|
+
signing_key:
|
223
|
+
specification_version: 4
|
184
224
|
summary: ActiveModel for Datomic
|
185
225
|
test_files:
|
186
|
-
- spec/
|
187
|
-
- spec/
|
188
|
-
- spec/
|
226
|
+
- spec/conf_helper.rb
|
227
|
+
- spec/developer_create_sample.rb
|
228
|
+
- spec/developer_query_spec.rb
|
189
229
|
- spec/diametric/config_spec.rb
|
190
230
|
- spec/diametric/entity_spec.rb
|
191
|
-
- spec/diametric/
|
192
|
-
- spec/diametric/
|
231
|
+
- spec/diametric/peer_api_spec.rb
|
232
|
+
- spec/diametric/persistence/peer_many2many_spec.rb
|
193
233
|
- spec/diametric/persistence/peer_spec.rb
|
194
234
|
- spec/diametric/persistence/rest_spec.rb
|
235
|
+
- spec/diametric/persistence_spec.rb
|
236
|
+
- spec/diametric/query_spec.rb
|
237
|
+
- spec/diametric/rest_service_spec.rb
|
238
|
+
- spec/diametric/transactor_spec.rb
|
239
|
+
- spec/integration_spec.rb
|
240
|
+
- spec/parent_child_sample.rb
|
241
|
+
- spec/peer_integration_spec.rb
|
242
|
+
- spec/peer_seattle_spec.rb
|
243
|
+
- spec/rc2013_seattle_big.rb
|
244
|
+
- spec/rc2013_seattle_small.rb
|
245
|
+
- spec/rc2013_simple_sample.rb
|
246
|
+
- spec/seattle_integration_spec.rb
|
247
|
+
- spec/simple_validation_sample.rb
|
248
|
+
- spec/spec_helper.rb
|
249
|
+
- spec/support/entities.rb
|
195
250
|
- spec/support/gen_entity_class.rb
|
196
251
|
- spec/support/persistence_examples.rb
|
252
|
+
has_rdoc:
|